# interfaces(5) file used by ifup(8) and ifdown(8) {{ ansible_managed | comment }} auto lo iface lo inet loopback {% if network_interfaces is defined %} {% for netname,netif in network_interfaces.iteritems() %} ### {{ netname }} ### auto {{ netif.device }} {% if netif.hotplug | default(false) %} allow-hotplug {{ netif.device }} {% endif %} {% if netif.bridge is defined %} iface {{ netif.device }} inet manual bridge_ports {{ netif.bridge.ports | default(["none"]) | join(" ") }} bridge_stp {{ netif.bridge.stp | default(false) | ternary('on','off') }} {% endif %} {% for ipv4 in netif.ipv4 | default([]) %} iface {{ netif.device }} inet {{ ipv4.method }} {% if ipv4.method == "static" %} address {{ ipv4.address | ipv4('address') }} network {{ ipv4.address | ipv4('network') }} netmask {{ ipv4.address | ipv4('netmask') }} broadcast {{ ipv4.address | ipv4('broadcast') }} {% if ipv4.gateway is defined %} gateway {{ ipv4.gateway | ipv4('address') }} {% endif %} {% endif %} {% endfor %} {% for ipv6 in netif.ipv6 | default([]) %} iface {{ netif.device }} inet6 {{ ipv6.method }} {% if ipv6.method == "static" %} address {{ ipv6.address | ipv6('address') }} netmask {{ ipv6.address | ipv6('prefix') | default(128) }} {% if ipv6.gateway is defined %} {% if ( ( ipv6.address | ipv6('prefix') | int ) < 128 ) and ( ipv6.gateway | ipv6(ipv6.address) ) %} gateway {{ ipv6.gateway | ipv6('address') }} {% else %} post-up sleep 5; /sbin/ip -family inet6 route add {{ ipv6.gateway }} dev {{ netif.device }} post-up sleep 5; /sbin/ip -family inet6 route add default via {{ ipv6.gateway }} pre-down /sbin/ip -family inet6 route del default via {{ ipv6.gateway }} pre-down /sbin/ip -family inet6 route del {{ ipv6.gateway }} dev {{ netif.device }} {% endif %} {% endif %} {% endif %} {% endfor %} {% endfor %} {% endif %} # Include files from /etc/network/interfaces.d: source-directory /etc/network/interfaces.d