377 lines
9.6 KiB
YAML
Executable file
377 lines
9.6 KiB
YAML
Executable file
#!/usr/bin/env ansible-playbook
|
|
---
|
|
- hosts:
|
|
- isp-1.rtr.infra.auro.re
|
|
- isp-2.rtr.infra.auro.re
|
|
vars:
|
|
bird__router_ids:
|
|
isp-1.rtr.infra.auro.re: 10.203.1.5
|
|
isp-2.rtr.infra.auro.re: 10.203.1.6
|
|
bird__router_id: "{{ bird__router_ids[inventory_hostname] }}"
|
|
bird__radv_interfaces:
|
|
client-0:
|
|
prefix:
|
|
- 2a09:6841::/56
|
|
domain_search:
|
|
- client-0.isp.auro.re
|
|
client-1:
|
|
prefix:
|
|
- 2a09:6841:0:100::/56
|
|
domain_search:
|
|
- client-1.isp.auro.re
|
|
client-2:
|
|
prefix:
|
|
- 2a09:6841:0:200::/56
|
|
domain_search:
|
|
- client-2.isp.auro.re
|
|
client-3:
|
|
prefix:
|
|
- 2a09:6841:0:300::/56
|
|
domain_search:
|
|
- client-3.isp.auro.re
|
|
client-4:
|
|
prefix:
|
|
- 2a09:6841:0:400::/56
|
|
domain_search:
|
|
- client-4.isp.auro.re
|
|
bird__radv_dns_servers:
|
|
- 2a09:6840:128::10:3
|
|
bird__asn:
|
|
aurore: 43619
|
|
bird__bgp_addresses:
|
|
isp-1.rtr.infra.auro.re:
|
|
- 2a09:6840:203:1:5::1
|
|
- 10.203.1.5
|
|
isp-2.rtr.infra.auro.re:
|
|
- 2a09:6840:203:1:6::1
|
|
- 10.203.1.6
|
|
bird__bgp_sessions:
|
|
- name: edge1
|
|
local:
|
|
address: "{{ bird__bgp_addresses[inventory_hostname] }}"
|
|
as: "{{ bird__asn.aurore }}"
|
|
remote:
|
|
address:
|
|
- 2a09:6840:203:1:1::1
|
|
- 10.203.1.1
|
|
as: "{{ bird__asn.aurore }}"
|
|
import:
|
|
- accept: true
|
|
export:
|
|
- accept: false
|
|
- name: edge2
|
|
local:
|
|
address: "{{ bird__bgp_addresses[inventory_hostname] }}"
|
|
as: "{{ bird__asn.aurore }}"
|
|
remote:
|
|
address:
|
|
- 2a09:6840:203:1:2::1
|
|
- 10.203.1.2
|
|
as: "{{ bird__asn.aurore }}"
|
|
import:
|
|
- accept: true
|
|
export:
|
|
- accept: false
|
|
bird__ospf_broadcast_interfaces:
|
|
ens19: null
|
|
bird__ospf_stub_interfaces:
|
|
- clients-0
|
|
- clients-1
|
|
- clients-2
|
|
- clients-3
|
|
- clients-4
|
|
roles:
|
|
- bird
|
|
|
|
- hosts:
|
|
- infra-1.rtr.infra.auro.re
|
|
- infra-2.rtr.infra.auro.re
|
|
vars:
|
|
bird__router_ids:
|
|
infra-1.rtr.infra.auro.re: 10.203.1.3
|
|
infra-2.rtr.infra.auro.re: 10.203.1.4
|
|
bird__router_id: "{{ bird__router_ids[inventory_hostname] }}"
|
|
bird__ospf_broadcast_interfaces:
|
|
ens19: null
|
|
bird__ospf_stub_interfaces:
|
|
- ens20
|
|
- ens21
|
|
- ens22
|
|
- ens23
|
|
- enp2s1
|
|
- enp2s2
|
|
- enp2s3
|
|
bird__asn:
|
|
aurore: 43619
|
|
bird__bgp_addresses:
|
|
infra-1.rtr.infra.auro.re:
|
|
- 2a09:6840:203:1:3::1
|
|
- 10.203.1.3
|
|
infra-2.rtr.infra.auro.re:
|
|
- 2a09:6840:203:1:4::1
|
|
- 10.203.1.4
|
|
bird__bgp_sessions:
|
|
- name: edge1
|
|
local:
|
|
address: "{{ bird__bgp_addresses[inventory_hostname] }}"
|
|
as: "{{ bird__asn.aurore }}"
|
|
remote:
|
|
address:
|
|
- 2a09:6840:203:1:1::1
|
|
- 10.203.1.1
|
|
as: "{{ bird__asn.aurore }}"
|
|
import:
|
|
- accept: true
|
|
export:
|
|
- accept: false
|
|
- name: edge2
|
|
local:
|
|
address: "{{ bird__bgp_addresses[inventory_hostname] }}"
|
|
as: "{{ bird__asn.aurore }}"
|
|
remote:
|
|
address:
|
|
- 2a09:6840:203:1:2::1
|
|
- 10.203.1.2
|
|
as: "{{ bird__asn.aurore }}"
|
|
import:
|
|
- accept: true
|
|
export:
|
|
- accept: false
|
|
roles:
|
|
- bird
|
|
|
|
- hosts:
|
|
- edge-1.rtr.infra.auro.re
|
|
- edge-2.rtr.infra.auro.re
|
|
vars:
|
|
bird__router_ids:
|
|
edge-1.rtr.infra.auro.re: 10.203.1.1
|
|
edge-2.rtr.infra.auro.re: 10.203.1.2
|
|
bird__asn:
|
|
aurore: 43619
|
|
crans: 204515
|
|
zayo: 8218
|
|
viarezo: 212424
|
|
bird__orig_prefixes:
|
|
aurore:
|
|
- 45.66.108.0/22
|
|
- 2a09:6840::/29
|
|
crans:
|
|
- 185.230.76.0/22
|
|
- 2a0c:700::/32
|
|
viarezo:
|
|
- 138.195.144.0/20
|
|
- 192.159.121.0/24
|
|
- 2a0c:b641:2f0::/44
|
|
martians:
|
|
- 10.0.0.0/8
|
|
- 172.16.0.0/12
|
|
- 192.168.0.0/16
|
|
- 100.64.0.0/10
|
|
- 127.0.0.0/8
|
|
- 169.254.0.0/16
|
|
- 192.0.0.0/24
|
|
- 192.0.2.0/24
|
|
- 198.18.0.0/15
|
|
- 198.51.100.0/24
|
|
- 203.0.113.0/24
|
|
- 224.0.0.0/4
|
|
- 240.0.0.0/4
|
|
- ::/128
|
|
- ::1/128
|
|
- ::ffff:0:0/96
|
|
- ::/96
|
|
- 100::/64
|
|
- 2001:10::/28
|
|
- 2001:db8::/32
|
|
- fc00::/7
|
|
- fe80::/10
|
|
- fec0::/10
|
|
- ff00::/8
|
|
bird__router_id: "{{ bird__router_ids[inventory_hostname] }}"
|
|
bird__bgp_addresses:
|
|
edge-1.rtr.infra.auro.re:
|
|
- 2a09:6840:203:1:1::1
|
|
- 10.203.1.1
|
|
edge-2.rtr.infra.auro.re:
|
|
- 2a09:6840:203:1:2::1
|
|
- 10.203.1.2
|
|
bird__bgp_sessions:
|
|
- name: edge
|
|
local:
|
|
address: "{{ bird__bgp_addresses[inventory_hostname] }}"
|
|
as: "{{ bird__asn.aurore }}"
|
|
remote:
|
|
address: "{{ bird__bgp_addresses
|
|
| dict2items
|
|
| selectattr('key', '!=', inventory_hostname)
|
|
| map(attribute='value')
|
|
| first }}"
|
|
as: "{{ bird__asn.aurore }}"
|
|
import:
|
|
- accept: true
|
|
export:
|
|
- accept: true
|
|
- name: infra1
|
|
local:
|
|
address: "{{ bird__bgp_addresses[inventory_hostname] }}"
|
|
as: "{{ bird__asn.aurore }}"
|
|
remote:
|
|
address:
|
|
- 2a09:6840:203:1:3::1
|
|
- 10.203.1.3
|
|
as: "{{ bird__asn.aurore }}"
|
|
import:
|
|
- accept: false
|
|
export:
|
|
- bgp_proto:
|
|
- crans
|
|
- viarezo
|
|
- zayo
|
|
accept: true
|
|
- accept: false
|
|
- name: infra2
|
|
local:
|
|
address: "{{ bird__bgp_addresses[inventory_hostname] }}"
|
|
as: "{{ bird__asn.aurore }}"
|
|
remote:
|
|
address:
|
|
- 2a09:6840:203:1:4::1
|
|
- 10.203.1.4
|
|
as: "{{ bird__asn.aurore }}"
|
|
import:
|
|
- accept: false
|
|
export:
|
|
- bgp_proto:
|
|
- crans
|
|
- viarezo
|
|
- zayo
|
|
accept: true
|
|
- accept: false
|
|
- name: isp1
|
|
local:
|
|
address: "{{ bird__bgp_addresses[inventory_hostname] }}"
|
|
as: "{{ bird__asn.aurore }}"
|
|
remote:
|
|
address:
|
|
- 2a09:6840:203:1:5::1
|
|
- 10.203.1.5
|
|
as: "{{ bird__asn.aurore }}"
|
|
import:
|
|
- accept: false
|
|
export:
|
|
- bgp_proto:
|
|
- crans
|
|
- viarezo
|
|
- zayo
|
|
accept: true
|
|
- accept: false
|
|
- name: isp2
|
|
local:
|
|
address: "{{ bird__bgp_addresses[inventory_hostname] }}"
|
|
as: "{{ bird__asn.aurore }}"
|
|
remote:
|
|
address:
|
|
- 2a09:6840:203:1:6::1
|
|
- 10.203.1.6
|
|
as: "{{ bird__asn.aurore }}"
|
|
import:
|
|
- accept: false
|
|
export:
|
|
- bgp_proto:
|
|
- crans
|
|
- viarezo
|
|
- zayo
|
|
accept: true
|
|
- accept: false
|
|
- name: zayo
|
|
local:
|
|
address:
|
|
- 83.167.52.69
|
|
- 2001:1b48:2:103::d7:2
|
|
as: "{{ bird__asn.aurore }}"
|
|
remote:
|
|
address:
|
|
- 83.167.52.68
|
|
- 2001:1b48:2:103::d7:1
|
|
as: "{{ bird__asn.zayo }}"
|
|
import:
|
|
- prefix: "{{ bird__orig_prefixes.martians }}"
|
|
accept: false
|
|
- accept: true
|
|
export:
|
|
- prefix: "{{ ['aurore', 'crans', 'viarezo']
|
|
| map('extract', bird__orig_prefixes)
|
|
| flatten }}"
|
|
sub: true
|
|
accept: true
|
|
- accept: false
|
|
- name: crans
|
|
local:
|
|
address:
|
|
- 185.230.79.254
|
|
- 2a0c:700:28::2
|
|
as: "{{ bird__asn.aurore }}"
|
|
remote:
|
|
address:
|
|
- 185.230.79.253
|
|
- 2a0c:700:28::1
|
|
as: "{{ bird__asn.crans }}"
|
|
import:
|
|
- prefix: "{{ bird__orig_prefixes.martians }}"
|
|
accept: false
|
|
- prefix: "{{ bird__orig_prefixes.crans }}"
|
|
sub: true
|
|
accept: true
|
|
- accept: false
|
|
export:
|
|
- bgp_proto:
|
|
- viarezo
|
|
- zayo
|
|
accept: true
|
|
- prefix: "{{ bird__orig_prefixes.aurore }}"
|
|
sub: true
|
|
accept: true
|
|
- accept: false
|
|
- name: viarezo
|
|
local:
|
|
address:
|
|
- 192.159.121.134
|
|
- 2a0c:b641:2ff::6
|
|
as: "{{ bird__asn.aurore }}"
|
|
remote:
|
|
address:
|
|
- 192.159.121.133
|
|
- 2a0c:b641:2ff::5
|
|
as: "{{ bird__asn.viarezo }}"
|
|
import:
|
|
- prefix: "{{ bird__orig_prefixes.martians }}"
|
|
accept: false
|
|
- prefix: "{{ bird__orig_prefixes.viarezo }}"
|
|
sub: true
|
|
negate: true
|
|
local_pref: 50
|
|
- accept: true
|
|
export:
|
|
- prefix: "{{ bird__orig_prefixes.aurore }}"
|
|
as_prepend:
|
|
asn: "{{ bird__asn.aurore }}"
|
|
size: 5
|
|
- bgp_proto:
|
|
- crans
|
|
- zayo
|
|
accept: true
|
|
- prefix: "{{ bird__orig_prefixes.aurore }}"
|
|
sub: true
|
|
accept: true
|
|
- accept: false
|
|
bird__ospf_broadcast_interfaces:
|
|
ens22: null
|
|
bird__ospf_stub_interfaces:
|
|
- ens19
|
|
- ens20
|
|
- ens21
|
|
bird__static_unreachable: "{{ bird__orig_prefixes.aurore }}"
|
|
roles:
|
|
- bird
|
|
...
|