diff options
Diffstat (limited to 'roles/gateway/tasks/main.yml')
| -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" |
