Need Help on BGP
Guys, I am stucked in BGP, I don't know if I am wrong or right because it does not give me any output.
I tried to configure simple BGP using dynamips , However when I issued show ip BGP to see my BGP table it is empty but when I issued show ip bgp neigh it is showing Established which mean TCP connection is success.
Here's my topo look like:
EBGP(200)
EBGP(100)
IBGP(100)
Actually I tried using C3640 series and C720 series and both have problems.
In c3640, the show ip bgp is okay but the IBGP is not learning the route from EBGP(100). let say update from EBGP 200 advertise to EBGP 100
so the update should be
172.16.10.1 with it's interface address as next hop 10.0.0.1
if EBGP 100 rec the update it should forward it to IBGP but still the nexthop is the interface of EBGP 200 according to the rules.
According to the rules IBGP cannot forward its learned routes from IBGP.
If IBGP 100 has a neighbor of IBGP100 -B then it will not learned the route.
I also tried route reflector, I am expecting the client will rec. the update but sadly to say it still the same.
here's my config
EBGP200
router bgp 200
! advertise 172.16.10.1
network 172.16.10.0
no syn < since all routers are running BGP
neig 10.0.0.2 remote-as 100
EBGP100
router bgp 100
no syn < since all routers are running BGP
neig 10.0.0.1 remote-as 200
neig 192.168.10.2 remote-as 100
when I issue show ip bgp the table shoudl look like this
>10.0.0.0 10.0.0.1
0.0.0.0
>172.16.10.0 10.0.0.1
In IBGP 100
router bgp 100
nei 192.168.10.1 remtoe-as 100
IBGP 100 should received the update or route 172.16.10.0 with a nexthop address of 10.0.0.1
I tried to configure simple BGP using dynamips , However when I issued show ip BGP to see my BGP table it is empty but when I issued show ip bgp neigh it is showing Established which mean TCP connection is success.
Here's my topo look like:
EBGP(200)
EBGP(100)
IBGP(100)
Actually I tried using C3640 series and C720 series and both have problems.
In c3640, the show ip bgp is okay but the IBGP is not learning the route from EBGP(100). let say update from EBGP 200 advertise to EBGP 100
so the update should be
172.16.10.1 with it's interface address as next hop 10.0.0.1
if EBGP 100 rec the update it should forward it to IBGP but still the nexthop is the interface of EBGP 200 according to the rules.
According to the rules IBGP cannot forward its learned routes from IBGP.
If IBGP 100 has a neighbor of IBGP100 -B then it will not learned the route.
I also tried route reflector, I am expecting the client will rec. the update but sadly to say it still the same.
here's my config
EBGP200
router bgp 200
! advertise 172.16.10.1
network 172.16.10.0
no syn < since all routers are running BGP
neig 10.0.0.2 remote-as 100
EBGP100
router bgp 100
no syn < since all routers are running BGP
neig 10.0.0.1 remote-as 200
neig 192.168.10.2 remote-as 100
when I issue show ip bgp the table shoudl look like this
>10.0.0.0 10.0.0.1
0.0.0.0
>172.16.10.0 10.0.0.1
In IBGP 100
router bgp 100
nei 192.168.10.1 remtoe-as 100
IBGP 100 should received the update or route 172.16.10.0 with a nexthop address of 10.0.0.1
Comments
-
EdTheLad Member Posts: 2,111 ■■■■□□□□□□Can you provide a "show runn" of all 3 routers along with a "show ip route" and a "show ip bgp"Networking, sometimes i love it, mostly i hate it.Its all about the $$$$
-
Ching01 Member Posts: 83 ■■□□□□□□□□Actually, because of frustration I deleted the sampe lab but here's another scenario
EBGP 100
EBGP 200
IBGP 200
EBGP 100
router bgp 100
bgp log-neighbor-changes
network 172.16.0.0
network 192.168.10.0
neighbor 10.0.0.2 remote-as 200
EBGP 200
!
router bgp 200
bgp log-neighbor-changes
neighbor 10.0.0.1 remote-as 100
neighbor 10.0.0.6 remote-as 200
IBGP 100
router bgp 200
bgp log-neighbor-changes
neighbor 10.0.0.5 remote-as 200
!
As you can see I advertised 2 loopback address from EBGP 100
172.16.10.0 and 192.168.10.0
Before showing the tables I want you to see the bgp log-neighbor-changes output from EBGP 100
00:22:14: %BGP-5-ADJCHANGE: neighbor 10.0.0.2 Down User reset
00:22:55: %BGP-5-ADJCHANGE: neighbor 10.0.0.2 Up
00:22:56: BGP(0): nettable_walker 172.16.0.0/16 route sourced locally
00:22:56: BGP(0): nettable_walker 192.168.10.0/24 route sourced locally
00:22:56: BGP(0): 10.0.0.2 computing updates, afi 0, neighbor version 0, table version 3, starting at 0.0.0.0
00:22:56: BGP(0): 10.0.0.2 send UPDATE (format) 172.16.0.0/16, next 10.0.0.1, metric 0, path
00:22:56: BGP(0): 10.0.0.2 send UPDATE (prepend, chgflags: 0x20 192.168.10.0/24, next 10.0.0.1, metric 0, path
00:22:56: BGP(0): 10.0.0.2 1 updates enqueued (average=55, maximum=55)
00:22:56: BGP(0): 10.0.0.2 update run completed, afi 0, ran for 12ms, neighbor version 0, start version 3, throttled to 3
00:22:56: BGP: 10.0.0.2 initial update completed
00:23:18: BGP(0): nettable_scan: invalidate local path for 172.16.0.0/16
00:23:18: BGP(0): nettable_scan: invalidate sourced path for 172.16.0.0/16
00:23:18: BGP(0): no valid path for 172.16.0.0/16
00:23:18: BGP(0): nettable_walker 172.16.0.0/16 no best path
00:23:24: BGP(0): 10.0.0.2 computing updates, afi 0, neighbor version 3, table version 4, starting at 0.0.0.0
00:23:24: BGP(0): 10.0.0.2 send unreachable 172.16.0.0/16
00:23:24: BGP(0): 10.0.0.2 send UPDATE 172.16.0.0/16 -- unreachable
00:23:24: BGP(0): 10.0.0.2 1 updates enqueued (average=26, maximum=26)
00:23:24: BGP(0): 10.0.0.2 update run completed, afi 0, ran for 8ms, neighbor version 3, start version 4, throttled to 4
00:24:18: BGP(0): nettable_scan: invalidate local path for 172.16.0.0/16
00:24:18: BGP(0): nettable_scan: invalidate sourced path for 172.16.0.0/16
00:24:18: BGP(0): no valid path for 172.16.0.0/16
00:24:18: BGP(0): nettable_walker 172.16.0.0/16 no best path
00:24:19: BGP(0): 10.0.0.2 computing updates, afi 0, neighbor version 4, table version 6, starting at 0.0.0.0
00:24:19: BGP(0): 10.0.0.2 update run completed, afi 0, ran for 0ms, neighbor version 4, start version 6, throttled to 6
I don't know why 172.16.0.0 is giving me no valid path but 192.168.10.0 is fine
here's the bgp table and ip route table
BGP table version is 4, local router ID is 10.0.0.5
Status codes: s suppressed, d damped, h history, * valid, > best, i - internal
Origin codes: i - IGP, e - EGP, ? - incomplete
Network Next Hop Metric LocPrf Weight Path
*> 192.168.10.0 10.0.0.1 0 0 100 i
B#show ip ro
Gateway of last resort is not set
B 192.168.10.0/24 [20/0] via 10.0.0.1, 00:03:51
10.0.0.0/30 is subnetted, 2 subnets
C 10.0.0.0 is directly connected, FastEthernet0/0
C 10.0.0.4 is directly connected, FastEthernet1/0
B#
from IBGP 200
sh ip ro
C#sh ip ro
Codes: C - connected, S - static, I - IGRP, R - RIP, M - mobile, B - BGP
D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area
N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
E1 - OSPF external type 1, E2 - OSPF external type 2, E - EGP
i - IS-IS, su - IS-IS summary, L1 - IS-IS level-1, L2 - IS-IS level-2
ia - IS-IS inter area, * - candidate default, U - per-user static route
o - ODR, P - periodic downloaded static route
Gateway of last resort is not set
10.0.0.0/30 is subnetted, 1 subnets
C 10.0.0.4 is directly connected, FastEthernet1/0
C#
Why is it 192.168.10.0 is not in the ip routing table but in bgp table it is there?
C#sh ip bgp
BGP table version is 1, local router ID is 10.0.0.6
Status codes: s suppressed, d damped, h history, * valid, > best, i - internal
sh ip bgp
Origin codes: i - IGP, e - EGP, ? - incomplete
Network Next Hop Metric LocPrf Weight Path
* i192.168.10.0 10.0.0.1 0 100 0 100 i
Okay I see it here that still the next hop is 10.0.0.1, Do I need to issue next_hop_self on EBGP100 to force that to reach 192.168.10.0 is through 10.0.0.5 Or it is just applicable on NBMA? -
Ching01 Member Posts: 83 ■■□□□□□□□□Ed, I tried to add a mask on 172.16.10.0
here' my config
network 172.16.10.0 mask 255.255.255.0
I saw that no valid path in 172.16.0.0/16 since I don't have this network and I have 172.16.10.0.
now it's learning the route howerver, why in IBGP 200 it is not in the routing table like EBGP 200
EBGP 200
Gateway of last resort is not set
B 192.168.10.0/24 [20/0] via 10.0.0.1, 00:00:25
172.16.0.0/24 is subnetted, 1 subnets
B 172.16.10.0 [20/0] via 10.0.0.1, 00:00:25
10.0.0.0/30 is subnetted, 2 subnets
C 10.0.0.0 is directly connected, FastEthernet0/0
C 10.0.0.4 is directly connected, FastEthernet1/0
B#
from IBGP 200
C#sh ip ro
Codes: C - connected, S - static, I - IGRP, R - RIP, M - mobile, B - BGP
D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area
N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
E1 - OSPF external type 1, E2 - OSPF external type 2, E - EGP
i - IS-IS, su - IS-IS summary, L1 - IS-IS level-1, L2 - IS-IS level-2
ia - IS-IS inter area, * - candidate default, U - per-user static route
o - ODR, P - periodic downloaded static route
Gateway of last resort is not set
10.0.0.0/30 is subnetted, 1 subnets
C 10.0.0.4 is directly connected, FastEthernet1/0 -
Ching01 Member Posts: 83 ■■□□□□□□□□Ed, I have a questioned do I need to put static on IBGP100 to reach 192.168.10.0 and 172.16.10.0 network.
I tried to add next_hop_self on EBGP200 like this nei 10.0.0.6 next_hop_self
so in IBGP 200 BGP table it change the next hop but unsuccessfully ping
what will I do?
Status codes: s suppressed, d damped, h history, * valid, > best, i - internal
Origin codes: i - IGP, e - EGP, ? - incomplete
Network Next Hop Metric LocPrf Weight Path
* i172.16.10.0/24 10.0.0.5 0 100 0 100 i
* i192.168.10.0 10.0.0.5 0 100 0 100 i -
Ching01 Member Posts: 83 ■■□□□□□□□□Ed, I got it why it is not learning the 172.16.10.0 route. EBGP 100 is advertising 172.16.10.0 to EBGP 200 as 172.16.0.0/16 so EBGP 100 will look for that route however there is not route 172.16.0.0 but 172.16.10.0.
I am just confused I need to advertise the network between the ebgp routers via igp.
you mean EBGP to EBGP not EBGP to IBGP -
EdTheLad Member Posts: 2,111 ■■■■□□□□□□You want a config like below,i hope i didnt miss anything!, in your example IBGP did not have a route to the "next-hop" address 10.0.0.0/30, you can provide this either using static or an igp.Also you defined the network for 172.16.0.0 incorrectly, this all depends on the auto-summary setting on bgp.
Better practice is to use loopback interfaces internally for ibgp sources, also you could use next-hop-self but this can cause suboptimal routing.
Please next time provide the complete running configs as it makes troubleshooting so much easier.
EBGP 100
int lo0 192.168.10.1 255.255.255.0
int lo1 172.16.10.1 255.255.255.0
router bgp 100
neighbor 10.0.0.2 remote-as 200
no-auto-summary
no synch
network 192.168.10.0 mask 255.255.255.0
network 172.16.10.0 mask 255.255.255.0
EBGP 200
router bgp 200
neighbor 10.0.0.1 remote-as 100
neighbor 10.0.0.6 remote-as 200
no synch
router ospf
network 10.0.0.5 0.0.0.0 area 0
network 10.0.0.2 0.0.0.0 area 0
passive-int s0/0
Ibgp 200
router bgp 200
neighbor 10.0.0.5 remore-as 200
no synch
router ospf 1
network 10.0.0.5 0.0.0.0 area 0Networking, sometimes i love it, mostly i hate it.Its all about the $$$$ -
Ching01 Member Posts: 83 ■■□□□□□□□□Ed, I am login in router C IBGP 200 why I can't ping 172.16.10.1 and 192.168.10.1 even though it's already on my ip table and BGP table.
However I notice that on routerA I don't have access to 10.0.0.4 network does it mean I need to add a static route on router A to reach 10.0.0.4 network?
I am not getting confuse with BGP
Anyway, here's my config
A#sh run
Building configuration...
Current configuration : 709 bytes
!
version 12.2
service timestamps debug uptime
service timestamps log uptime
no service password-encryption
!
hostname A
!
!
ip subnet-zero
!
!
no ip domain-lookup
!
call rsvp-sync
!
!
!
interface Loopback0
ip address 172.16.10.1 255.255.255.0
!
interface Loopback1
ip address 192.168.10.1 255.255.255.0
!
interface FastEthernet0/0
ip address 10.0.0.1 255.255.255.252
duplex auto
speed auto
!
router bgp 100
no synchronization
bgp log-neighbor-changes
network 172.16.10.0 mask 255.255.255.0
network 192.168.10.0
neighbor 10.0.0.2 remote-as 200
no auto-summary
!
ip classless
ip http server
!
!
!
dial-peer cor custom
!
!
!
!
line con 0
logging synchronous
line aux 0
line vty 0 4
!
A#sh ip bgp
BGP table version is 3, local router ID is 192.168.10.1
Status codes: s suppressed, d damped, h history, * valid, > best, i - internal
Origin codes: i - IGP, e - EGP, ? - incomplete
Network Next Hop Metric LocPrf Weight Path
*> 172.16.10.0/24 0.0.0.0 0 32768 i
*> 192.168.10.0 0.0.0.0 0 32768 i
A#
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
Here's Router B
B#sh run
Building configuration...
Current configuration : 748 bytes
!
version 12.2
service timestamps debug uptime
service timestamps log uptime
no service password-encryption
!
hostname B
!
!
ip subnet-zero
!
!
!
call rsvp-sync
!
!
!
!
!
!
!
!
interface FastEthernet0/0
ip address 10.0.0.2 255.255.255.252
duplex auto
speed auto
!
interface FastEthernet1/0
ip address 10.0.0.5 255.255.255.252
duplex auto
speed auto
!
router ospf 1
log-adjacency-changes
passive-interface FastEthernet0/0
network 10.0.0.2 0.0.0.0 area 0
network 10.0.0.5 0.0.0.0 area 0
!
router bgp 200
no synchronization
bgp log-neighbor-changes
neighbor 10.0.0.1 remote-as 100
neighbor 10.0.0.6 remote-as 200
no auto-summary
!
ip classless
ip http server
!
!
!
dial-peer cor custom
!
sh ip route and sh ip bgp
Gateway of last resort is not set
B 192.168.10.0/24 [20/0] via 10.0.0.1, 00:24:00
172.16.0.0/24 is subnetted, 1 subnets
B 172.16.10.0 [20/0] via 10.0.0.1, 00:24:00
10.0.0.0/30 is subnetted, 2 subnets
C 10.0.0.0 is directly connected, FastEthernet0/0
C 10.0.0.4 is directly connected, FastEthernet1/0
B#sh ip bgp
BGP table version is 3, local router ID is 10.0.0.5
Status codes: s suppressed, d damped, h history, * valid, > best, i - internal
Origin codes: i - IGP, e - EGP, ? - incomplete
Network Next Hop Metric LocPrf Weight Path
*> 172.16.10.0/24 10.0.0.1 0 0 100 i
*> 192.168.10.0 10.0.0.1 0 0 100 i
B#
>>>>>>>>>>>>>>.
router C
C#sh run
Building configuration...
Current configuration : 635 bytes
!
version 12.2
service timestamps debug uptime
service timestamps log uptime
no service password-encryption
!
hostname C
!
!
ip subnet-zero
!
!
!
call rsvp-sync
!
!
!
!
!
!
!
!
interface FastEthernet0/0
no ip address
shutdown
duplex auto
speed auto
!
interface FastEthernet1/0
ip address 10.0.0.6 255.255.255.252
duplex auto
speed auto
!
router ospf 1
log-adjacency-changes
network 10.0.0.6 0.0.0.0 area 0
!
router bgp 200
no synchronization
bgp log-neighbor-changes
neighbor 10.0.0.5 remote-as 200
no auto-summary
!
ip classless
ip http server
!
!
!
dial-peer cor custom
!
!
!
!
line con 0
line aux 0
line vty 0 4
!
end
sh ip route and sh ip bgp
Gateway of last resort is not set
B 192.168.10.0/24 [200/0] via 10.0.0.1, 00:15:35
172.16.0.0/24 is subnetted, 1 subnets
B 172.16.10.0 [200/0] via 10.0.0.1, 00:15:35
10.0.0.0/30 is subnetted, 2 subnets
O 10.0.0.0 [110/2] via 10.0.0.5, 00:16:17, FastEthernet1/0
C 10.0.0.4 is directly connected, FastEthernet1/0
C#sh ip bgp
BGP table version is 7, local router ID is 10.0.0.6
Status codes: s suppressed, d damped, h history, * valid, > best, i - internal
Origin codes: i - IGP, e - EGP, ? - incomplete
Network Next Hop Metric LocPrf Weight Path
*>i172.16.10.0/24 10.0.0.1 0 100 0 100 i
*>i192.168.10.0 10.0.0.1 0 100 0 100 i
C#
As you can see I added static route on Router A EBP 100 -
Ching01 Member Posts: 83 ■■□□□□□□□□Now I added a fourth router D as IBGP 200 also, so it did not received any updates on IBGP 200 router C meaning it's true that IBGP will not forward traffic to it peer IBGP.
Now what I did is configure router D as router-reflector-client to received BGP updates. Again I need to add a static route on RTA EBGP 100 as ip route 10.0.0.8 255.255.255.252 10.0.0.2 or f0/0
Now I can ping router D -
EdTheLad Member Posts: 2,111 ■■■■□□□□□□The config you use will depend on the topology,you can inject the local segments into bgp or if you have a stub network you can use a default route.
Ibgp will not forward updates received from ibgp peers to other ibgp peers,but it will forward local networks injected into bgp to ibgp peers.Networking, sometimes i love it, mostly i hate it.Its all about the $$$$ -
Ching01 Member Posts: 83 ■■□□□□□□□□Now to make it more complex I add again aditional router as EBGP 300 which act as a core router, what I want is to summarize 10.0.0.4 to .16 network is one summary address.
So my network look like this
EBGP300
EBGP 100
EBGP200
IBGP200---IBGP 100 RRC
<<10.0.0.0/28 <<<<<<<<<<<<<<<<<<
How can I summarize 10.0.0.4 to 10.0.0.16 going to EBGP 300, later I will apply distributed list on int f1/0 to block the summary address 10.0.0.0/28 going to EBGP 200 towards IBGP 200
like this aggregate-address 10.0.0.0 255.255.255.240 summary only
Am I right? so that EBGP 300 can reach EBGP 200.
Anyway, Mike I found some site regarding summary in BGP so I 'll read it first. Thank you for your help now I understand why it needs IGP or static in BGP.