410 lines
10 KiB
YAML
Executable file
410 lines
10 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:
|
|
client0:
|
|
prefix:
|
|
- 2a09:6841::/56
|
|
domain_search:
|
|
- client0.isp.auro.re
|
|
client1:
|
|
prefix:
|
|
- 2a09:6841:0:100::/56
|
|
domain_search:
|
|
- client1.isp.auro.re
|
|
client2:
|
|
prefix:
|
|
- 2a09:6841:0:200::/56
|
|
domain_search:
|
|
- client2.isp.auro.re
|
|
client3:
|
|
prefix:
|
|
- 2a09:6841:0:300::/56
|
|
domain_search:
|
|
- client3.isp.auro.re
|
|
client4:
|
|
prefix:
|
|
- 2a09:6841:0:400::/56
|
|
domain_search:
|
|
- client4.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:
|
|
back0: null
|
|
bird__ospf_stub_interfaces:
|
|
- client0
|
|
- client1
|
|
- client2
|
|
- client3
|
|
- client4
|
|
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:
|
|
back0: null
|
|
bird__ospf_stub_interfaces:
|
|
- monit0
|
|
- wifi0
|
|
- int0
|
|
- pub0
|
|
- bmc0
|
|
- pve0
|
|
- isp0
|
|
- mgmt0
|
|
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
|
|
rezel: 199116
|
|
bird__orig_prefixes:
|
|
aurore:
|
|
- 45.66.108.0/22
|
|
- 2a09:6840::/32
|
|
- 2a09:6841::/32
|
|
crans:
|
|
- 185.230.76.0/22
|
|
- 2a0c:700::/32
|
|
viarezo:
|
|
- 138.195.144.0/20
|
|
- 192.159.121.0/24
|
|
- 2a0c:b641:2f0::/44
|
|
rezel:
|
|
- 137.194.8.0/22
|
|
- 2a09:6847::/32
|
|
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:
|
|
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
|
|
legacy:
|
|
edge-1.rtr.infra.auro.re:
|
|
- 2a09:6840:129::10:2
|
|
- 10.129.10.2
|
|
edge-2.rtr.infra.auro.re:
|
|
- 2a09:6840:129::10:102
|
|
- 10.129.10.102
|
|
bird__bgp_sessions:
|
|
- name: edge
|
|
local:
|
|
address: "{{ bird__bgp_addresses.edge[inventory_hostname] }}"
|
|
as: "{{ bird__asn.aurore }}"
|
|
remote:
|
|
address: "{{ bird__bgp_addresses.edge
|
|
| dict2items
|
|
| selectattr('key', '!=', inventory_hostname)
|
|
| map(attribute='value')
|
|
| first }}"
|
|
as: "{{ bird__asn.aurore }}"
|
|
import:
|
|
- accept: true
|
|
export:
|
|
- local_pref: 75
|
|
accept: true
|
|
- name: legacy
|
|
next_hop_self: true
|
|
local:
|
|
address: "{{ bird__bgp_addresses.legacy[inventory_hostname] }}"
|
|
as: "{{ bird__asn.aurore }}"
|
|
remote:
|
|
address:
|
|
- 2a09:6840:129::240
|
|
- 10.129.0.240
|
|
as: "{{ bird__asn.aurore }}"
|
|
import:
|
|
#- prefix: "{{ bird__orig_prefixes.aurore }}"
|
|
# sub: true
|
|
# accept: true
|
|
- accept: false
|
|
export:
|
|
- bgp_proto:
|
|
- crans
|
|
- zayo
|
|
accept: true
|
|
- accept: false
|
|
# - 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 }}"
|
|
sub: true
|
|
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.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: viarezo1
|
|
# 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
|
|
# - accept: false
|
|
bird__ospf_broadcast_interfaces:
|
|
back0: null
|
|
bird__ospf_stub_interfaces:
|
|
- crans0
|
|
- zayo0
|
|
- rezel0
|
|
- viarezo0
|
|
bird__static_unreachable: "{{ bird__orig_prefixes.aurore }}"
|
|
roles:
|
|
- bird
|
|
...
|