Routes imported from BGP doesn't have proper gateways
Alexander Zubkov
green at qrator.net
Mon Aug 23 12:06:09 CEST 2021
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!
More information about the Bird-users
mailing list