diff options
| author | Ahmed Abdelhalim <[email protected]> | 2026-07-08 03:15:11 +0200 |
|---|---|---|
| committer | Ahmed Abdelhalim <[email protected]> | 2026-07-08 03:15:11 +0200 |
| commit | bb0abab8308256c028c29e3732e53ef211cad613 (patch) | |
| tree | b17b2b27eb8757f510f4daa2b45562b28a932061 /roles/gateway/tasks | |
| parent | 4a421249a8972c35cc6728cef7eed10e79419bbf (diff) | |
Implement a working ipv6 on gateway
Diffstat (limited to 'roles/gateway/tasks')
| -rw-r--r-- | roles/gateway/tasks/main.yml | 37 |
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" |
