Propagating /32 from OSPF to BGP

Michael Ludvig mludvig at logix.net.nz
Wed Jun 19 02:46:04 CEST 2013


Hi

we've got a private AS with two uplinks to our ISP, and we've got a
number of subnets that we advertise. Now we got a new assignment and it
doesn't work as expected.

Here is the situation:

x.x.74.113
x.x.74.114
[DMZ1_box_1]
    ||
[DMZ1_GW] -- OSPF -- [GW_1] -- OSPF -- [GW_2] -- OSPF -- ...
x.x.24.227
                        |                 |
                       BGP               BGP
                        |                 |
                     ISP_rtr_1        ISP_rtr_2
                          \           /
                         ISP & Internet

Now if I advertise the new subnet /29 (or up to /31) from DMZ1_GW it
gets propagated to both BGPs and the ISP correctly routes the traffic to
GW_1 as it's closer to the box.

However if I advertise the IP/32 from DMZ1_GW then for some reason the
traffic is routed from Internet to GW_2 first. ISP confirmed they accept
up to /32 from us.

This is the relevant output from GW_1:
GW_1 ~ # birdc show route protocol ospf_eit | grep ^x.x.74
BIRD 1.3.8 ready.
x.x.74.114/32 via 172.31.253.32 on tunVpnCust [ospf_eit 11:44] * E2
(150/1/10000) [x.x.24.227]
x.x.74.112/31 via 172.31.253.32 on tunVpnCust [ospf_eit 11:44] * E2
(150/1/10000) [x.x.24.227]

GW_1 ~ # birdc show route export bgp_isp | grep ^x.x.74
BIRD 1.3.8 ready.
x.x.74.114/32 via 172.31.253.32 on ifDmz1 [ospf_eit 11:44] * E2
(150/1/10000) [x.x.24.227]
x.x.74.112/31 via 172.31.253.32 on ifDmz1 [ospf_eit 11:44] * E2
(150/1/10000) [x.x.24.227]


This is the relevant output from GW_2:
GW_2 ~ # birdc show route protocol ospf_eit| grep ^x.x.74
BIRD 1.3.8 ready.
x.x.74.114/32 via 172.31.253.1 on tunO2Oorc4 [ospf_eit 11:44] * E2
(150/11/10000) [x.x.24.227]
x.x.74.112/31 via 172.31.253.1 on tunO2Oorc4 [ospf_eit 11:44] * E2
(150/11/10000) [x.x.24.227]

GW_2 ~ # birdc show route export bgp_isp | grep ^x.x.74
BIRD 1.3.8 ready.
x.x.74.114/32 via 172.31.253.1 on tunO2Oorc4 [ospf_eit 11:44] * E2
(150/11/10000) [x.x.24.227]
x.x.74.112/31 via 172.31.253.1 on tunO2Oorc4 [ospf_eit 11:44] * E2
(150/11/10000) [x.x.24.227]

As it is now a ping from outside to x.x.74.113 (that's advertised as
/31) goes to GW_1, which is correct and a ping to x.x.74.114 (that's
advertised as /32) goes to GW_2, that's incorrect.

How come? I can't see what am I doing wrong...?

Any ideas?

Thanks

Michael
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://trubka.network.cz/pipermail/bird-users/attachments/20130619/19011d70/attachment.html>


More information about the Bird-users mailing list