ansible-edda/playbooks/roles/services/setup/user/templates/veth/ifupdown.d/01-veth0

38 lines
1.6 KiB
Bash
Executable File

#!/usr/bin/env bash
if [ ${MODE} == "start" ]
then
set -ue
elif [ ${MODE} == "stop" ]
then
set -u
else
echo "$(basename ${0}): mode must be one of either 'start' or 'stop'" 1>&2
exit 1
fi
case ${PHASE} in
"pre-up")
/usr/sbin/ip netns exec {{ services_service_user_name }} /usr/sbin/sysctl -q -w net.ipv6.conf.veth0.autoconf=0
/usr/sbin/ip -n {{ services_service_user_name }} -4 address add {{ services_service_iface_inet_address }}/{{ services_service_iface_inet_prefixlen }} dev veth0
/usr/sbin/ip -n {{ services_service_user_name }} -6 address add {{ services_service_iface_inet6_address }}/{{ services_service_iface_inet6_prefixlen }} dev veth0 nodad
;;
"post-up")
/usr/sbin/ip -n {{ services_service_user_name }} link set dev veth0 up
/usr/sbin/ip -n {{ services_service_user_name }} -4 route add default via {{ services_bridge_inet_gateway }} dev veth0
/usr/sbin/ip -n {{ services_service_user_name }} -6 route add default via {{ services_bridge_inet6_gateway }} dev veth0
;;
"pre-down")
/usr/sbin/ip -n {{ services_service_user_name }} -6 route del default via {{ services_bridge_inet6_gateway }} dev veth0
/usr/sbin/ip -n {{ services_service_user_name }} -4 route del default via {{ services_bridge_inet_gateway }} dev veth0
/usr/sbin/ip -n {{ services_service_user_name }} link set dev veth0 down
;;
"post-down")
/usr/sbin/ip -n {{ services_service_user_name }} -6 address flush dev veth0
/usr/sbin/ip -n {{ services_service_user_name }} -4 address flush dev veth0
;;
esac