ansible/playbooks/bird.yml
2022-12-21 21:02:12 +01:00

141 lines
3.4 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.136.0.1
isp-2.rtr.infra.auro.re: 10.136.0.2
bird__router_id: "{{ bird__router_ids[inventory_hostname] }}"
bird__ospf_broadcast_interfaces:
ens20: null
bird__ospf_stub_interfaces:
- client-0
- client-1
- client-2
- client-3
- client-4
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::127
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.136.1.1
edge-2.rtr.infra.auro.re: 10.136.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
bird__router_id: "{{ bird__router_ids[inventory_hostname] }}"
bird__bgp_sessions:
- 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:
accept: all
export:
accept:
- prefix: "{{ ['aurore', 'crans', 'viarezo']
| map('extract', bird__orig_prefixes)
| flatten }}"
sub: true
- 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:
accept:
- prefix: "{{ bird__orig_prefixes.crans }}"
sub: true
export:
accept: all
- 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:
local_pref:
- prefix: "{{ bird__orig_prefixes.viarezo }}"
sub: true
negate: true
pref: 50
accept: all
export:
as_prepend:
- prefix: "{{ bird__orig_prefixes.aurore }}"
size: 3
accept: all
bird__static_unreachable:
- 45.66.108.0/22
- 2a09:6840::/29
roles:
- bird
...