summaryrefslogtreecommitdiffstats
path: root/roles/gateway/tasks/main.yml
diff options
context:
space:
mode:
Diffstat (limited to 'roles/gateway/tasks/main.yml')
-rw-r--r--roles/gateway/tasks/main.yml37
1 files changed, 37 insertions, 0 deletions
diff --git a/roles/gateway/tasks/main.yml b/roles/gateway/tasks/main.yml
index 661630f7..71484725 100644
--- a/roles/gateway/tasks/main.yml
+++ b/roles/gateway/tasks/main.yml
@@ -6,6 +6,7 @@
- "iptables"
- "iproute2"
- "udev"
+ - "radvd"
state: "present"
- name: "Configure IP forwarding"
@@ -67,3 +68,39 @@
name: "gateway-init.service"
enabled: "{{ gateway_enabled }}"
daemon_reload: true
+
+- name: "Configure radvd for IPv6 RA"
+ become: true
+ when: gateway_enabled and gateway_local_ipv6_subnet != ""
+ block:
+ - name: "Deploy radvd config"
+ 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 when no IPv6 subnet configured"
+ become: true
+ when: not gateway_enabled or gateway_local_ipv6_subnet == ""
+ block:
+ - name: "Stop and disable radvd"
+ ansible.builtin.systemd_service:
+ name: "radvd.service"
+ enabled: false
+ state: "stopped"
+ failed_when: false
+
+ - name: "Remove radvd config"
+ ansible.builtin.file:
+ path: "/etc/radvd.conf"
+ state: "absent"