16 changed files with 104 additions and 27 deletions
@ -1,8 +1,15 @@
|
||||
--- |
||||
interfaces: |
||||
enp0s3: |
||||
ipv4: 10.0.2.14 |
||||
netmaskv4: 24 |
||||
type: static |
||||
routes: |
||||
- {subnet: 0.0.0.0, netmask: 0, gateway: 10.0.2.1} |
||||
wg0: |
||||
ipv4: "{{ intranet.subnets.test.subnets.vm1.ipv4 }}" |
||||
netmaskv4: "{{ intranet.netmaskv4 }}" |
||||
type: wireguard |
||||
|
||||
ipv4_forwarding: false |
||||
ipv6_forwarding: false |
||||
|
@ -1,8 +1,15 @@
|
||||
--- |
||||
interfaces: |
||||
enp0s3: |
||||
ipv4: 10.0.2.16 |
||||
netmaskv4: 24 |
||||
type: static |
||||
routes: |
||||
- {subnet: 0.0.0.0, netmask: 0, gateway: 10.0.2.1} |
||||
wg0: |
||||
ipv4: "{{ intranet.subnets.test.subnets.vm2.ipv4 }}" |
||||
netmaskv4: "{{ intranet.netmaskv4 }}" |
||||
type: wireguard |
||||
|
||||
ipv4_forwarding: false |
||||
ipv6_forwarding: false |
||||
|
@ -1,8 +1,15 @@
|
||||
--- |
||||
interfaces: |
||||
enp0s3: |
||||
ipv4: 10.0.2.17 |
||||
netmaskv4: 24 |
||||
type: static |
||||
routes: |
||||
- {subnet: 0.0.0.0, netmask: 0, gateway: 10.0.2.1} |
||||
wg0: |
||||
ipv4: "{{ intranet.subnets.test.subnets.vm3.ipv4 }}" |
||||
netmaskv4: "{{ intranet.netmaskv4 }}" |
||||
type: wireguard |
||||
|
||||
ipv4_forwarding: false |
||||
ipv6_forwarding: false |
||||
|
@ -1,8 +1,15 @@
|
||||
--- |
||||
interfaces: |
||||
enp0s3: |
||||
ipv4: 10.0.2.32 |
||||
netmaskv4: 24 |
||||
type: static |
||||
routes: |
||||
- {subnet: 0.0.0.0, netmask: 0, gateway: 10.0.2.1} |
||||
wg0: |
||||
ipv4: "{{ intranet.subnets.test.subnets.vm4.ipv4 }}" |
||||
netmaskv4: "{{ intranet.netmaskv4 }}" |
||||
type: wireguard |
||||
|
||||
ipv4_forwarding: false |
||||
ipv6_forwarding: false |
||||
|
@ -0,0 +1,4 @@
|
||||
--- |
||||
- name: Reload network interfaces |
||||
become: true |
||||
command: /sbin/ifreload -a |
@ -0,0 +1,30 @@
|
||||
{{ ansible_managed | comment }} |
||||
|
||||
auto {{ item.key }} |
||||
{% if item.value.type == 'wireguard' %} |
||||
iface {{ item.key }} inet static |
||||
{% elif item.value.type == 'dhcp' %} |
||||
iface {{ item.key }} inet dhcp |
||||
{% elif item.value.type == 'static' %} |
||||
iface {{ item.key }} inet static |
||||
{% endif %} |
||||
{% if item.value.type == 'wireguard' %} |
||||
pre-up ip link add $IFACE type wireguard |
||||
pre-up wg setconf $IFACE /etc/wireguard/$IFACE.conf |
||||
{% endif %} |
||||
{% if 'routes' in item.value %} |
||||
{% for route in item.value.routes %} |
||||
post-up ip route add {{ route.subnet }}/{{ route.netmask }} via {{ route.gateway }} |
||||
{% endfor %} |
||||
{% endif %} |
||||
{% if 'ipv4' in item.value %} |
||||
address {{ item.value.ipv4 }}/{{ item.value.netmaskv4 }} |
||||
{% endif %} |
||||
{% if 'routes' in item.value %} |
||||
{% for route in item.value.routes %} |
||||
post-down ip route del {{ route.subnet }}/{{ route.netmask }} via {{ route.gateway }} |
||||
{% endfor %} |
||||
{% endif %} |
||||
{% if item.value.type == 'wireguard' %} |
||||
post-down ip link del $IFACE |
||||
{% endif %} |
@ -0,0 +1,3 @@
|
||||
{{ ansible_managed | comment }} |
||||
|
||||
source /etc/network/interfaces.d/* |
@ -1,9 +1,4 @@
|
||||
--- |
||||
# This is so uggly |
||||
- name: Restart wireguard for interface |
||||
systemd: |
||||
name: "wg-quick@{{ item.key }}" |
||||
state: restarted |
||||
loop: |
||||
- "{{ lookup('dict', vpn_interfaces) }}" |
||||
no_log: false |
||||
- name: Reload network interfaces |
||||
become: true |
||||
command: /sbin/ifreload -a |
||||
|
Loading…
Reference in new issue