I am attempting to arrange a easy lab community utilizing exaBGP. I’ve spun up three exaBGP Docker containers, verified that all of them have IPv4 connectivity to at least one one other through ping, then wrote easy config recordsdata.
Here is the config file for container “bgp1″…
neighbor 192.168.0.20 {
# Peer session with bgp2
router-id 192.168.0.10;
local-address 192.168.0.10;
local-as 65001;
peer-as 65002;
}
…and container “bgp2”:
neighbor 192.168.0.10 {
# Peer session with bgp1
router-id 192.168.0.20;
local-address 192.168.0.20;
local-as 65002;
peer-as 65001;
}
neighbor 192.168.0.30 {
# Peer session with bgp3
router-id 192.168.0.20;
local-address 192.168.0.20;
local-as 65002;
peer-as 65002;
}
I am omitting “bgp3” as a result of his config is cookie-cutter and apparent.
However the containers usually are not peering up. Once I tcpdump on “bgp1”, I see this:
23:35:28.207216 IP 68e5f7c2042e.44467 > bgp2.exabgp-network.bgp: Flags [S], seq 91168697, win 64240, choices [mss 1460,sackOK,TS val 2500920475 ecr 0,nop,wscale 7], size 0
23:35:28.207275 IP bgp2.exabgp-network.bgp > 68e5f7c2042e.44467: Flags [R.], seq 0, ack 91168698, win 0, size 0
…and one other tcpdump on “bgp2” reveals this:
23:15:00.894539 IP ac3d370a9730.44187 > bgp1.exabgp-network.bgp: Flags [S], seq 2635035354, win 64240, choices [mss 1460,sackOK,TS val 4261515020 ecr 0,nop,wscale 7], size 0
23:15:00.894602 IP bgp1.exabgp-network.bgp > ac3d370a9730.44187: Flags [R.], seq 0, ack 2635035355, win 0, size 0
In different phrases, each containers are sending BGP peering requests to at least one one other ([S]
), however the container on the distant aspect of the connection is actively rejecting the peering request ([R.]
). Sooooo why??? Do I’ve to do one thing extra to allow BGP on the containers? Or are my configs incorrect or incomplete by some means?
Thanks, any recommendation is appreciated.