Rework BGP home to iBGP
This commit is contained in:
parent
b9f788336d
commit
622a68301a
|
@ -15,12 +15,17 @@ bgp_peers:
|
||||||
neighbor_ip: "2a01:4262:1ab:20::1"
|
neighbor_ip: "2a01:4262:1ab:20::1"
|
||||||
|
|
||||||
- name: "hessnet_home"
|
- name: "hessnet_home"
|
||||||
template: "peer_hessnet"
|
template: "ibgp_hessnet"
|
||||||
peer_asn: "64512"
|
peer_asn: "209616"
|
||||||
neighbor_ip: "2001:678:15c:a00::1"
|
neighbor_ip: "2001:678:15c:a00::1"
|
||||||
filters:
|
filters:
|
||||||
export: "{ peer_export_dfz(); }"
|
import: "{ accept; }"
|
||||||
import: "myroutes_import_export"
|
export: "{ if is_own_route() then reject; accept; }"
|
||||||
|
|
||||||
|
- name: "ibgp_fra1"
|
||||||
|
template: "ibgp_hessnet"
|
||||||
|
peer_asn: "209616"
|
||||||
|
neighbor_ip: "2001:678:15c:b00::"
|
||||||
|
|
||||||
announce_from_here: true
|
announce_from_here: true
|
||||||
configure_static_multihop_routes: false
|
configure_static_multihop_routes: false
|
||||||
|
@ -35,3 +40,4 @@ wireguard:
|
||||||
36306139376436666165393831363435626633313935333838613938616631666531343964666464
|
36306139376436666165393831363435626633313935333838613938616631666531343964666464
|
||||||
3833643632343962666464383336626234646362336531366331
|
3833643632343962666464383336626234646362336531366331
|
||||||
publickey: IBJriIpmeq+hqVCBYPn7PxDXhH/ymxpG+6BOYedfZXY=
|
publickey: IBJriIpmeq+hqVCBYPn7PxDXhH/ymxpG+6BOYedfZXY=
|
||||||
|
|
|
@ -6,7 +6,7 @@ archvm2.hosts.v6.hessnet.dk
|
||||||
vul1.ams.nl.routers.v6.hessnet.dk
|
vul1.ams.nl.routers.v6.hessnet.dk
|
||||||
|
|
||||||
[routers_copenhagen]
|
[routers_copenhagen]
|
||||||
frb1.cph.dk.routers.v6.hessnet.dk
|
frb1.cph.dk.routers.v6.hessnet.dk ansible_host=hessnet-router.hessnet.dk
|
||||||
|
|
||||||
[routers:children]
|
[routers:children]
|
||||||
routers_vultr
|
routers_vultr
|
||||||
|
|
|
@ -92,7 +92,7 @@ function peer_export_dfz_and_default() {
|
||||||
}
|
}
|
||||||
|
|
||||||
filter kernel_export {
|
filter kernel_export {
|
||||||
if source !~ [ RTS_BGP, RTS_OSPF, RTS_STATIC ] then reject;
|
if source !~ [ RTS_BGP, RTS_OSPF, RTS_OSPF_EXT1, RTS_OSPF_EXT2, RTS_STATIC ] then reject;
|
||||||
if is_default_route() then accept;
|
if is_default_route() then accept;
|
||||||
if is_own_route() then accept;
|
if is_own_route() then accept;
|
||||||
reject;
|
reject;
|
||||||
|
@ -100,6 +100,7 @@ filter kernel_export {
|
||||||
|
|
||||||
filter ospf_export {
|
filter ospf_export {
|
||||||
if source = RTS_DEVICE then accept;
|
if source = RTS_DEVICE then accept;
|
||||||
|
if is_own_route() then accept;
|
||||||
reject;
|
reject;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -119,7 +120,7 @@ filter transit_export {
|
||||||
}
|
}
|
||||||
|
|
||||||
filter myroutes_import_export {
|
filter myroutes_import_export {
|
||||||
if source !~ [ RTS_BGP, RTS_OSPF, RTS_STATIC ] then reject;
|
if source !~ [ RTS_BGP, RTS_OSPF, RTS_OSPF_EXT1, RTS_OSPF_EXT2, RTS_STATIC ] then reject;
|
||||||
if is_own_route() then accept;
|
if is_own_route() then accept;
|
||||||
reject;
|
reject;
|
||||||
}
|
}
|
||||||
|
@ -232,6 +233,15 @@ template bgp peer_hessnet {
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
template bgp ibgp_hessnet {
|
||||||
|
local as my_asn;
|
||||||
|
ipv6 {
|
||||||
|
next hop self;
|
||||||
|
import all;
|
||||||
|
export all;
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
{% for peer in bgp_peers %}
|
{% for peer in bgp_peers %}
|
||||||
protocol bgp {{ peer.name }} from {{ peer.template }} {
|
protocol bgp {{ peer.name }} from {{ peer.template }} {
|
||||||
neighbor {{peer.neighbor_ip}} as {{peer.peer_asn}};
|
neighbor {{peer.neighbor_ip}} as {{peer.peer_asn}};
|
||||||
|
@ -257,6 +267,7 @@ protocol ospf v3 {
|
||||||
|
|
||||||
interface "wg*" { };
|
interface "wg*" { };
|
||||||
interface "tun*" { };
|
interface "tun*" { };
|
||||||
|
interface "v6tunnel*" { };
|
||||||
};
|
};
|
||||||
|
|
||||||
ipv6 {
|
ipv6 {
|
||||||
|
|
|
@ -19,4 +19,4 @@
|
||||||
become: "yes"
|
become: "yes"
|
||||||
roles:
|
roles:
|
||||||
- { role: "bird", tags: "bird" }
|
- { role: "bird", tags: "bird" }
|
||||||
- "wireguard-tools"
|
- "wireguard"
|
Loading…
Reference in a new issue