blob: 6684bb9af1fda9fb423871338986f2e73e9e3425 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
|
---
- name: "Ensure gateway packages are installed"
become: true
ansible.builtin.package:
name:
- "iptables"
- "iproute2"
- "udev"
- "radvd"
state: "present"
- name: "Configure IP forwarding"
become: true
ansible.builtin.template:
src: "99-gateway.conf.j2"
dest: "/etc/sysctl.d/99-gateway.conf"
owner: "root"
group: "root"
mode: "0644"
notify: "Reload sysctl"
- name: "Deploy gateway apply rules script"
become: true
ansible.builtin.template:
src: "gateway-apply-rules.sh.j2"
dest: "/usr/local/bin/gateway-apply-rules"
mode: "0755"
owner: "root"
group: "root"
- name: "Deploy udev rules for WireGuard interface events"
become: true
ansible.builtin.template:
src: "99-wireguard-gateway.rules.j2"
dest: "/etc/udev/rules.d/99-wireguard-gateway.rules"
mode: "0644"
owner: "root"
group: "root"
notify: "Reload udev"
- name: "Deploy gateway VPN mode systemd service"
become: true
ansible.builtin.template:
src: "gateway-vpn-mode.service.j2"
dest: "/etc/systemd/system/gateway-vpn-mode.service"
mode: "0644"
notify: "Reload systemd"
- name: "Deploy gateway direct mode systemd service"
become: true
ansible.builtin.template:
src: "gateway-direct-mode.service.j2"
dest: "/etc/systemd/system/gateway-direct-mode.service"
mode: "0644"
notify: "Reload systemd"
- name: "Deploy gateway init systemd service"
become: true
ansible.builtin.template:
src: "gateway-init.service.j2"
dest: "/etc/systemd/system/gateway-init.service"
mode: "0644"
notify: "Reload systemd"
- name: "Enable gateway init service"
become: true
ansible.builtin.systemd_service:
name: "gateway-init.service"
enabled: "{{ gateway_enabled }}"
daemon_reload: true
- name: "Configure radvd for IPv6 gateway"
become: true
when: network_ipv6_address is defined
block:
- name: "Configure radvd"
ansible.builtin.template:
src: "radvd.conf.j2"
dest: "/etc/radvd.conf"
owner: "root"
group: "root"
mode: "0644"
notify: "Restart radvd"
- name: "Enable radvd service"
ansible.builtin.systemd_service:
name: "radvd.service"
enabled: true
state: "started"
daemon_reload: true
- name: "Disable radvd (no IPv6)"
become: true
when: network_ipv6_address is not defined
block:
- name: "Disable radvd service"
ansible.builtin.systemd_service:
name: "radvd.service"
enabled: false
state: "stopped"
- name: "Remove radvd config"
ansible.builtin.file:
path: "/etc/radvd.conf"
state: "absent"
|