Routes imported from BGP doesn't have proper gateways

Ooth Gray greyschwinger at gmail.com
Mon Aug 23 14:58:06 CEST 2021


It works! Thanks for the tip!

On Mon, 23 Aug 2021 at 18:06, Alexander Zubkov <green at qrator.net> wrote:

> Hi,
>
> You probably need to add "direct" protocol too. Also disabling
> recursive gateways might help - they are not needed in your case
> because you use "next hop self".
>
> On Sun, Aug 22, 2021 at 5:30 PM Ooth Gray <greyschwinger at gmail.com> wrote:
> >
> > Hi I'm having troubles in BIRD configuration, and I'm pretty sure it's
> just a trivial wrong configure issue but I really tried my best >_<
> >
> > Let me give you some background.
> >
> > 1. There are 2 hosts connected by wire (so that they are L2 reachable),
> one with IPv4 10.22.12.88, and another is 10.22.12.44. Here's one the arp
> record from "ip neigh sh":
> >>
> >> 10.22.12.88 dev bond0 lladdr f8:6e:ee:8b:cf:90 REACHABLE
> >
> >
> > 2. Both 2 hosts have some KVM virtual machines, with corresponding
> routes from host to vm, here's one of the routes from "ip r":
> >>
> >> 10.233.25.178 dev yap35caa1e88854  scope link  src 10.22.12.44
> >
> > The 10.233.25.178 is the address of a VM, and the dev yap35caa1e88854 is
> a tap device connecting eth0 inside the VM.
> >
> > What I want to do is to build routes between these 2 hosts, in order to
> let VMs on host A be able to connect VMs on host B.
> >
> > Hope I make myself clear.
> >
> > So I'm using BIRD 2.0.3 on Ubuntu 16.04, with the config file as follows:
> >
> >> log syslog all;
> >> router id 10.22.12.44;
> >>
> >> protocol device {
> >>   debug { states };
> >>   scan time 2;
> >> }
> >>
> >> protocol kernel {
> >>         learn;
> >>         persist;
> >>         scan time 10;
> >>         ipv4 {
> >>                 import all;
> >>                 export all;
> >>         };
> >> }
> >>
> >> protocol bgp {
> >>         debug { states };
> >>         local as 65000;
> >>         neighbor 10.22.12.88 as 65000;
> >>         source address 10.22.12.44;
> >>         multihop;
> >>         ipv4 {
> >>                 export filter {
> >>                         if ( net ~ 10.233.0.0/16 ) then {
> >>                                 accept;
> >>                         }
> >>                         reject;
> >>                 };
> >>                 import all;
> >>                 next hop self on;
> >>                 gateway recursive;
> >>                 add paths on;
> >>         };
> >> }
> >
> >
> > But this doesn't work well, the peer BIRD show the info as follows:
> >
> >> bird> show route protocol bgp1
> >> Table master4:
> >> 10.233.25.178/32     unicast [bgp1 18:47:32.910 from 10.22.12.44] *
> (100/?) [i]
> >> via 10.22.12.1 on enp2s0f0 onlink
> >> bird> show route export kernel1
> >> Table master4:
> >> 10.233.25.178/32     unicast [bgp1 18:47:32.910 from 10.22.12.44] *
> (100/?) [i]
> >> via 10.22.12.1 on enp2s0f0 onlink
> >
> >
> > The problem happened on the gateway, I was hoping the routes should have
> "via 10.22.12.44" instead of "via 10.22.12.1";
> >
> > 10.22.12.1 came from the host default gateway:
> >>
> >> default via 10.22.12.1 dev bond0 onlink
> >
> > But I have no idea how to prevent BIRD from using it.
> >
> > The other information may be helpful is included below:
> >
> >> bird> show protocols all bgp1
> >> Name       Proto      Table      State  Since         Info
> >> bgp1       BGP        ---        up     18:28:46.888  Established
> >>   BGP state:          Established
> >>     Neighbor address: 10.22.12.88
> >>     Neighbor AS:      65000
> >>     Neighbor ID:      10.22.12.88
> >>     Local capabilities
> >>       Multiprotocol
> >>         AF announced: ipv4
> >>       Route refresh
> >>       Graceful restart
> >>       4-octet AS numbers
> >>       ADD-PATH
> >>         RX: ipv4
> >>         TX: ipv4
> >>       Enhanced refresh
> >>       Long-lived graceful restart
> >>     Neighbor capabilities
> >>       Multiprotocol
> >>         AF announced: ipv4
> >>       Route refresh
> >>       Graceful restart
> >>       4-octet AS numbers
> >>       Enhanced refresh
> >>       Long-lived graceful restart
> >>     Session:          internal multihop AS4
> >>     Source address:   10.22.12.44
> >>     Hold timer:       117.086/240
> >>     Keepalive timer:  52.520/80
> >>   Channel ipv4
> >>     State:          UP
> >>     Table:          master4
> >>     Preference:     100
> >>     Input filter:   ACCEPT
> >>     Output filter:  (unnamed)
> >>     Routes:         2 imported, 20 exported
> >>     Route change stats:     received   rejected   filtered    ignored
>  accepted
> >>       Import updates:              2          0          0          0
>         2
> >>       Import withdraws:            0          0        ---          0
>         0
> >>       Export updates:             49          6         23        ---
>        20
> >>       Export withdraws:            0        ---        ---        ---
>         4
> >>     BGP Next hop:   10.22.12.44
> >>     IGP IPv4 table: master4
> >>
> >> bird> show route export bgp1
> >> Table master4:
> >> 10.233.25.178/32     unicast [kernel1 18:04:09.483] (10)
> >> dev yap35caa1e88854
> >
> >
> > Please enlighten me with some advice, and I'll appreciate that very much.
> >
> > Thank you!
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://trubka.network.cz/pipermail/bird-users/attachments/20210823/009cdf0c/attachment.htm>


More information about the Bird-users mailing list