# This file describes the network interfaces available on your system # and how to activate them. For more information, see interfaces(5). source /etc/network/interfaces.d/* # The loopback network interface auto lo iface lo inet loopback {% for interface in network_cooked.interfaces %} auto {{ interface.name }} iface {{ interface.name }} inet static pre-up echo 0 > /proc/sys/net/ipv6/conf/$IFACE/accept_ra pre-up echo 0 > /proc/sys/net/ipv6/conf/$IFACE/autoconf address {{ interface.address | ipaddr('address') }} netmask {{ interface.address | ipaddr('netmask') }} {% if 'overlay' in interface %} up /bin/ip addr add dev $IFACE {{ interface.overlay }}/32 {% for route in interface.static_routes | default([]) %} up /bin/ip route add {{ route.destination }} via {{ route.gateway }} src {{ interface.overlay }} {% endfor %} {% if 'gateway' in interface %} up /bin/ip route add default via {{ interface.gateway }} src {{ interface.overlay }} down /bin/ip route del default via {{ interface.gateway }} src {{ interface.overlay }} {% for route in interface.static_routes | default([]) | reverse %} down /bin/ip route del {{ route.destination }} via {{ route.gateway }} src {{ interface.overlay }} {% endfor %} {% endif %} down /bin/ip addr del dev $IFACE {{ interface.overlay }}/32 {% else %} {% if 'gateway' in interface %} gateway {{ interface.gateway }} {% endif %} {% for route in interface.static_routes | default([]) %} up /bin/ip route add {{ route.destination }} via {{ route.gateway }} {% endfor %} {% for route in interface.static_routes | default([]) | reverse %} down /bin/ip route del {{ route.destination }} via {{ route.gateway }} {% endfor %} {% endif %} {% if 'address6' in interface %} iface {{ interface.name }} inet6 static address {{ interface.address6 }} {% if 'gateway6' in interface %} gateway {{ interface.gateway6 }} {% endif %} {% for route in interface.static_routes6 | default([]) %} up /bin/ip -6 route add {{ route.destination }} via {{ route.gateway }} {% endfor %} {% for route in interface.static_routes6 | default([]) | reverse %} down /bin/ip -6 route del {{ route.destination }} via {{ route.gateway }} {% endfor %} {% endif %} {% endfor %}