Simple two bird BGPs two Uplinks one Peering Provider config
Yves Illi
mail at yvesilli.com
Mon May 20 19:17:08 CEST 2019
Hi there,
I am really new to the complete topic of BGP. So please have a bit mercy with me if I ask something very stupid. But I am trying to build that for the first time ever and I am feeling like a donkey in front of a big mountain.
Last but not least it is currently running, but I guess its more luck than something else. Like I said I am completely new to the topic of BGP. What I don't get is how I configure them together so they work (as a HA-Cluster) and currently I can only route a.b.c.249/29 instead of a.b.c.0/22.
Here is what I am trying to build (https://imgur.com/a/NtWE6MY).
And here are my two configs:
/*
* My example bgp01 configuration
*/
log syslog all;
log "/var/log/bird.log" all;
# d.e.f.124/29 is my IP in the transfer network /29 to my peering uplink1
# d.e.f.125/29 is my 2nd bird bgp in the transfer network /29 to my peering uplink1
router id d.e.f.124;
define myasn = XXXX;
define myaddr = d.e.f.124;
protocol device {
scan time 10; # Scan interfaces every 10 seconds
}
ipv4 table master4;
protocol direct {
ipv4; # Tells bird to only do ipv4
interface "enp3s0f4"; # Restrict network interfaces BIRD works with
}
protocol kernel {
ipv4{
table master4;
import all;
export all;
};
persist;
}
#a.b.c.0 is my own /22 ip range
protocol static static_bgp {
ipv4;
route a.b.c.0/22 via d.e.f.124;
}
protocol bgp link1 {
local d.e.f.124 as XXXX;
neighbor d.e.f.121 as YYYY; #d.e.f.121 is the first router of my peering uplink 1
ipv4 { import all;export where proto = "static_bgp"; };
}
protocol bgp link2 {
local d.e.f.124 as XXXX;
neighbor d.e.f.122 as YYYY; #d.e.f.122 is the second router of my peering uplink 1
ipv4 { import all;export where proto = "static_bgp"; };
}
/*
* My example bgp02 configuration
*/
log syslog all;
log "/var/log/bird.log" all;
# d.e.f.124/29 is my IP in the transfer network /29 to my peering provider1
# d.e.f.125/29 is my 2nd bird bgp in the transfer network /29 to my peering provider1
router id d.e.f.125;
define myasn = XXXX;
define myaddr = d.e.f.125;
protocol device {
scan time 10; # Scan interfaces every 10 seconds
}
ipv4 table master4;
protocol direct {
ipv4; # Tells bird to only do ipv4
interface "enp3s0f4"; # Restrict network interfaces BIRD works with
}
protocol kernel {
ipv4{
table master4;
import all;
export all;
};
persist;
}
#a.b.c.0 is my own /22 ip range
protocol static static_bgp {
ipv4;
route a.b.c.0/22 via d.e.f.125;
}
protocol bgp link1 {
local d.e.f.125 as XXXX;
neighbor d.e.f.121 as YYYY; #d.e.f.121 is the first router of my peering provider1
ipv4 { import all;export where proto = "static_bgp"; };
}
protocol bgp link2 {
local d.e.f.125 as XXXX;
neighbor d.e.f.122 as YYYY; #d.e.f.122 is the second router of my peering provider1
ipv4 { import all;export where proto = "static_bgp"; };
}
Thanks a lot for your help and inputs
Best Regards,
Yves
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://trubka.network.cz/pipermail/bird-users/attachments/20190520/dcb3643c/attachment.htm>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: little_network_diag.png
Type: image/png
Size: 177585 bytes
Desc: little_network_diag.png
URL: <http://trubka.network.cz/pipermail/bird-users/attachments/20190520/dcb3643c/attachment.png>
More information about the Bird-users
mailing list