diff options
Diffstat (limited to 'roles/wireguard/tasks')
| -rw-r--r-- | roles/wireguard/tasks/main.yaml | 38 |
1 files changed, 34 insertions, 4 deletions
diff --git a/roles/wireguard/tasks/main.yaml b/roles/wireguard/tasks/main.yaml index d7e1e51..c3f0942 100644 --- a/roles/wireguard/tasks/main.yaml +++ b/roles/wireguard/tasks/main.yaml @@ -1,20 +1,35 @@ # https://dev.to/tangramvision/exploring-ansible-via-setting-up-a-wireguard-vpn-3389 --- -- name: 'install wireguard package' +- block: + - name: 'Install necessary pkgs for Alpine' + apk: + name: '{{ item }}' + state: 'latest' + loop: + - 'iptables' + - 'wireguard-tools' + + - name: 'Enable iptables' + service: + name: 'iptables' + enabled: true + when: 'ansible_os_family == "Alpine"' + +- name: 'Install wireguard package for Debian' apt: name: 'wireguard' state: 'present' update_cache: true + when: 'ansible_os_family == "Debian"' -- name: 'create server wireguard config' +- name: 'Create server wireguard config' template: dest: '/etc/wireguard/wg0.conf' src: 'wg0.conf.j2' owner: 'root' group: 'root' mode: '600' - notify: 'restart wireguard' - name: 'Enable IP Forwarding' sysctl: @@ -31,8 +46,23 @@ - sysctl_key: 'net.ipv6.conf.all.forwarding' sysctl_val: "1" -- name: 'start wireguard and enable on boot' +- name: 'Start wireguard and enable on boot in Debian' systemd: name: 'wg-quick@wg0' state: 'started' enabled: true + when: 'ansible_os_family == "Debian"' + +- name: 'Ensure that wireguard interface starts on boot in Alpine' + blockinfile: + path: '/etc/network/interfaces' + block: | + auto wg0 + iface wg0 inet static + requires eth0 + address 192.168.10.1 + pre-up ip link add dev wg0 type wireguard + pre-up wg setconf wg0 <(wg-quick strip wg0) + post-up iptables -A FORWARD -i wg0 -j ACCEPT; iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE;iptables -A FORWARD -o wg0 -j ACCEPT + post-down iptables -D FORWARD -i wg0 -j ACCEPT; iptables -t nat -D POSTROUTING -o eth0 -j MASQUERADE;iptables -D FORWARD -o wg0 -j ACCEPT + when: 'ansible_os_family == "Alpine"' |
