aboutsummaryrefslogtreecommitdiff
path: root/roles/wireguard/tasks/main.yaml
diff options
context:
space:
mode:
authorKumar Damani <me@kumardamani.net>2022-08-23 16:02:28 +0000
committerKumar Damani <me@kumardamani.net>2022-09-07 20:15:37 +0000
commitc85806e3289b5e207d51d382f8dc75edad04404d (patch)
tree244d2f1ad38320863fb60f695c88c97799be1171 /roles/wireguard/tasks/main.yaml
parent4d34de2f5e757bfeae5738547aabb61d3d28a2f8 (diff)
switched to alpine initial commit
Diffstat (limited to 'roles/wireguard/tasks/main.yaml')
-rw-r--r--roles/wireguard/tasks/main.yaml38
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"'