--- - name: Basic Setup hosts: ele-mur roles: - role: core/base - role: core/sshd - role: core/zsh - role: apt-repo/base post_tasks: - name: install interface config for guest vlan copy: content: | auto funkfeuer0 iface funkfeuer0 inet static address {{ network_zones.murat_transfer.prefix | ipaddr(network_zones.murat_transfer.offsets[inventory_hostname]) | ipaddr('address/prefix') }} up ip route add {{ network_zones.funkfeuer.prefix | ipaddr('network/prefix') }} via {{ network_zones.murat_transfer.prefix | ipaddr(network_zones.murat_transfer.offsets['ele-tub']) | ipaddr('address') }} up iptables -t nat -A POSTROUTING -s {{ network_zones.funkfeuer.prefix | ipaddr('network/prefix') }} -o {{ ansible_default_ipv4.interface }} -j SNAT --to {{ ansible_default_ipv4.address }} up sysctl net.ipv4.ip_forward=1 down iptables -t nat -D POSTROUTING -s {{ network_zones.funkfeuer.prefix | ipaddr('network/prefix') }} -o {{ ansible_default_ipv4.interface }} -j SNAT --to {{ ansible_default_ipv4.address }} down ip route del {{ network_zones.funkfeuer.prefix | ipaddr('network/prefix') }} via {{ network_zones.murat_transfer.prefix | ipaddr(network_zones.murat_transfer.offsets['ele-tub']) | ipaddr('address') }} dest: /etc/network/interfaces.d/funkfeuer0