I'am sorry, the ascii graphic was somehow wrapped a bit strangely. Here is a better version of it: +-----------------+ | AS 64517 | |10.70.0.1/16| | | +-------+--------+ | 172.16.18.1/30 | | 172.16.18.2/30 +-------+--------+ | AS 64512 | |10.20.0.1/16| | | +-------+--------+ | 172.16.96.1/30 | | 172.16.96.2/30 +-------+--------+ | AS 64515 | |10.50.0.1/16| | | +-----------------+ On 22-07-2021 15:43, Rainer Kulow wrote:
Hello bird community,
I am trying to establish complete connectivity using BGP in the following setup containing three AS with direct links:
172.16.18.1/30 172.16.18.2/30 172.16.96.1/30 172.16.96.2/30 +--------------+ +--------------+ +--------------+ | AS 60007 +---------------------------+ AS 60002 +---------------------------+ AS 60005 | +--------------+ +--------------+ +--------------+ 10.70.0.1/16 10.20.0.1/16 10.50.0.1/16
The goal is that every address from one of the /16 networks can reach all addresses in the other /16 networks.
My current setup (here for the middle AS, the others are configured analogously): AS 60002 has three network cards, one with 172.16.18.2, one with 172.16.96.1 and one 10.20.0.1.
log syslog all; router id 10.20.0.1;
# interface scan every 10s protocol device { scan time 10; }
# no automaic generated direct routes to all network interfaces protocol direct { disabled; }
# synchronize BIRD routing tables with the OS kernel protocol kernel { ipv4 { import all; export all; }; merge paths on; }
# static IPv4 routes protocol static static1{ ipv4; route 10.20.0.0/16 via 10.20.0.1; }
# BGP peers template bgp bgp_peer{ local as 60002; multihop;
ipv4 { import filter { if proto = "static1" then reject; accept; }; export all; next hop self; };
}
protocol bgp a_b from bgp_peer { description "BGP a-b"; neighbor 172.16.18.1 as 60007; }
protocol bgp b_c from bgp_peer { description "BGP b-c"; neighbor 172.16.96.2 as 60005; }
If I delete "multihop" and "next hop self" from the template, I get all routes, but can only ever ping the closest AS. With "multihop" I also get all routes, but the routes to other AS are marked as unreachable. I would be glad if someone could tell me how to realize this multihop scenario. It would also be interesting that the solution scales, so that I can hang, for example, more AS in the chain above.
Thanks in advance, Best regards, Rainer