Hello, Any hints will be greatly appreciated !
Cheers — Cédric Lemarchand > On 25 Feb 2017, at 18:03, Cedric Lemarchand <yipik...@gmail.com> wrote: > > Hello Ondrej, > > Thanks for your precious explanations. Unfortunately I am still stuck, static > routes does not apply between 2 hosts. > > To solve 1) and 2), and in the way I only need to publish static routes to > other BGP hosts, I changed "export all” by "export where proto = “static1” “, > but still no luck. I notice that static routes are not received any more on > hosts. > > Here is my understanding of “show protocol all” on host1 : > > direct1 Direct master up 17:35:58 > Preference: 240 > Input filter: ACCEPT > Output filter: REJECT > Routes: 2 imported, 0 exported, 2 preferred > Route change stats: received rejected filtered ignored accepted > Import updates: 2 0 0 0 2 > Import withdraws: 0 0 --- 0 0 > Export updates: 0 0 0 --- 0 > Export withdraws: 0 --- --- --- 0 > > Bird finds 2 direct routes related to eth0 and eth1, so they are received, > accepted, but not exported, which is fine. > > kernel1 Kernel master up 17:41:12 > Preference: 10 > Input filter: ACCEPT > Output filter: REJECT > Routes: 1 imported, 0 exported, 1 preferred > Route change stats: received rejected filtered ignored accepted > Import updates: 1 0 0 0 1 > Import withdraws: 0 0 --- 0 0 > Export updates: 6 5 1 --- 0 > Export withdraws: 0 --- --- --- 0 > > Bird find 1 static route and try to export 6 routes but they all get rejected > or filtered, which is fine too, but I dont know why “6” routes of the routing > table bellow : > > root@host1:~# ip r > 10.10.1.0/24 dev eth0 proto kernel scope link src 10.10.1.1 > 10.10.2.0/24 via 10.10.1.254 dev eth0 > 192.168.1.0/24 dev eth1 proto kernel scope link src 192.168.1.1 > > device1 Device master up 17:41:12 > Preference: 240 > Input filter: ACCEPT > Output filter: REJECT > Routes: 0 imported, 0 exported, 0 preferred > Route change stats: received rejected filtered ignored accepted > Import updates: 0 0 0 0 0 > Import withdraws: 0 0 --- 0 0 > Export updates: 0 0 0 --- 0 > Export withdraws: 0 --- --- — 0 > > Nothing to say about this one, from what I have read it’s role is to feed the > kernel protocol. > > static1 Static master up 17:41:12 > Preference: 200 > Input filter: ACCEPT > Output filter: ACCEPT > Routes: 1 imported, 0 exported, 0 preferred > Route change stats: received rejected filtered ignored accepted > Import updates: 1 0 0 0 1 > Import withdraws: 0 0 --- 0 0 > Export updates: 0 0 0 --- 0 > Export withdraws: 0 --- --- --- 0 > > This one is annoying me and I think the issue is there, 1 imported but > ignored, why ? > > bgp1 BGP master up 17:41:13 Established > Preference: 100 > Input filter: ACCEPT > Output filter: (unnamed) > Routes: 0 imported, 0 exported, 0 preferred > Route change stats: received rejected filtered ignored accepted > Import updates: 0 0 0 0 0 > Import withdraws: 0 0 --- 0 0 > Export updates: 3 0 3 --- 0 > Export withdraws: 0 --- --- --- 0 > BGP state: Established > Neighbor address: 10.10.2.1 > Neighbor AS: 3000 > Neighbor ID: 10.10.2.1 > Neighbor caps: refresh restart-aware AS4 > Session: internal multihop AS4 > Source address: 10.10.1.1 > Hold timer: 162/240 > Keepalive timer: 53/80 > > I don’t understand why 3 routes are received because protocols direct1 and > kernel1 should not export anything, and only one static route should be > received via BGP from host2 ! Also the ouput filter is unamed, which I thinks > is not good. > > Below the host1 bird.conf. > > As you can see I think I misunderstand some things, and I am a bit > disappointed. > > Cheers > > > router id 10.10.1.1; > protocol direct { > interface "*"; # Restrict network interfaces it works with > } > protocol kernel { > learn; # Learn all alien routes from the kernel > #persist; # Don't remove routes on bird shutdown > scan time 20; # Scan kernel routing table every 20 seconds > import all; # Default is import all > export none; # Default is export none > } > protocol device { > scan time 10; # Scan interfaces every 10 seconds > } > protocol static static1 { > route 192.168.1.0/24 via 10.10.1.1; > export all; > } > protocol bgp { > multihop; > #gateway recursive; > import all; > export where proto = "static1"; > local as 3000; > neighbor 10.10.2.1 as 3000; > #next hop self; > #rr client; > } > > — > Cédric Lemarchand > >> On 23 Feb 2017, at 17:10, Ondrej Zajicek <santi...@crfreenet.org >> <mailto:santi...@crfreenet.org>> wrote: >> >> On Thu, Feb 23, 2017 at 04:42:50PM +0100, Cedric Lemarchand wrote: >>> Yes, I am not sure to understand how plays theses options (and if I need >>> it) in the bgp protocol and it they are related to my problem : >>> >> >> >>> gateway recursive : means that if host2 advertise "route 192.168.2.0/24 >>> via 10.10.2.1;” to host1, host1 does a lookup in the kernel routing table >>> and set the nexthop for 192.168.2.0/24 via the same IP as for host2 ? >> >> Mainly yes, but: >> >> 1) Not lookup in the kernel routing table, but in the BIRD table. By >> default the same table as used by BGP protocol, but could be configured >> to different one by 'igp table' option. >> >> 2) It is not lookup for host2, but lookup for bgp_next_hop attribute, as >> specified by host2, which is usually value of 'via'. >> >>> next hop self : means that every route advertised by host2 will be routed >>> to it self while keeping the “gateway recursive” logic ? >> >> That means host2 always announces own IP address as bgp_next_hop instead >> of one from 'via'. >> >>> The output of show route all : >> >> There are two issues: >> >> 1) both hosts announce all routes (not only 192.168.xx but also 10.10.xx). >> >> 2) routes from kernel1 protocol has lower preference (10), so routes >> from BGP are preferred and you get circular lookups for 10.0.1.1, 10.10.2.1 >> >> You could change preference of kernel protocol to say 200 and you >> could filter out unwanted routes in BGP export filter. >> >> -- >> Elen sila lumenn' omentielvo >> >> Ondrej 'Santiago' Zajicek (email: santi...@crfreenet.org >> <mailto:santi...@crfreenet.org>) >> OpenPGP encrypted e-mails preferred (KeyID 0x11DEADC3, wwwkeys.pgp.net >> <http://wwwkeys.pgp.net/>) >> "To err is human -- to blame it on a computer is even more so." >