diff --git a/plays/firewall.yml b/plays/firewall.yml index c2976feb11267628fbbd63b78322b3a50e29d6e4..24e1ff6806c84594051eff5fe616689536da08bd 100755 --- a/plays/firewall.yml +++ b/plays/firewall.yml @@ -10,6 +10,24 @@ roles: - arp-proxy +- hosts: crans_routeurs + vars: + subnets: + - name: infra + prefix: fd00:0:0:11::/64 + dns: + - fd00::11:0:ff:fe00:9911 + - name: adh + prefix: 2a0c:700:12::/64 + dns: + - 2a0c:700:12::ff:fe00:9912 + - name: adh_nat + prefix: 2a0c:700:13::/64 + dns: + - 2a0c:700:13::ff:fe00:9913 + roles: + - radvd + # Deploy firewall - hosts: crans_routeurs vars: diff --git a/roles/radvd/handlers/main.yml b/roles/radvd/handlers/main.yml new file mode 100644 index 0000000000000000000000000000000000000000..39552d747c80547d07e842482d3acd3f3850f2fc --- /dev/null +++ b/roles/radvd/handlers/main.yml @@ -0,0 +1,5 @@ +--- +- name: Restart radvd service + service: + name: radvd + state: restarted diff --git a/roles/radvd/tasks/main.yml b/roles/radvd/tasks/main.yml new file mode 100644 index 0000000000000000000000000000000000000000..65715038e19ec0a6883f0ff4f1c3b20047b11ac5 --- /dev/null +++ b/roles/radvd/tasks/main.yml @@ -0,0 +1,18 @@ +--- +- name: Install radvd + apt: + name: radvd + state: present + update_cache: true + register: apt_result + retries: 3 + until: apt_result is succeeded + +- name: Deploy radvd configuration + template: + src: radvd.conf.j2 + dest: /etc/radvd.conf + mode: 0644 + owner: root + group: root + notify: Restart radvd service diff --git a/roles/radvd/templates/radvd.conf.j2 b/roles/radvd/templates/radvd.conf.j2 new file mode 100644 index 0000000000000000000000000000000000000000..a13cef0b9ceff5808fb26116100fe0ba53ade84f --- /dev/null +++ b/roles/radvd/templates/radvd.conf.j2 @@ -0,0 +1,19 @@ +{% for subnet in subnets %} +interface {{ interfaces[subnet.name] }} { + AdvSendAdvert on; + AdvDefaultPreference high; + MaxRtrAdvInterval 30; + + prefix {{ subnet.prefix }} { + AdvRouterAddr on; + }; + + # La zone DNS + DNSSL {{ subnet.name | replace('_', '-') }}.crans.org {}; + + # Les DNS récursifs +{% for dns in subnet.dns %} + RDNSS {{ dns }} {}; +{% endfor %} +}; +{% endfor %}