Add files
This commit is contained in:
commit
15b63b8952
6 changed files with 129 additions and 0 deletions
1
.gitignore
vendored
Normal file
1
.gitignore
vendored
Normal file
|
@ -0,0 +1 @@
|
|||
.*.swp
|
40
collector.conf
Normal file
40
collector.conf
Normal file
|
@ -0,0 +1,40 @@
|
|||
protocol bgp ROUTE_COLLECTOR
|
||||
{
|
||||
local as OWNAS;
|
||||
neighbor fd42:4242:2601:ac12::1 as 4242422602;
|
||||
|
||||
# enable multihop as the collector is not locally connected
|
||||
multihop;
|
||||
|
||||
ipv4 {
|
||||
# export all available paths to the collector
|
||||
add paths tx;
|
||||
|
||||
# import/export filters
|
||||
import none;
|
||||
export filter {
|
||||
# export all valid routes
|
||||
if ( is_valid_network() && source ~ [ RTS_STATIC, RTS_BGP ] )
|
||||
then {
|
||||
accept;
|
||||
}
|
||||
reject;
|
||||
};
|
||||
};
|
||||
|
||||
ipv6 {
|
||||
# export all available paths to the collector
|
||||
add paths tx;
|
||||
|
||||
# import/export filters
|
||||
import none;
|
||||
export filter {
|
||||
# export all valid routes
|
||||
if ( is_valid_network_v6() && source ~ [ RTS_STATIC, RTS_BGP ] )
|
||||
then {
|
||||
accept;
|
||||
}
|
||||
reject;
|
||||
};
|
||||
};
|
||||
}
|
24
int-bgp.j2
Normal file
24
int-bgp.j2
Normal file
|
@ -0,0 +1,24 @@
|
|||
template bgp intpeers {
|
||||
local as OWNAS;
|
||||
|
||||
ipv4 {
|
||||
import where source = RTS_BGP && is_valid_network() && !is_self_net();
|
||||
export where source = RTS_BGP && is_valid_network() && !is_self_net();
|
||||
next hop self;
|
||||
add paths yes;
|
||||
};
|
||||
|
||||
ipv6 {
|
||||
import where source = RTS_BGP && is_valid_network_v6() && !is_self_net_v6();
|
||||
export where source = RTS_BGP && is_valid_network_v6() && !is_self_net_v6();
|
||||
next hop self;
|
||||
add paths yes;
|
||||
};
|
||||
}
|
||||
{% for host in groups['routers'] %}
|
||||
{% if host != inventory_hostname %}
|
||||
protocol bgp int_{{ hostvars[host]['pop_loc'] }} from intpeers {
|
||||
neighbor {{ hostvars[host]['unicastv6'] }} as OWNAS;
|
||||
}
|
||||
{% endif %}
|
||||
{% endfor %}
|
38
inventory.yml
Normal file
38
inventory.yml
Normal file
|
@ -0,0 +1,38 @@
|
|||
all:
|
||||
children:
|
||||
routers:
|
||||
nameservers:
|
||||
routers:
|
||||
hosts:
|
||||
us1.routers.9pfs.dn42:
|
||||
ansible_python_interpreter: "/usr/bin/python3"
|
||||
unicastv6: fd32:6b0:70a6:179::1
|
||||
machine_type: vm
|
||||
pop_loc: us01
|
||||
us2.routers.9pfs.dn42:
|
||||
ansible_python_interpreter: "/usr/bin/python3"
|
||||
machine_type: container
|
||||
unicastv6: fd32:6b0:70a6:179::2
|
||||
pop_loc: us02
|
||||
us3.routers.9pfs.dn42:
|
||||
ansible_python_interpreter: "/usr/bin/python3"
|
||||
machine_type: container
|
||||
unicastv6: fd32:6b0:70a6:179::4
|
||||
pop_loc: us03
|
||||
uk1.routers.9pfs.dn42:
|
||||
ansible_python_interpreter: "/usr/bin/python3"
|
||||
machine_type: container
|
||||
unicastv6: fd32:6b0:70a6:179::3
|
||||
pop_loc: uk01
|
||||
services:
|
||||
hosts:
|
||||
mail.9pfs.dn42:
|
||||
ansible_python_interpreter: "/usr/bin/python3"
|
||||
machine_type: vm
|
||||
children:
|
||||
nameservers:
|
||||
nameservers:
|
||||
hosts:
|
||||
us1.ns.9pfs.dn42:
|
||||
machine_type: container
|
||||
us2.ns.9pfs.dn42:
|
17
update-bgp.yml
Normal file
17
update-bgp.yml
Normal file
|
@ -0,0 +1,17 @@
|
|||
- hosts: routers
|
||||
remote_user: root
|
||||
tasks:
|
||||
- name: add internal bgp peers
|
||||
template:
|
||||
src: int-bgp.j2
|
||||
dest: /etc/bird/peers/internal.conf
|
||||
- name: add route collector peering
|
||||
copy:
|
||||
src: collector.conf
|
||||
dest: /etc/bird/peers/collector.conf
|
||||
- name: reload bird
|
||||
ansible.builtin.systemd_service:
|
||||
name: bird.service
|
||||
enabled: true
|
||||
state: reloaded
|
||||
when: ansible_service_mgr == 'systemd'
|
9
upgrade.yml
Normal file
9
upgrade.yml
Normal file
|
@ -0,0 +1,9 @@
|
|||
- hosts: all
|
||||
remote_user: root
|
||||
tasks:
|
||||
- name: upgrade debian systems
|
||||
ansible.builtin.apt:
|
||||
update_cache: yes
|
||||
upgrade: dist
|
||||
cache_valid_time: 3600
|
||||
when: ansible_distribution == 'Debian'
|
Loading…
Reference in a new issue