社團屬性:
說明:
上圖中所有路由器都配有Loopback地址,地址分別爲:
R1 Loopback 0 1.1.1.1/32 Loopback 11 11.1.1.1/24
R2 Loopback 0 2.2.2.2/32 Loopback 22 22.2.2.2/24
R3 Loopback 0 3.3.3.3/32 Loopback 33 33.3.3.3/24
R4 Loopback 0 4.4.4.4/32 Loopback 44 44.4.4.4/24
R5 Loopback 0 5.5.5.5/32 Loopback 55 55.5.5.5/24
R6 Loopback 0 6.6.6.6/32 Loopback 66 66.6.6.6/24
3.測試no-export
說明:在R5上將路由55.5.5.0/24設置no-export後傳遞給R4,由於帶no-export的路由不能傳遞給任何eBGP鄰居,所以R6將無法收到R4轉發的55.5.5.0/24。
(1)查看R4的BGP路由
Network Next Hop Metric LocPrf Weight Path
* 11.11.11.11/32 3.3.3.3 0 123 i
*> 2.2.2.2 0 123 i
*> 22.22.22.22/32 2.2.2.2 0 0 123 i
*> 33.33.33.33/32 3.3.3.3 0 0 123 i
*> 44.44.44.44/32 0.0.0.0 0 32768 i
*> 55.55.55.55/32 45.0.0.5 0 0 5 i
*> 66.66.66.66/32 46.0.0.6 0 0 6 i
* 100.1.1.0/24 3.3.3.3 0 123 i
*> 2.2.2.2 0 123 i
*> 100.1.2.0/24 46.0.0.6 0 0 6 i
*> 100.1.3.0/24 46.0.0.6 0 0 6 i
說明:R4擁有全部的路由,其中包括R5發來的所有路由。
(2)查看R6的BGP路由
r6#sh ip bgp
Network Next Hop Metric LocPrf Weight Path
*> 11.11.11.11/32 46.0.0.4 0 4 123 i
*> 22.22.22.22/32 46.0.0.4 0 4 123 i
*> 33.33.33.33/32 46.0.0.4 0 4 123 i
*> 44.44.44.44/32 46.0.0.4 0 0 4 i
*> 55.55.55.55/32 46.0.0.4 0 4 5 i
*> 66.66.66.66/32 0.0.0.0 0 32768 i
*> 100.1.1.0/24 46.0.0.4 0 4 123 i
*> 100.1.2.0/24 0.0.0.0 0 32768 i
*> 100.1.3.0/24 0.0.0.0 0 32768 i
說明:R4已將自己的全部路由發給R6。
(3)R5將自己的路由55.55.55.55/32設置no-export後發給R4
access-list 5 permit 55.55.55.55
!
route-map filter permit 10
match ip address 5
set community no-export
!
route-map filter permit 20
!
router bgp 5
neighbor 45.0.0.4 send-community
neighbor 45.0.0.4 route-map filter out
說明:R5已將自己的路由55.5.5.0/24設置no-export,並且指示將community傳給R4。
(4)查看R4收到的帶community的路由
r4#sh ip bgp community
Network Next Hop Metric LocPrf Weight Path
*> 55.55.55.55/32 45.0.0.5 0 0 5 i
r4#
說明:R4已經收到R5發來的帶community的路由。
(5)查看R4收到的帶community的路由
R4#show ip bg 55.55.55.55
BGP routing table entry for 55.55.55.55/32, version 11
Paths: (1 available, best #1, table Default-IP-Routing-Table, not advertised to EBGP peer)
Flag: 0x880
Not advertised to any peer
5
45.0.0.5 from 45.0.0.5 (5.5.5.5)
Origin IGP, metric 0, localpref 100, valid, external, best
Community: no-export
說明:R4收到的路由55.5.5.0/24的community爲no-export,也就是不將該路由傳給任何eBGP鄰居。
(6)查看R4的eBGP鄰居R6的路由情況
r6#sh ip bgp
Network Next Hop Metric LocPrf Weight Path
*> 11.11.11.11/32 46.0.0.4 0 4 123 i
*> 22.22.22.22/32 46.0.0.4 0 4 123 i
*> 33.33.33.33/32 46.0.0.4 0 4 123 i
*> 44.44.44.44/32 46.0.0.4 0 0 4 i
*> 66.66.66.66/32 0.0.0.0 0 32768 i
*> 100.1.1.0/24 46.0.0.4 0 4 123 i
*> 100.1.2.0/24 0.0.0.0 0 32768 i
*> 100.1.3.0/24 0.0.0.0 0 32768 i
說明:因爲R4的路由55.5.5.0/24的community爲no-export,也就是不將該路由傳給任何eBGP鄰居,所以R6沒有收到55.55.55.55/32。
4.測試no-advertise
說明:在R4上將路由44.4.4.0/24設置no-advertise後傳遞給R2,由於帶no-advertise的路由不能傳遞給任何BGP鄰居,所以R1將無法收到R2轉發的44.4.4.0/24。
(1)查看R2的BGP路由
r2#sh ip bgp
Network Next Hop Metric LocPrf Weight Path
*>i11.11.11.11/32 1.1.1.1 0 100 0 i
*> 22.22.22.22/32 0.0.0.0 0 32768 i
*> 44.44.44.44/32 4.4.4.4 0 0 4 i
*> 66.66.66.66/32 4.4.4.4 0 4 6 i
*>i100.1.1.0/24 1.1.1.1 0 100 0 i
*> 100.1.2.0/24 4.4.4.4 0 4 6 i
*> 100.1.3.0/24 4.4.4.4 0 4 6 i
說明:R2擁有全部的路由,其中包括R4發來的所有路由。
(2)查看R1的BGP路由
r1#sh ip bgp
Network Next Hop Metric LocPrf Weight Path
*> 11.11.11.11/32 0.0.0.0 0 32768 i
*>i22.22.22.22/32 2.2.2.2 0 100 0 i
*>i33.33.33.33/32 3.3.3.3 0 100 0 i
*>i44.44.44.44/32 2.2.2.2 0 100 0 4 i
* i 3.3.3.3 0 100 0 4 i
*>i66.66.66.66/32 2.2.2.2 0 100 0 4 6 i
* i 3.3.3.3 0 100 0 4 6 i
*> 100.1.1.0/24 0.0.0.0 0 32768 i
*>i100.1.2.0/24 2.2.2.2 0 100 0 4 6 i
* i 3.3.3.3 0 100 0 4 6 i
*>i100.1.3.0/24 2.2.2.2 0 100 0 4 6 i
* i 3.3.3.3 0 100 0 4 6 i
說明:R2已將自己的全部路由發給R1。
(3)R4將自己的路由44.4.4.0/24設置no-advertise後發給R2
access-list 4 permit 44.44.44.44
!
route-map R4-R2 permit 10
match ip address 4
set community no-advertise
!
route-map R4-R2 permit 20
neighbor 2.2.2.2 send-community
neighbor 2.2.2.2 route-map R4-R2 out
說明:R4已將自己的路由44.4.4.0/24設置no-advertise,並且指示將community傳給R2。
(4)查看R2收到的帶community的路由
R2#show ip bgp
*Oct 10 12:30:04.351: %SYS-5-CONFIG_I: Configured from console by console
R2#show ip bgp ro
R2#show ip bgp 44.44.44.44
BGP routing table entry for 44.44.44.44/32, version 11
Paths: (1 available, best #1, table Default-IP-Routing-Table, not advertised to any peer)
Flag: 0x880
Not advertised to any peer
4
4.4.4.4 from 4.4.4.4 (4.4.4.4)
Origin IGP, metric 0, localpref 100, valid, external, best
Community: no-advertise
說明:R2收到的路由44.4.4.0/24的community爲no-advertise,也就是不將該路由傳給任何BGP鄰居。
(5)查看R2的鄰居R1的路由情況
r1#sh ip bgp
Network Next Hop Metric LocPrf Weight Path
*> 11.11.11.11/32 0.0.0.0 0 32768 i
*>i22.22.22.22/32 2.2.2.2 0 100 0 i
*>i33.33.33.33/32 3.3.3.3 0 100 0 i
*>i44.44.44.44/32 3.3.3.3 0 100 0 4 i
*>i66.66.66.66/32 2.2.2.2 0 100 0 4 6 i
* i 3.3.3.3 0 100 0 4 6 i
*> 100.1.1.0/24 0.0.0.0 0 32768 i
*>i100.1.2.0/24 2.2.2.2 0 100 0 4 6 i
* i 3.3.3.3 0 100 0 4 6 i
*>i100.1.3.0/24 2.2.2.2 0 100 0 4 6 i
* i 3.3.3.3 0 100 0 4 6 i
說明:因爲R2的路由44.4.4.0/24的community爲no-advertise,也就是不將該路由傳給任何鄰居,所以R1沒有收到R2發來的44.4.4.0/24。
5.測試普通私有Community
說明:私有Community的功能爲路由標籤,通過利用Community標籤來匹配路由。
(1)R4將100.0.0.0/8的全部路由的Community設置爲 123,併發給R5
route-map R4-R5 permit 10
match ip address 44
set community 123
!
route-map R4-R5 permit 20
access-list 44 permit 100.0.0.0 0.255.255.255
neighbor 45.0.0.5 send-community
neighbor 45.0.0.5 route-map R4-R5 out
說明:R4將100.0.0.0/8的全部路由的Community設置爲 123,併發給R5
(2)查看R5收到的帶community的路由
r5#sh ip bgp community
Network Next Hop Metric LocPrf Weight Path
*> 100.1.1.0/24 45.0.0.4 0 4 123 i
*> 100.1.2.0/24 45.0.0.4 0 4 6 i
*> 100.1.3.0/24 45.0.0.4 0 4 6 i
說明:R4收到的帶community的路由爲全部100.0.0.0/8。
(3)查看R5當前BGP路由情況
r5#sh ip bgp
Network Next Hop Metric LocPrf Weight Path
*> 11.11.11.11/32 45.0.0.4 0 4 123 i
*> 22.22.22.22/32 45.0.0.4 0 4 123 i
*> 33.33.33.33/32 45.0.0.4 0 4 123 i
*> 44.44.44.44/32 45.0.0.4 0 0 4 i
*> 55.55.55.55/32 0.0.0.0 0 32768 i
*> 66.66.66.66/32 45.0.0.4 0 4 6 i
*> 100.1.1.0/24 45.0.0.4 0 4 123 i
*> 100.1.2.0/24 45.0.0.4 0 4 6 i
*> 100.1.3.0/24 45.0.0.4 0 4 6 i
說明:R5當前BGP路由正常,包括10.0.0.0/8。
(5)R5將所有community爲123的路由的weight值改爲123
ip community-list 5 permit 123
route-map weight permit 10
match community 5
set weight 123
!
route-map weight permit 20
neighbor 45.0.0.4 route-map weight in
說明:R5上community-list匹配community爲123的路由,並將weight值改爲123。
(6)查看R5修改後的路由情況
r5#sh ip bgp
Network Next Hop Metric LocPrf Weight Path
*> 11.11.11.11/32 45.0.0.4 0 4 123 i
*> 22.22.22.22/32 45.0.0.4 0 4 123 i
*> 33.33.33.33/32 45.0.0.4 0 4 123 i
*> 44.44.44.44/32 45.0.0.4 0 0 4 i
*> 66.66.66.66/32 45.0.0.4 0 4 6 i
*> 100.1.1.0/24 45.0.0.4 123 4 123 i
*> 100.1.2.0/24 45.0.0.4 123 4 6 i
*> 100.1.3.0/24 45.0.0.4 123 4 6 i
說明:community爲123的路由100.0.0.0/8的weight值已被改爲123。
6.測試AS:NN私有Community
(1)R4將100.0.0.0/8的全部路由的Community設置爲 4:123,併發給R5
注:刪除上題的route-map
access-list 44 permit 100.0.0.0 0.255.255.255
!
route-map R4-R5 permit 10
match ip address 44
set community 262267
!
route-map R4-R5 permit 20
neighbor 45.0.0.5 send-community
neighbor 45.0.0.5 route-map R4-R5 out
r4(config)#ip bgp-community new-format
r5(config)#ip bgp-community new-format
打上此命令再看:
route-map R4-R5 permit 10
match ip address 44
set community 4:123
!
route-map R4-R5 permit 20
說明:R4將100.0.0.0/8的全部路由的Community設置爲4: 123,併發給R5,
講解:
community屬性是一組4個8位的數值。RFC中規定:前2個8位表示 ,後2個8位表示出於管理自定義的標識符,格式爲AA:NN;CISCO的格式爲NN:AA,用ip bgp-community new-format將CISCO的格式轉爲RFC格式。 如果不更改,如上,4:123這個數值,將10進制轉換爲16進制,4=0004 123=007B 加一起:4007B 將此16進制轉換爲10進制等於262267
周知團體屬性也是靠這個數值來運作的。
7.測試錯誤AS號碼下的BGP鄰居
說明:當在指定BGP鄰居時,如果AS號碼錯誤,可以通過AS欺騙的形式來建立鄰居。
(1)在R5上配置BGP
r5(config-router)#neighbor 4.4.4.4 remote-as 100
說明:鄰居4.4.4.4應該是AS 4的,而R5錯指爲100。
(2)在R4上配置AS 欺騙
r4(config)#router bgp 4
R4(config-router)#nei 45.0.0.5 local-as 100
說明:R4將自己針對鄰居5.5.5.5的AS改爲100,以建立BGP鄰居。
(3)查看R5的BGP路由
r5#sh ip bgp
Network Next Hop Metric LocPrf Weight Path
*> 11.11.11.11/32 45.0.0.4 0 100 4 123 i
*> 22.22.22.22/32 45.0.0.4 0 100 4 123 i
*> 33.33.33.33/32 45.0.0.4 0 100 4 123 i
*> 44.44.44.44/32 45.0.0.4 0 0 100 4 i
*> 55.55.55.55/32 0.0.0.0 0 32768 i
*> 66.66.66.66/32 45.0.0.4 0 100 4 6 i
*> 100.1.1.0/24 45.0.0.4 0 100 4 123 i
*> 100.1.2.0/24 45.0.0.4 0 100 4 6 i
*> 100.1.3.0/24 45.0.0.4 0 100 4 6 i
說明:R4在將所有路由發給R5時,除了原有的所有真正AS外,虛假AS 100也被添加進了AS_Path中,用以欺騙R5。
(4)查看R6的BGP路由
r6#sh ip bgp
*> 55.55.55.55/32 46.0.0.4 0 4 100 5 i
說明:對於R4與R5之間的虛假AS 100,在將路由發給R6時,這個AS同樣存在。
(5)在AS_Path中移除虛假AS 100
R4(config-router)#nei 45.0.0.5 local-as 100 no-prepend
說明:指定虛假AS 100不添加在AS_Path中。
對於R5來說,虛假的AS 100無法去除,因爲對方鄰居指定爲100,如果AS_Path中沒有AS 100,則會有錯誤。
(6)再次查看R6的BGP路由
r6#sh ip bgp
*> 55.55.55.55/32 46.0.0.4 0 4 5 i
說明:在將路由發給與虛假AS 100不相關的鄰居時,虛假AS 可以不添加到AS_Path中。