Propagating /32 from OSPF to BGP
Simon Dickhoven
Simon.Dickhoven at tachyon.com
Wed Jun 19 03:08:49 CEST 2013
A more detailed topology (with IPs and interface names) would be helpful
to understand the setup better.
Is it possible that your ISP is accepting "le 32" on their BGP session
with GW_2 (and that's the one they checked when you asked them to
verify) but only "le 31" on their BGP session with GW_1?
I have certainly run into this problem before: Asked the ISP to verify.
They did and said that all is good on their end. But when I finally
asked them to send me their configs it turned out that they had screwed
something up.
One thing I noticed is that GW_1 shows interface "tunVpnCust" for OSPF
and "ifDmz1" for BGP whereas GW_2 shows interface "tunO2Oorc4" for both.
Since I don't have a more detailed topology that explains where
172.31.253.1 and 172.31.253.32 are and what the respective interfaces
connect to it's difficult to guess what's going on.
But double-checking with your ISP and possibly asking them for their
configs is one thing you could do to rule out the possibility that the
problem is on their end.
Sorry I couldn't be more helpful.
- Simon
On 06/18/2013 05:46 PM, Michael Ludvig wrote:
> 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
More information about the Bird-users
mailing list