Real BGP table Telegram Bot with some network utilities
|
Connect BOT |
Analyze stats |
Read blog |
March 15, 2019
(Updated: March 19, 2019)
#cisco #juniper #bird #routes #bgp #cisjunbird
Cisco, Juniper, BIRD: One of the most frequent tasks in the administration of BGP interactions is basic diagnostics of the state of BGP peers: session state, accepted routes, advertised routes. The BGP protocol is the main and in fact the only used nowadays protocol for interaction between AS (autonomous systems). Accepted routes from an external BGP peer are an ability for your traffic to leave your autonomous system to the outside, to the resources of third-party providers. Routes that you announce are an ability for traffic from external networks to be delivered to your autonomous system, to your consumers.

Firstly, you need to check the state of your BGP-session – is it in up, down or another state?
Cisco:
Cetus# show ip bgp summary # IPv4-sessions
Cetus# show bgp ipv4 unicast summary # the same, IPv4-sessions, new style
Cetus# show bgp ipv6 unicast summary # IPv6 sessions
Juniper:
Juniper> show bgp summary
BIRD
BIRD> show protocols
Cisco# show bgp summary
BGP router identifier 195.209.62.245, local AS number 12722 # ID and ASn of this router
BGP table version is 30700908, main routing table version 30700908
756642 network entries using 187647216 bytes of memory
972837 path entries using 116740440 bytes of memory
166800/132739 BGP path/bestpath attribute entries using 41366400 bytes of memory
160500 BGP AS-PATH entries using 7229590 bytes of memory
2 BGP ATTR_SET entries using 80 bytes of memory
7585 BGP community entries using 1349790 bytes of memory
139 BGP extended community entries using 7204 bytes of memory
831 BGP route-map cache entries using 53184 bytes of memory
0 BGP filter-list cache entries using 0 bytes of memory
BGP using 354393824 total bytes of memory
BGP activity 1469287/648111 prefixes, 11459337/10421970 paths, scan interval 60 secs
Neighbor V AS MsgRcvd MsgSent TblVer InQ OutQ Up/Down State/PfxRcd
10.70.0.205 4 201706 0 0 1 0 0 never Idle (Admin) # this session is disabled in the configuration
31.28.19.1 4 29076 0 0 1 0 0 never Idle (Admin)
31.28.19.254 4 29076 0 0 1 0 0 never Idle (Admin)
45.63.95.157 4 65535 30753 4721230 30700868 0 0 3w3d 0 # this session is UP 3 weeks and 3 days, 0 routes received
45.77.76.135 4 65535 0 0 1 0 0 20:59:59 Idle # this session is DOWN 20 hours 59 mins, problem on the other side
82.144.64.249 4 25355 4368773 4693912 30700395 0 0 3w3d 4
195.209.44.50 4 199278 39482 4731874 30700395 0 0 3w3d 5
195.209.44.62 4 61293 420494 5014692 30700395 0 0 3w3d 3
195.209.63.217 4 12722 8201278 82719 30700923 0 0 3w3d 495637
195.209.63.218 4 12722 5105722 82740 30700923 0 0 3w3d 477151 # this session is up, 477151 routes received
Cisco#show bgp ipv6 unicast summary
BGP router identifier 195.209.62.245, local AS number 12722
BGP table version is 56236793, main routing table version 56236793
64530 network entries using 17552160 bytes of memory
64530 path entries using 9292320 bytes of memory
23150/23147 BGP path/bestpath attribute entries using 5741200 bytes of memory
160286 BGP AS-PATH entries using 7216730 bytes of memory
2 BGP ATTR_SET entries using 80 bytes of memory
7554 BGP community entries using 1345026 bytes of memory
138 BGP extended community entries using 7164 bytes of memory
270 BGP route-map cache entries using 17280 bytes of memory
0 BGP filter-list cache entries using 0 bytes of memory
BGP using 41171880 total bytes of memory
BGP activity 1469330/648134 prefixes, 11459722/10422317 paths, scan interval 60 secs
Neighbor V AS MsgRcvd MsgSent TblVer InQ OutQ Up/Down State/PfxRcd
2001:19F0:5:AD1:5400:FF:FE78:9606
4 65535 0 0 1 0 0 21:02:09 Idle # IPv6 session is UP
2A00:13C0:3:1::1F1C:1301
4 29076 67741 1207 56236776 0 0 17:34:43 64526
Juniper> show bgp summary
Groups: 10 Peers: 14 Down peers: 2
Table Tot Paths Act Paths Suppressed History Damp State Pending
inet.0
2284261 756618 0 0 0 0
Peer AS InPkt OutPkt OutQ Flaps Last Up/Dwn State|#Active/Received/Accepted/Damped...
31.44.187.100 50817 110999 19068 0 11 6d 2:37:48 1825/69868/69868/0 0/0/0/0 # this session is UP
31.44.187.254 50817 124100 22236 0 7 1w0d 3:00:14 8241/69546/69546/0 0/0/0/0
178.18.227.100 50952 789150 46257 0 3 2w0d 17:51:19 26444/88123/88123/0 0/0/0/0
195.209.32.114 39678 0 0 0 3 13w5d 10:49:38 Connect # trying to connect
195.209.37.42 51916 0 0 0 0 18w0d 4:49:05 Idle # this session experiencing problems, check remote side or link
195.209.37.138 51916 71715 8801975 0 11 3w3d 21:37:04 1/1/1/0 0/0/0/0
195.209.44.58 61293 420518 9754367 0 3 3w3d 22:03:56 3/3/3/0 0/0/0/0
195.209.63.218 12722 5105789 8171494 0 11 3w3d 22:00:36 260940/477158/477158/0 0/0/0/0
195.209.63.220 12722 82717 8201047 0 1 3w3d 22:01:12 22/42/28/0 0/0/0/0
BIRD> # show bgp summary bird> show protocols Name Proto Table State Since Info device1 Device --- up 2018-10-22 13:38:08 static1 Static master4 up 2018-10-22 13:38:08 R12722x773206538 BGP --- up 2019-02-19 21:21:51 Established # session with peer named R12722x773206538 are established R199278x773206544 BGP --- up 2019-02-19 21:22:16 Established R25355x773206540 BGP --- up 2019-02-19 21:22:14 Established R5537x773206543 BGP --- up 2019-02-16 00:56:17 Established R61960x773206542 BGP --- up 2019-02-19 21:21:54 Established
Then, you can check specific peer you are interested
Cisco# show ip bgp neighbors < ip-address >
Juniper# show bgp neighbor < ip-address >
BIRD# show protocols < peer name > # short output for peer show protocols all < peer name > # detailed output for specific peer
Cisco#show ip bgp neighbors 195.209.63.217
BGP neighbor is 195.209.63.217, remote AS 12722, internal link
Member of peer-group JUNIPERS for session parameters
BGP version 4, remote router ID 195.209.62.231
BGP state = Established, up for 3w3d
Last read 00:00:01, last write 00:00:04, hold time is 90, keepalive interval is 30 seconds
Neighbor sessions:
1 active, is not multisession capable (disabled)
Neighbor capabilities:
Route refresh: advertised and received(new)
Four-octets ASN Capability: advertised and received
Address family IPv4 Unicast: advertised and received
Graceful Restart Capability: received
Remote Restart timer is 120 seconds
Address families advertised by peer:
none
Enhanced Refresh Capability: advertised
Multisession Capability:
Stateful switchover support enabled: NO for session 1
Message statistics:
InQ depth is 0
OutQ depth is 0
Sent Rcvd
Opens: 1 1
Notifications: 0 0
Updates: 4839 8125901
Keepalives: 77902 77637
Route Refresh: 0 0
Total: 82742 8203539
Default minimum time between advertisement runs is 0 seconds
For address family: IPv4 Unicast
Session: 195.209.63.217
BGP table version 30709553, neighbor version 30709553/0
Output queue size : 0
Index 4, Advertise bit 3
4 update-group member
JUNIPERS peer-group member
Community attribute sent to this neighbor
Slow-peer detection is disabled
Slow-peer split-update-group dynamic is disabled
Interface associated: (none)
Sent Rcvd
Juniper> show bgp neighbor 85.112.122.1
Peer: 85.112.122.1+179 AS 25478 Local: 85.112.122.150+64144 AS 12722
Group: WIX Routing-Instance: master
Forwarding routing-instance: master
Type: External State: Established Flags:
Last State: OpenConfirm Last Event: RecvKeepAlive
Last Error: Cease
Export: [ WIX.RM.out ] Import: [ WIX.RM.in ]
Options:
Options:
Holdtime: 90 Preference: 170
Number of flaps: 4
Last flap event: Stop
Error: ′Hold Timer Expired Error′ Sent: 1 Recv: 0
Error: ′Cease′ Sent: 1 Recv: 2
Peer ID: 85.112.122.1 Local ID: 195.209.62.231 Active Holdtime: 90
Keepalive Interval: 30 Group index: 7 Peer index: 0 SNMP index: 41
I/O Session Thread: bgpio-0 State: Enabled
BFD: enabled, down
Local Interface: ae2101.3018
NLRI for restart configured on peer: inet-unicast
NLRI advertised by peer: inet-unicast
NLRI for this session: inet-unicast
Peer supports Refresh capability (2)
Stale routes from peer are kept for: 300
Peer does not support Restarter functionality
NLRI that restart is negotiated for: inet-unicast
NLRI of received end-of-rib markers: inet-unicast
NLRI of all end-of-rib markers sent: inet-unicast
Peer does not support LLGR Restarter or Receiver functionality
Peer supports 4 byte AS extension (peer-as 25478)
Peer does not support Addpath
Table inet.0 Bit: 20000
RIB State: BGP restart is complete
Send state: in sync
Active prefixes: 257585
Received prefixes: 744923
Accepted prefixes: 744923
Suppressed due to damping: 0
Advertised prefixes: 8
Last traffic (seconds): Received 17922590 Sent 2150955 Checked 17922590
Input messages: Total 11139937 Updates 11058656 Refreshes 0 Octets 1221515122
Output messages: Total 77678 Updates 12 Refreshes 0 Octets 1476290
Output Queue[1]: 0 (inet.0, inet-unicast)
bird> show protocols all R12722x773206538
Name Proto Table State Since Info
R12722x773206538 BGP --- up 2019-02-19 21:21:51 Established
bird> show protocols all R12722x773206538
Name Proto Table State Since Info
R12722x773206538 BGP --- up 2019-02-19 21:21:51 Established
Description: RECONN - RECONN peer 1
BGP state: Established
Neighbor address: 46.22.50.10
Neighbor AS: 12722
Neighbor ID: 195.209.62.231
Local capabilities
Multiprotocol
AF announced: ipv4
Route refresh
Graceful restart
4-octet AS numbers
Enhanced refresh
Neighbor capabilities
Multiprotocol
AF announced: ipv4
Route refresh
Graceful restart
4-octet AS numbers
Session: external route-server AS4
Source address: 46.22.50.1
Hold timer: 71.815/90
Keepalive timer: 0.255/30
Channel ipv4
State: UP
Table: master4
Preference: 100
Input filter: bgp_in_AS12722
Output filter: ACCEPT
Import limit: 10000
Action: restart
Routes: 26 imported, 70 exported
Route change stats: received rejected filtered ignored accepted
Import updates: 33 0 5 0 28
Import withdraws: 2 0 --- 5 2
Export updates: 111 30 0 --- 81
Export withdraws: 4 --- --- --- 2
BGP Next hop: 46.22.50.1
Well, if the session is established, we can check which routes we receive from our BGP peer
Cisco# show ip bgp neighbors < ip-address > routes
Juniper# show route receive-protocol bgp < peer ip-address >
BIRD#show route protocol < peer name > # short output for peer show route protocol < peer name > all # detailed
Cisco#show ip bgp neighbors 195.209.63.217 routes
BGP table version is 30866234, local router ID is 195.209.62.245
Status codes: s suppressed, d damped, h history, * valid, > best, i - internal,
r RIB-failure, S Stale, m multipath, b backup-path, f RT-Filter,
x best-external, a additional-path, c RIB-compressed,
Origin codes: i - IGP, e - EGP, ? - incomplete
RPKI validation codes: V valid, I invalid, N Not found
Network Next Hop Metric LocPrf Weight Path
*>i 1.0.4.0/24 195.209.63.217 1599 110 0 6939 4826 38803 56203 i
*>i 1.0.4.0/22 195.209.63.217 1599 110 0 6939 4826 38803 56203 i
*>i 1.0.5.0/24 195.209.63.217 1599 110 0 6939 4826 38803 56203 i
*>i 1.0.6.0/24 195.209.63.217 1599 110 0 6939 4826 38803 56203 i
*>i 1.0.7.0/24 195.209.63.217 1599 110 0 6939 4826 38803 56203 i
*>i 1.0.16.0/24 195.209.63.217 290 60 0 20764 174 2519 i
*>i 1.0.64.0/18 195.209.63.217 300 60 0 20485 2497 7670 18144 i
*>i 1.0.129.0/24 195.209.63.217 1600 110 0 6939 4651 23969 i
*>i 1.1.8.0/24 195.209.63.217 300 60 0 20485 4134 i
*>i 1.1.20.0/24 195.209.63.217 60 0 31500 4637 133948 i
*>i 1.1.64.0/19 195.209.63.217 420 60 0 10026 2519 i
*>i 1.1.103.0/24 195.209.63.217 420 60 0 10026 2519 i
*>i 1.1.104.0/24 195.209.63.217 420 60 0 10026 2519 i
*>i 1.1.105.0/24 195.209.63.217 420 60 0 10026 2519 i
*>i 1.1.106.0/24 195.209.63.217 420 60 0 10026 2519 i
...
Juniper> show route receive-protocol bgp 31.28.19.254 inet.0: 761027 destinations, 1990142 routes (761024 active, 1 holddown, 2 hidden) Prefix Nexthop MED Lclpref AS path 0.0.0.0/0 31.28.19.100 29076 I * 1.0.0.0/24 31.28.19.100 4 13335 I 1.0.4.0/22 31.28.19.100 5 6939 4826 38803 56203 I 1.0.4.0/24 31.28.19.100 5 6939 4826 38803 56203 I 1.0.5.0/24 31.28.19.100 5 6939 4826 38803 56203 I 1.0.6.0/24 31.28.19.100 5 6939 4826 38803 56203 I 1.0.7.0/24 31.28.19.100 5 6939 4826 38803 56203 I 1.0.16.0/24 31.28.19.184 1299 2497 2519 2519 I 1.0.64.0/18 31.28.19.100 0 6939 10026 2519 7670 18144 I * 1.0.128.0/17 31.28.19.100 0 38040 23969 I * 1.0.128.0/18 31.28.19.100 0 38040 23969 I * 1.0.128.0/19 31.28.19.100 0 38040 23969 I * 1.0.128.0/24 31.28.19.100 0 38040 23969 ? 1.0.129.0/24 31.28.19.100 5 6939 4651 23969 I * 1.0.131.0/24 31.28.19.100 0 38040 23969 ? 1.0.132.0/22 31.28.19.100 0 38040 23969 ? * 1.0.136.0/24 31.28.19.100 0 38040 23969 ? ...
bird> show route protocol R5537x773206543
Table master4:
194.85.196.0/22 unicast [R5537x773206543 2019-02-16 00:56:23] * (100) [AS47595i]
via 46.22.50.15 on eth1
31.177.82.0/23 unicast [R5537x773206543 2019-02-16 00:56:23] * (100) [AS48287i]
via 46.22.50.15 on eth1
31.177.88.0/21 unicast [R5537x773206543 2019-02-16 00:56:23] * (100) [AS48287i]
via 46.22.50.15 on eth1
194.85.192.0/22 unicast [R5537x773206543 2019-02-16 00:56:23] * (100) [AS47595i]
via 46.22.50.15 on eth1
31.177.92.0/22 unicast [R5537x773206543 2019-02-16 00:56:23] * (100) [AS48287i]
via 46.22.50.15 on eth1
31.177.80.0/21 unicast [R5537x773206543 2019-02-16 00:56:23] * (100) [AS48287i]
via 46.22.50.15 on eth1
31.177.72.0/21 unicast [R5537x773206543 2019-02-16 00:56:23] * (100) [AS48287i]
via 46.22.50.15 on eth1
...
bird> show route protocol R5537x773206543 all
Table master4:
194.85.196.0/22 unicast [R5537x773206543 2019-02-16 00:56:23] * (100) [AS47595i]
via 46.22.50.15 on eth1
Type: BGP univ
BGP.origin: IGP
BGP.as_path: 5537 48287 47595
BGP.next_hop: 46.22.50.15
BGP.local_pref: 100
BGP.community: (47595,10600) (48287,5003) (48287,50102)
31.177.82.0/23 unicast [R5537x773206543 2019-02-16 00:56:23] * (100) [AS48287i]
via 46.22.50.15 on eth1
Type: BGP univ
BGP.origin: IGP
BGP.as_path: 5537 48287
BGP.next_hop: 46.22.50.15
BGP.local_pref: 100
BGP.community: (48287,50200)
31.177.88.0/21 unicast [R5537x773206543 2019-02-16 00:56:23] * (100) [AS48287i]
via 46.22.50.15 on eth1
Type: BGP univ
BGP.origin: IGP
BGP.as_path: 5537 48287
BGP.next_hop: 46.22.50.15
BGP.local_pref: 100
BGP.community: (48287,50201)
194.85.192.0/22 unicast [R5537x773206543 2019-02-16 00:56:23] * (100) [AS47595i]
via 46.22.50.15 on eth1
Type: BGP univ
BGP.origin: IGP
BGP.as_path: 5537 48287 47595
...
Finally check what routes we announce to our BGP peer
Cisco# show ip bgp neighbors < ip-address > routes
Juniper# show route receive-protocol bgp < peer ip-address >
BIRD#show route protocol < peer name > # short output for peer show route protocol < peer name > all # detailed
Cisco# sh ip bgp neighbors 195.209.63.217 advertised-routes
BGP table version is 34698136, local router ID is 195.209.62.245
Status codes: s suppressed, d damped, h history, * valid, > best, i - internal,
r RIB-failure, S Stale, m multipath, b backup-path, f RT-Filter,
x best-external, a additional-path, c RIB-compressed,
Origin codes: i - IGP, e - EGP, ? - incomplete
RPKI validation codes: V valid, I invalid, N Not found
Network Next Hop Metric LocPrf Weight Path
*> 5.45.80.0/22 195.209.63.83 20 32768 i
*> 5.45.81.105/32 172.31.255.1 0 32768 ?
*> 37.252.0.0/23 195.209.63.83 20 32768 i
*> 46.22.48.0/20 0.0.0.0 0 32768 i
*> 77.72.80.0/23 195.209.37.82 0 180 0 42288 42288 42288 42288 42288 42288 42288 42288 i
*> 80.253.4.0/22 195.209.37.18 0 150 0 8441 i
*> 82.144.64.0/19 82.144.64.249 0 150 0 25355 i
*> 85.31.123.0/24 91.224.127.50 0 150 0 39678 i
*> 85.31.124.0/24 91.224.127.50 0 150 0 39678 i
*> 85.92.118.0/24 195.209.44.42 180 0 198770 i
*> 87.239.104.0/21 195.209.63.83 20 32768 i
*> 87.239.144.0/21 195.209.63.83 20 32768 i
*> 89.110.64.0/18 195.209.63.83 20 32768 i
*> 91.105.232.0/21 0.0.0.0 0 32768 6870 e
*> 91.224.126.0/23 0.0.0.0 0 32768 i
*> 91.241.12.0/24 91.224.126.254 0 180 0 59459 59459 59459 59459 59459 59459 ?
*> 91.241.13.0/24 91.224.127.250 180 0 59459 ?
*> 93.170.76.0/24 195.209.63.83 20 32768 i
...
Juniper> show route advertising-protocol bgp 109.239.134.181 inet.0: 761853 destinations, 2294276 routes (761851 active, 0 holddown, 16 hidden) Prefix Nexthop MED Lclpref AS path * 5.45.80.0/22 Self 20 I * 37.252.0.0/23 Self 20 I * 46.22.48.0/20 Self 20 I * 80.253.4.0/22 Self 8441 I * 85.31.123.0/24 Self 39678 I * 85.31.124.0/24 Self 39678 I * 87.239.104.0/21 Self 20 I * 87.239.144.0/21 Self 20 I * 89.110.64.0/18 Self 20 I * 91.105.232.0/21 Self 6870 E * 91.224.126.0/23 Self 20 I * 91.241.12.0/24 Self 59459 59459 59459 59459 59459 59459 ? * 91.241.13.0/24 Self 59459 ? * 146.120.110.0/24 Self 20 I * 185.4.64.0/22 Self 20 I * 185.12.152.0/23 Self 61293 I * 185.12.152.0/24 Self 61293 I * 185.12.153.0/24 Self 61293 I ...
bird> show route export R5537x773206543
Table master4:
193.203.40.0/22 unicast [R12722x773206538 2019-03-13 15:53:28] * (100) [AS12722i]
via 46.22.50.10 on eth1
194.33.180.0/24 unicast [R12722x773206538 2019-03-13 15:53:28] * (100) [AS12722i]
via 46.22.50.10 on eth1
193.26.18.0/24 unicast [R12722x773206538 2019-03-13 15:53:28] * (100) [AS12722i]
via 46.22.50.10 on eth1
146.120.110.0/24 unicast [R12722x773206538 2019-03-13 15:53:27] * (100) [AS12722i]
via 46.22.50.10 on eth1
91.241.13.0/24 unicast [R12722x773206538 2019-03-13 15:53:26] * (100) [AS59459?]
via 46.22.50.10 on eth1
91.241.12.0/24 unicast [R12722x773206538 2019-03-13 15:53:26] * (100) [AS59459?]
via 46.22.50.10 on eth1
46.22.48.0/20 unicast [R12722x773206538 2019-03-13 15:53:25] * (100) [AS12722i]
via 46.22.50.10 on eth1
...
bird> show route export R5537x773206543 all
Table master4:
193.203.40.0/22 unicast [R12722x773206538 2019-03-13 15:53:28] * (100) [AS12722i]
via 46.22.50.10 on eth1
Type: BGP univ
BGP.origin: IGP
BGP.as_path: 12722
BGP.next_hop: 46.22.50.10
BGP.med: 20
BGP.local_pref: 100
194.33.180.0/24 unicast [R12722x773206538 2019-03-13 15:53:28] * (100) [AS12722i]
via 46.22.50.10 on eth1
Type: BGP univ
BGP.origin: IGP
BGP.as_path: 12722
BGP.next_hop: 46.22.50.10
BGP.med: 20
BGP.local_pref: 100
193.26.18.0/24 unicast [R12722x773206538 2019-03-13 15:53:28] * (100) [AS12722i]
via 46.22.50.10 on eth1
Type: BGP univ
BGP.origin: IGP
BGP.as_path: 12722
BGP.next_hop: 46.22.50.10
BGP.local_pref: 100
146.120.110.0/24 unicast [R12722x773206538 2019-03-13 15:53:27] * (100) [AS12722i]
via 46.22.50.10 on eth1
Type: BGP univ
BGP.origin: IGP
BGP.as_path: 12722
--More--