順序也要記住
1.優(yōu)選協(xié)議首選值(Preference_Value)最高的路由。(私有屬性,僅本地有效)
2.優(yōu)選本地優(yōu)先級(Local_Preference)最高的路由。 (100,IBGP,越大越優(yōu))
3.優(yōu)選本地生成的路由。手動聚合>自動聚合>network>import>從對等體學到的。
4.優(yōu)選 AS_Path 短的路由。
5.比較 Origin 屬性,起源類型 IGP>EGP>Incomplete。 i>e>?
6.優(yōu)選 MED(Multi Exit Discriminator)值最低的路由。 (0,EBGP,越小越優(yōu))
7.優(yōu)選從 EBGP 學來的路由(EBGP>IBGP)。
8.優(yōu)選 AS 內(nèi)部 IGP 的 Metric 最小的路由。
前 8 條選路規(guī)則一樣,可以實現(xiàn) BGP 的負載分擔
bgp 100
maximum load-balancing 2
9.優(yōu)選 Cluster_List 最短的路由。 (有做路由反射器RR才考慮)
10.優(yōu)選 Router_ID 最小的路由器發(fā)布的路由。
11.優(yōu)選具有較小 IP 地址的鄰居學來的路由。
如果配置了負載分擔,當前8個規(guī)則相同,且存在多條AS_Path完全相同的外部路由,則根據(jù)配置的路由條數(shù)選擇多條路由進行負載分擔
PreVal
BGP 路由屬性的比較過程中,首先要比較的就是路由信息首選值 Preference Value,也簡稱為 PreVal。相當于BGP選路規(guī)則中的Weight值,值越大,優(yōu)先級越高,默認為 0,不會發(fā)送給任何 BGP 鄰居,僅作為本地路由器用來選路使用。
ip ip-prefix 1 permit 55.55.55.0 24
route-policy 10 permit node 1
if-match ip-prefix 1
apply preferred-value 100
route-policy 10 permit node 2
bgp 100
peer 2.2.2.2 route-policy 10 import
router id: 1.1.1.1 。根據(jù)11條路由選路規(guī)則,R1的Router ID更小,他默認會往R1那條路走。
現(xiàn)在我想讓他往R2走
1、基本配置 R1: sys sysnameR1 intloop0 ipadd1.1.1.132 intg0/0/0 ipadd192.168.13.124 intg0/0/1 ipadd192.168.14.124 q R2: sys sysnameR2 intloop0 ipadd2.2.2.232 intg0/0/1 ipadd192.168.23.224 intg0/0/0 ipadd192.168.24.224 q R3: sys sysnameR3 intloop0 ipadd3.3.3.332 intloop1 ipadd33.33.33.3332 intg0/0/0 ipadd192.168.13.324 intg0/0/1 ipadd192.168.23.324 q R4: sys sysnameR4 intloop0 ipadd4.4.4.432 intloop1 ipadd44.44.44.4432 intloop2 ipadd55.55.55.5532 intg0/0/0 ipadd192.168.14.424 intg0/0/1 ipadd192.168.24.424 q 2.配置RIP協(xié)議 R1: rip version2 net192.168.13.0 net1.0.0.0 R2: rip version2 net192.168.23.0 net2.0.0.0 R3: rip version2 net192.168.13.0 net192.168.23.0 net3.0.0.0 3.配置IBGP鄰居 R1: [R1]bgp100 [R1-bgp]router-id1.1.1.1 [R1-bgp]peer3.3.3.3as-n100 [R1-bgp]peer3.3.3.3conloo0 [R1-bgp]peer3.3.3.3next-hop-local [R1-bgp]peer2.2.2.2as-n100 [R1-bgp]peer2.2.2.2conloo0 [R1-bgp]peer2.2.2.2next-hop-local R2: [R2]bgp100 [R2-bgp]router-id2.2.2.2 [R2-bgp]peer1.1.1.1as-n100 [R2-bgp]peer1.1.1.1conloo0 [R2-bgp]peer1.1.1.1next-hop-local [R2-bgp]peer3.3.3.3as-n100 [R2-bgp]peer3.3.3.3conloo0 [R2-bgp]peer3.3.3.3next-hop-local R3: [R3]bgp100 [R3-bgp]router-id3.3.3.3 [R3-bgp]peer1.1.1.1as-n100 [R3-bgp]peer1.1.1.1conloo0 [R3-bgp]peer2.2.2.2as-n100 [R3-bgp]peer2.2.2.2conloo0 4.配置靜態(tài)路由 解決R1、R2的靜態(tài)路由,回包路由 [R1]iproute-static4.4.4.432192.168.14.4 [R2]iproute-static4.4.4.432192.168.24.4 [R4]iproute-static1.1.1.132192.168.14.1 [R4]iproute-static2.2.2.232192.168.24.2 5.建立EBGP鄰居 現(xiàn)在R1R2來和R4建立鄰居 [R1]bgp100 [R1-bgp]peer4.4.4.4as-n200 [R1-bgp]peer4.4.4.4conloo0 [R1-bgp]peer4.4.4.4ebgp-max-hop [R2]bgp100 [R2-bgp]peer4.4.4.4as-n200 [R2-bgp]peer4.4.4.4conloo0 [R2-bgp]peer4.4.4.4ebgp-max-hop [R4]bgp200 [R4-bgp]router-id4.4.4.4 [R4-bgp]peer1.1.1.1as-n100 [R4-bgp]peer1.1.1.1conloo0 [R4-bgp]peer1.1.1.1ebgp-max-hop [R4-bgp]peer2.2.2.2as-n100 [R4-bgp]peer2.2.2.2conloo0 [R4-bgp]peer2.2.2.2ebgp-max-hop 6.宣告網(wǎng)段,傳遞路由 把R3的條目放到BGP里 [R3-bgp]net33.33.33.3332 [R4]bgp200 [R4-bgp]net44.44.44.4432 [R4-bgp]net55.55.55.5532 [R3-bgp]disbgprouting-table44.44.44.44查看詳細參數(shù) 發(fā)現(xiàn)IGPcost1,notpreferredforrouterID 選擇R1是因為是通過RouterID,越小越優(yōu)先 最優(yōu)可用的路由條目會放在全局路由表 [R3]disiprouting-table 44.44.44.44/32IBGP2550RD1.1.1.1 7.負載分擔 希望在R3的全局路由表有1.1.1.1也有2.2.2.2 選路規(guī)則前八條必須一模一樣,然后開啟負載分擔 哪臺路由器看,就哪臺路由器開 [R3]bgp100 [R3-bgp]maximumload-balancing2 disiprouting-table 44.44.44.44/32IBGP2550RD1.1.1.1GigabitEthernet0/0/0 IBGP2550RD2.2.2.2 8.首選值PreVal BGP路由默認是1.1.1.1 現(xiàn)在想要55.55.55.55最優(yōu)選2.2.2.2。 達到一種合理分流的效果 想R3經(jīng)過R1去44網(wǎng)段,R3經(jīng)過R2去55網(wǎng)段
R4的路由到R2再進入到R3,import到R3 R2產(chǎn)生的路由條目發(fā)給R3import R3產(chǎn)生的路由條目發(fā)給R2export 三步驟: [R3]acl2000 [R3-acl-basic-2000]rulepermitsource55.55.55.550.0.0.0 [R3]route-policy10permitnode10 [R3-route-policy]if-matchacl2000 [R3-route-policy]applypreferred-value99 [R3]route-policy10permitnode20 [R3]bgp100 [R3-bgp]peer2.2.2.2route-policy10import 如果是R3產(chǎn)生的路由條目發(fā)送給R2,那就是export
Local_Preference
BGP屬性 —— Local_Preference
Local_Pref屬性僅在IBGP鄰居之間有效,不通告給其他AS。它表明路由器的BGP優(yōu)先級,用于判斷流量離開AS時的最佳路由,也就是控制流量從哪個出口離開AS。默認為100,越大越優(yōu) (EBGP之間路由傳遞不攜帶Local_Preference)
修改默認本地優(yōu)先級
bgp 200
default local-preference 200
修改一條路由的本地優(yōu)先級
ip ip-prefix 1 permit 1.1.1.0 24
route-policy 10 permit node 1
if-match ip-prefix 1
apply local-preference 500
route-policy 10 permit node 2
8
bgp 200
peer 192.168.12.1 route-policy 10 import
R2的Router ID比R3的Router ID小,默認走的是R2路線,現(xiàn)在想R3也要走
1、基本配置 R1: sys sysnameR1 intloop0 ipadd1.1.1.124 intloop1 ipadd11.11.11.1124 intg0/0/0 ipadd192.168.12.124 intg0/0/1 ipadd192.168.13.124 q R2: sys sysnameR2 intloop0 ipadd2.2.2.224 intg0/0/0 ipadd192.168.12.224 intg0/0/1 ipadd192.168.24.224 q R3: sys sysnameR3 intloop0 ipadd3.3.3.324 intg0/0/1 ipadd192.168.13.324 intg0/0/0 ipadd192.168.34.324 q R4: sys sysnameR4 intloop0 ipadd4.4.4.424 intloop1 ipadd44.44.44.4424 intg0/0/1 ipadd192.168.24.424 intg0/0/0 ipadd192.168.34.424 q 2.配置OSPF R2: ospf1router-id2.2.2.2 area0.0.0.0 network2.2.2.20.0.0.0 network192.168.24.20.0.0.0 R3: ospf1router-id3.3.3.3 area0.0.0.0 network3.3.3.30.0.0.0 network192.168.34.30.0.0.0 R4:44.44.44.44放在BGP ospf1router-id4.4.4.4 area0.0.0.0 network192.168.24.40.0.0.0 network192.168.34.40.0.0.0 network4.4.4.40.0.0.0 3.建立BGP R1: [R1]bgp100 [R1-bgp]router-id1.1.1.1 [R1-bgp]peer192.168.12.2as-n200 [R1-bgp]peer192.168.13.3as-n200 [R1-bgp]net1.1.1.024 [R1-bgp]net11.11.11.024 R2: [R2]bgp200 [R2-bgp]router-id2.2.2.2 [R2-bgp]peer192.168.12.1as-n100 [R2-bgp]peer4.4.4.4as-n200 [R2-bgp]peer4.4.4.4conloo0 [R2-bgp]peer4.4.4.4next-hop-local [R2-bgp]peer3.3.3.3as-n200 [R2-bgp]peer3.3.3.3conloo0 [R2-bgp]peer3.3.3.3next-hop-local R3: [R3]bgp200 [R3-bgp]router-id3.3.3.3 [R3-bgp]peer192.168.13.1as-n100 [R3-bgp]peer2.2.2.2as-n200 [R3-bgp]peer2.2.2.2conloo0 [R3-bgp]peer2.2.2.2next-hop-local [R3-bgp]peer4.4.4.4as-n200 [R3-bgp]peer4.4.4.4conloo0 [R3-bgp]peer4.4.4.4next-hop-local R4: [R4]bgp200 [R4-bgp]router-id4.4.4.4 [R4-bgp]peer2.2.2.2as-n200 [R4-bgp]peer2.2.2.2conloo0 [R4-bgp]peer3.3.3.3as-n200 [R4-bgp]peer3.3.3.3conloo0 [R4-bgp]net44.44.44.024 [R4-bgp]disbgprouting-table R4去往11網(wǎng)段是往R2走,因為R2的RouterID更小 TotalNumberofRoutes:5 NetworkNextHopMEDLocPrfPrefValPath/Ogn *>i1.1.1.0/242.2.2.201000100i *i3.3.3.301000100i *>i11.11.11.0/242.2.2.201000100i *i3.3.3.301000100i *>44.44.44.0/240.0.0.000i [R4-bgp] 4.修改優(yōu)先級 單單改R3default(換湯不換藥) 可以disdefault-parameterbgp查看默認 如果想走R3,就在R3上改 [R3]bgp200 [R3-bgp]defaultlocal-preference200 改了之后,在R4上查看 disbgprouting-table TotalNumberofRoutes:3 NetworkNextHopMEDLocPrfPrefValPath/Ogn *>i1.1.1.0/243.3.3.302000100i *>i11.11.11.0/243.3.3.302000100i *>44.44.44.0/240.0.0.000i 剛才是都走2.2.2.2,現(xiàn)在都走3.3.3.3 換湯不換藥,沒達到分流效果 在上面R3改了本地優(yōu)先級的基礎上,再改R2 R2上做了后通過IBGP鄰居傳給R4 [R2]ipip-prefix1permit1.1.1.024 [R2]route-policy10permitnode10 [R2-route-policy]if-matchip-prefix1 [R2-route-policy]applylocal-preference299 [R2]route-policy10permitnode20 [R2]bgp200 [R2-bgp]peer192.168.12.1route-policy10import 關鍵:路由條目是R1產(chǎn)生的,針對R1進入(import)到R2的時候改變屬性值為299,然后通過IBGP傳給R4,從而影響R4離開當前AS200選R2 [R4]disbgprouting-table TotalNumberofRoutes:3 NetworkNextHopMEDLocPrfPrefValPath/Ogn *>i1.1.1.0/242.2.2.202990100i *>i11.11.11.0/243.3.3.302000100i *>44.44.44.0/240.0.0.000i
AS-Path
AS_Path 屬性順序記錄了某條 BGP 路由所經(jīng)過的 AS 信息,BGP 在比較
AS_Path 屬性后,會優(yōu)選 AS_Path 長度較短的那條路由。另外,AS_Path 還可以用來防止路由之間的環(huán)路。當路由器從 EBGP 鄰居收到 BGP 路由時,如果該路由的 AS_Path 中包含了自己的 AS 編號,則該路由將會直接丟棄。
ip ip-prefix asp permit 2.2.2.0 24
route-policy 10 permit node 1
if-match ip-prefix asp
apply as-path 500 500 additive
9
route-policy 10 permit node 2
bgp 100
peer 192.168.15.5 route-policy 10 import
apply as-path 500 500 additive
apply as-path 300 500 500 100 overwrite
Warning: The AS-Path lists of routes to which this route-policy is applied
will be overwritten. Continue? [Y/N] y
1、基本配置 R1: sys sysnameR1 intloop0 ipadd1.1.1.124 intg0/0/1 ipadd192.168.15.124 intg0/0/0 ipadd192.168.13.124 q R2: sys sysnameR2 intloop0 ipadd2.2.2.224 intg0/0/1 ipadd192.168.26.224 intg0/0/0 ipadd192.168.24.224 q R3: sys sysnameR3 intg0/0/0 ipadd192.168.13.324 intg0/0/1 ipadd192.168.34.324 q R4: sys sysnameR4 intg0/0/0 ipadd192.168.24.424 intg0/0/1 ipadd192.168.34.424 q R5: sys sysnameR5 intg0/0/1 ipadd192.168.15.524 intg0/0/0 ipadd192.168.56.524 q R6: sys sysnameR6 intg0/0/0 ipadd192.168.56.624 intg0/0/1 ipadd192.168.26.624 q 2.配置BGP R1: bgp100 router-id1.1.1.1 peer192.168.15.5as-n500 peer192.168.13.3as-n300 net1.1.1.024 R2: bgp200 router-id2.2.2.2 peer192.168.26.6as-n500 peer192.168.24.4as-n400 net2.2.2.024 R3: bgp300 router-id3.3.3.3 peer192.168.13.1as-n100 peer192.168.34.4as-n400 R4: bgp400 router-id4.4.4.4 peer192.168.34.3as-n300 peer192.168.24.2as-n200 R5: bgp500 router-id5.5.5.5 peer192.168.15.1as-n100 peer192.168.56.6as-n500 peer192.168.56.6next-hop-local R6: bgp500 router-id6.6.6.6 peer192.168.26.2as-n200 peer192.168.56.5as-n500 peer192.168.56.5next-hop-local [R1]disbgprouting-table TotalNumberofRoutes:3 NetworkNextHopMEDLocPrfPrefValPath/Ogn *>1.1.1.0/240.0.0.000i *>2.2.2.0/24192.168.15.50500200i *192.168.13.3030040020 [R1]disbgprouting-table2.2.2.2 可以查看詳細為什么到達2.2.2.2下一跳是15.5 AS-path300400200,originigp,pref-val0,valid,external,pre255,notpreferredforAS-Path. 因為下面要經(jīng)過3個AS號,上面只需要經(jīng)過2個AS號 3.增加AS,修改優(yōu)先級 希望R1走13.3,下面走,增加AS號 針對R5發(fā)送給R1的路由,import [R1]ipip-prefix2permit2.2.2.024 [R1]route-policy10permitnode10 [R1-route-policy]if-matchip-prefix2 [R1-route-policy]applyas-path499599additive也可以覆蓋overwrite [R1]route-policy10permitnode20 [R1-route-policy]bgp100 [R1-bgp]peer192.168.15.5route-policy10import [R1]disbgprouting-table選擇AS-Path更短的13.3 TotalNumberofRoutes:3 NetworkNextHopMEDLocPrfPrefValPath/Ogn *>1.1.1.0/240.0.0.000i *>2.2.2.0/24192.168.13.30300400200i *192.168.15.50499599500200i 4.R2查看回包,來包回包路徑要一樣才正常。 R2還是默認在上面,剛才的改動對R2沒影響,因此也要對R2進行修改,一樣的方法disbgprouting-table TotalNumberofRoutes:3 NetworkNextHopMEDLocPrfPrefValPath/Ogn *>1.1.1.0/24192.168.26.60500100i *192.168.24.40400300100i *>2.2.2.0/240.0.0.000i [R2]acl2000 [R2-acl-basic-2000]rulepermitsource1.1.1.00.0.0.255 [R2-acl-basic-2000]q [R2]route-policy10permitnode10 [R2-route-policy]if-matchacl2000 [R2-route-policy]applyas-path199299399499overwrite Warning:TheAS-Pathlistsofroutestowhichthisroute-policyisappliedwill beoverwritten.Continue?[Y/N]y [R2-route-policy]q [R2]route-policy10permitnode20 [R2-route-policy]q [R2]bgp200 [R2-bgp]peer192.168.26.6route-policy10import針對R6進入到R2的路由調(diào)用 disbgprouting-table TotalNumberofRoutes:3 NetworkNextHopMEDLocPrfPrefValPath/Ogn *>1.1.1.0/24192.168.24.40400300100i *192.168.26.60199299399499i *>2.2.2.0/240.0.0.000i
Metric
優(yōu)選 AS 內(nèi)部 IGP 的 Metric 最小的路由。
BGP 在比較 Next Hop 屬性時,會優(yōu)選去往 Next Hop 屬性中 IP 地址的 IGP開銷最小的路由。
通信雙方的往返報文選用不同路徑的現(xiàn)象稱為不對稱路由。對于某些特定的應用,以及部署了某些特別的安全設備和安全策略的情況下,不對稱路由的存在可能會導致通過中斷的現(xiàn)象。
int g0/0/0
ospf cost 2000
Med
可選非過渡,內(nèi)容不一定識別到,識別不到就不會傳遞。
MED 多出口區(qū)分器
MED(Multi-exit-disc)也稱為多出口鑒別器,它是一個 4 字節(jié)的整數(shù),默認 MED值為 0,MED 值越小,表明相應的路由優(yōu)先級越高。MED屬性僅在相鄰兩個AS之間傳遞,收到此屬性的AS不會再將其通告給任何其他第三方AS。 MED 屬性主要作用是用來控制來自鄰居 AS 的流量從哪個入口進入到本 AS 中。用于判斷流量進入AS時的最佳路由
MED俗稱是BGP的cost值
這里是前綴列表的做法,代碼塊寫的是ACL做法
ip ip-prefix 1 permit 172.16.1.0 24
ip ip-prefix 2 permit 172.16.2.0 24
route-policy 10 permit node 1
if-match ip-prefix 1
apply cost 100
route-policy 10 permit node 2
if-match ip-prefix 2
apply cost 200
route-policy 10 permit node 3
route-policy 20 permit node 1
if-match ip-prefix 1
apply cost 200
route-policy 20 permit node 2
if-match ip-prefix 2
apply cost 100
route-policy 20 permit node 3
bgp 100
peer 192.168.12.2 route-policy 10 export
peer 192.168.13.3 route-policy 20 export
bgp 400
compare-different-as-med
R2和R3去往172.16.1.1,都走12網(wǎng)段
R2和R3去往172.16.2.1,都走23網(wǎng)段
R5接收學習R2路由,因為R2的Router ID更小,我現(xiàn)在需要優(yōu)選R4路由發(fā)送給R5,該怎么做。
1、基礎配置 R1: sys sysnameR1 intloop0 ipadd1.1.1.124 intloop1 ipadd172.16.1.124 intloop2 ipadd172.16.2.124 intloop3 ipadd192.168.1.124 intg0/0/2 ipadd192.168.12.124 intg0/0/0 ipadd192.168.13.124 intg0/0/1 ipadd192.168.14.124 q R2: sys sysnameR2 intloop0 ipadd2.2.2.224 intg0/0/2 ipadd192.168.12.224 intg0/0/0 ipadd192.168.23.224 intg0/0/1 ipadd192.168.25.224 q R3: sys sysnameR3 intloop0 ipadd3.3.3.324 intg0/0/1 ipadd192.168.13.324 intg0/0/0 ipadd192.168.23.324 intg0/0/2 ipadd192.168.35.324 q R4: sys sysnameR4 intloop0 ipadd4.4.4.424 intg0/0/0 ipadd192.168.14.424 intg0/0/1 ipadd192.168.45.424 q R5: sys sysnameR5 intloop0 ipadd5.5.5.524 intg0/0/2 ipadd192.168.25.524 intg0/0/1 ipadd192.168.35.524 intg0/0/0 ipadd192.168.45.524 q 2.建立BGP R1: R1的192.168.1.1是針對R5來看的 [R1]bgp100 [R1-bgp]router-id1.1.1.1 [R1-bgp]peer192.168.12.2as-n200 [R1-bgp]peer192.168.13.3as-n200 [R1-bgp]peer192.168.14.4as-n300 [R1-bgp]net172.16.1.024 [R1-bgp]net172.16.2.024 [R1-bgp] R2: [R2]bgp200 [R2-bgp]router-id2.2.2.2 [R2-bgp]peer192.168.12.1as-n100 [R2-bgp]peer192.168.25.5as-n400 [R2-bgp]peer192.168.23.3as-n200 [R2-bgp]peer192.168.23.3next-hop-local 因為沒有用環(huán)回口來建立IBGP鄰居,所以ebgp多跳和connect不需要。 R3: [R3]bgp200 [R3-bgp]router-id3.3.3.3 [R3-bgp]peer192.168.13.1as-n100 [R3-bgp]peer192.168.35.5as-n400 [R3-bgp]peer192.168.23.2as-n200 [R3-bgp]peer192.168.23.2next-hop-local R4: [R4]bgp300 [R4-bgp]router-id4.4.4.4 [R4-bgp]peer192.168.14.1as-n100 [R4-bgp]peer192.168.45.5as-n400 R5: [R5]bgp400 [R5-bgp]router-id5.5.5.5 [R5-bgp]peer192.168.25.2as-n200 [R5-bgp]peer192.168.35.3as-n200 [R5-bgp]peer192.168.45.4as-n300 查看鄰居狀態(tài)是否為Established 驗證: [R2]disbgprouting-table TotalNumberofRoutes:4 NetworkNextHopMEDLocPrfPrefValPath/Ogn *>172.16.1.0/24192.168.12.100100i *i192.168.23.301000100i *>172.16.2.0/24192.168.12.100100i *i192.168.23.301000100i 為什么最優(yōu)是12.1呢,可以查看原因 [R2]disbgprouting-table172.16.1.0 AS-path100,originigp,MED0,localpref100,pref-val0,valid,internal,pre 255,notpreferredforpeertype R1和R2之間是EBGP鄰居,R2和R3是IBGP鄰居 EBGP鄰居的優(yōu)先級>IBGP鄰居的優(yōu)先級 如果在R3上查看bgp路由表也是一樣道理 3.現(xiàn)在要求R2R3去往172.16.1.0都往12網(wǎng)段走 去往172.16.2.0都往13網(wǎng)段走 R1修改完成后,發(fā)給EBGP鄰居R2和R3,從而讓R2和R3影響選路。 R1自己修改后export給R2和R3 第一步:匹配ACL,應用策略 [R1]acl2001 [R1-acl-basic-2001]rulepermitsource172.16.1.00.0.0.255 [R1-acl-basic-2001]acl2002 [R1-acl-basic-2002]rulepermitsource172.16.2.00.0.0.255 [R1-acl-basic-2002] 配置R2和R3策略 R2: route-policyR2permitnode10 if-matchacl2001 applycost20 # route-policyR2permitnode20 if-matchacl2002 applycost30 # route-policyR2permitnode30 R3: route-policyR3permitnode10 if-matchacl2001 applycost30 # route-policyR3permitnode20 if-matchacl2002 applycost20 # route-policyR3permitnode30 R1上調(diào)用: bgp100 peer192.168.12.2route-policyR2export peer192.168.13.3route-policyR3export
R2查看bgp路由表
MED屬性僅在相鄰兩個AS之間傳遞,收到此屬性的AS不會再將其通告給任何其他第三方AS。
MED值只會傳給一個 EBGP鄰居,AS100傳給了AS200,不會再傳給AS400。
[R5]dis bgp routing-table 驗證
MED和LocPrf 為空,都是默認值
4.R5優(yōu)選學習 [R1]bgp100 [R1-bgp]net192.168.1.024 R1宣告網(wǎng)段,發(fā)送給R2R3R4,然后再發(fā)送給R5 在R5這臺路由器上有三個鄰居,默認會優(yōu)選R2,因為R2的RouterID更小 [R5]disbgprouting-table192.168.1.0 .......dforrouterID RouterID是選路規(guī)則的第十條,現(xiàn)在我要優(yōu)選R4 MED是選路規(guī)則的第六條,匹配網(wǎng)段,然后改MED值 R2的MED是100,R3的MED是50,R4的MED是10 R2: [R2]ipip-prefix1permit192.168.1.024 [R2]route-policyR5permitnode10 [R2-route-policy]if-matchip-prefix1 [R2-route-policy]applycost100 [R2-route-policy]route-policyR5permitnode20 [R2-route-policy]q [R2]bgp200 [R2-bgp]peer192.168.25.5route-policyR5export R3、R4都這樣做,不同的是applycost5010 還有bgp調(diào)用,peer的地址。 驗證:[R5]disbgprouting-table
為什么不選R4,因為來自不同的表項
因為BGP只比較來自同一個AS的路由的MED值。 它會在AS 200里選。
如果真的想要選R4,在R5上啟用一個特殊,誰查看就在誰的路由器上做
[R5]bgp 400
[R5-bgp]compare-difference-as-med
Community
可選過渡,advertise-community,讓別的路由器也識別到。
Community 屬性
BGP 路由的團體屬性 Community 的主要作用是簡化路由策略的實現(xiàn)過程,例如,可以將擁有團體屬性的若干路由視為同一個團體,當需要對該團體中所有路由的某個特定屬性進行修改時,就沒必要逐一對每條路由單獨進行修改。 團體屬性是 BGP 路由的一種可選屬性,路由器在向 BGP 對等體傳遞路由時,如果希望所傳遞的路由攜帶團體的屬性,則需要額外的配置
兩個作用: ①限定路由的傳播范圍 ②打標記,便于對符合相同條件的路由進行統(tǒng)一處理
4 個特殊的團體:
internet ,no-export , no-advertise , no-export-Subconfed
internet : 可以向任何 BGP 對等體發(fā)布路由
no-export: 不會發(fā)給 EBGP 對等體,但可以發(fā)布給聯(lián)盟(Confederation)EBGP 對等體
no-advertise: 不會發(fā)給任何 BGP 對等體,誰都不發(fā)
no-export-Subconfed :不會發(fā)給 EBGP 對等體,也不會發(fā)布給聯(lián)盟
(Confederation)EBGP 對等體
aa:nn 自定義團體屬性
1、基本配置 R1: sys sysnameR1 intloop0 ipadd1.1.1.124 intloop1 ipadd10.0.100.132 intloop2 ipadd10.0.100.232 intloop3 ipadd10.0.100.332 intloop4 ipadd10.0.100.432 intloop5 ipadd10.0.100.532 intg0/0/0 ipadd192.168.12.124 q R2: sys sysnameR2 intloop0 ipadd2.2.2.224 intg0/0/0 ipadd192.168.12.224 intg0/0/1 ipadd192.168.23.224 intg0/0/2 ipadd192.168.24.224 q R3: sys sysnameR3 intloop3 ipadd3.3.3.324 intg0/0/1 ipadd192.168.23.324 q R4: sys sysnameR4 intloop0 ipadd4.4.4.424 intg0/0/2 ipadd192.168.24.424 intg0/0/0 ipadd192.168.45.424 q R5: sys sysnameR5 intloop0 ipadd5.5.5.524 intg0/0/0 ipadd192.168.45.524 q 2.建立BGP R1: [R1]bgp100 [R1-bgp]router-id1.1.1.1 [R1-bgp]peer192.168.12.2as-n200 [R1-bgp]net10.0.100.132 [R1-bgp]net10.0.100.232 [R1-bgp]net10.0.100.332 [R1-bgp]net10.0.100.432 [R1-bgp]net10.0.100.532 R2: [R2]bgp2001 [R2-bgp]router-id2.2.2.2 [R2-bgp]conf [R2-bgp]confederationid200 [R2-bgp]confederationpeer-as2002 [R2-bgp]peer192.168.12.1as-n100 [R2-bgp]peer192.168.24.4as-n2001 [R2-bgp]peer192.168.24.4next-hop-local [R2-bgp]peer192.168.23.3as-n2002 [R2-bgp]peer192.168.23.3next-hop-local R3: [R3]bgp2002 [R3-bgp]router-id3.3.3.3 [R3-bgp]confederationid200 [R3-bgp]confederationpeer-as2001 [R3-bgp]peer192.168.23.2as-n2001 R4: [R4]bgp2001 [R4-bgp]router-id4.4.4.4 [R4-bgp]confederationid200 [R4-bgp]peer192.168.24.2as-n2001 [R4-bgp]peer192.168.45.5as-n300 [R4-bgp]peer192.168.45.5next-hop-local 也可以不加next-hop-local。因為這個實驗只宣告R1的,R5沒有宣告 R5: [R5]bgp300 [R5-bgp]router-id5.5.5.5 [R5-bgp]peer192.168.45.4as-n200 [R5-bgp]disbgprouting-table TotalNumberofRoutes:5 NetworkNextHopMEDLocPrfPrefValPath/Ogn *>10.0.100.1/32192.168.45.40200100i *>10.0.100.2/32192.168.45.40200100i *>10.0.100.3/32192.168.45.40200100i *>10.0.100.4/32192.168.45.40200100i *>10.0.100.5/32192.168.45.40200100i 3.advertise-community [R1]bgp100 [R1-bgp]peer192.168.12.2advertise-community [R2]bgp2001 [R2-bgp]peer192.168.23.3advertise-community [R2-bgp]peer192.168.24.4advertise-community [R4]bgp2001 [R4-bgp]peer192.168.45.5advertise-community 4.配置策略 第一種:no-export [R1]ipip-prefix2permit10.0.100.232 [R1]route-policy10permitnode2 [R1-route-policy]if-matchip-prefix2 [R1-route-policy]applycommunityno-export不發(fā)給R5 [R1]route-policy10permitnode10 [R1]bgp100 [R1-bgp]peer192.168.12.2route-policy10export
R2驗證:dis bgp routing-table community
R5驗證:dis bgp routing-table 收不到100.2
R5收不到,R3能收到嗎? 肯定的,因為是R3是聯(lián)盟的EBGP
R4也可以去 dis bgp routing-table
如果我希望 100.3 ,R5收不到,R3也收不到 —— no-export-subconfed
第二種:no-export-subconfed R1:剛才已經(jīng)調(diào)用過了,可以直接配置看 [R1]ipip-prefix3permit10.0.100.332 [R1]route-policy10permitnode3 [R1-route-policy]if-matchip-prefix3 [R1-route-policy]applycommunityno-export-subconfed
R2:
[R2]dis bgp routing-table community
R3和R5上可以查看是否有沒 dis bgp routing-table
R3:
第三種:no-advertise只告訴R2,讓R2別發(fā)100.4 [R1]ipip-prefix4permit10.0.100.432 [R1]route-policy10permitnode4 [R1-route-policy]if-matchip-prefix4 [R1-route-policy]applycommunityno-advertise 在R2上查看是否有屬性,disbgprouting-tablecommunity 在R3R4R5disbgprouting-table驗證
第四種:打標記,對符合相同的條件路由做統(tǒng)一處理 希望100.5不要給R4和R5收到 [R1]ipip-prefix5permit10.0.100.532 [R1]route-policy10permitnode5 [R1-route-policy]if-matchip-prefix5 [R1-route-policy]applycommunity100:5 直接在R4上收到標記100:5的拒絕deny 拒絕來我R4,自然也不會去R5。 [R4]ipcommunity-filter1permit100:5 [R4]route-policy10denynode10 [R4-route-policy]if-matchcommunity-filter1 [R4-route-policy]route-policy10permitnode20 調(diào)用策略:拒絕R2來R4的路由 [R4]bgp2001 [R4-bgp]peer192.168.24.2route-policy10import
第五種:internet [R1]ipip-prefix1permit10.0.100.132 [R1]route-policy10permitnode6 if-matchipip-prefix1 applycommunityinternet internet可以向任何BGP對等體發(fā)布路由
最終結果
BGP 路由反射器
內(nèi)部路由器過多的時候,通過IBGP收到的路由條目不會反射給另一個IBGP,IBGP鄰居太多了,兩兩配置比較麻煩
如何解決IBGP鄰接關系過多的情況?
RR 路由反射器 (防環(huán):origintor-id cluster-list)
通過IBGP收到的路由條目,發(fā)送給另一個IBGP鄰居
3 條規(guī)則
①從一個非客戶端那里接收到的路由,反射器會將它只傳遞給所有的客戶端,
②從一個客戶端那里接收到的路由,反射器會將它傳遞給所有其它的客戶端以及非客戶端,
③從 EBGP 對等體那里接收到的路由,反射器會將它傳遞給所有客戶端和非客戶端
禁止客戶機之間的路由反射
bgp 100
undo reflect between-clients
主要的配置
bgp 100
group 1
peer 2.2.2.2 group 1
peer 1 reflect-client
peer 1 next-hop-local
reflector cluster-id 1
IBGP通過環(huán)回口建立,IGP協(xié)議為OSPF,EBGP通過物理接口建立
123在組1 456在組2 7不屬于任一組 1.基本配置 2.OSPF配置 3.建立IBGP鄰居 R2R3是客戶端,R1是服務器端(路由反射器) R1: bgp100 router-id1.1.1.1 group1 peer2.2.2.2group1 peer3.3.3.3group1 peer1next-hop-local表示peer這個組1 peer1reflect-client表示這個組是客戶端 reflectorcluster-id1組1編號 peer4.4.4.4as-n100 peer4.4.4.4conloo0 peer4.4.4.4next-hop-local 如果按之前的配置,R2需要指3,R3需要指2 現(xiàn)在R2R3直接經(jīng)過R1反射給R3R2 [R1]bgp100 net1.1.1.024 R2: bgp100 router-id2.2.2.2 peer1.1.1.1as-n100 peer1.1.1.1conloo0 不需要指3 net2.2.2.024 R3: bgp100 router-id3.3.3.3 peer1.1.1.1as-n100 peer1.1.1.1conloo0 net3.3.3.024 [R1]disbgppeer發(fā)現(xiàn)和2、3都建立起來了 這是誰發(fā)的?disbgprouting-table3.3.3.0 路由反射器的功能 [R1-bgp]undoreflectbetween-clients關閉路由反射器 R4:只有內(nèi)部鄰居,因此不用加next-hop-local bgp100 router-id4.4.4.4 peer1.1.1.1as-n100 peer1.1.1.1conloo0 net4.4.4.024 group2 peer5.5.5.5group2 peer6.6.6.6group2 peer2reflect-client peer192.168.47.7as-n100 R5: bgp100 router-id5.5.5.5 peer4.4.4.4as-n100 peer4.4.4.4conloo0 net5.5.5.024 r6: BGP100 router-id6.6.6.6 peer192.168.46.4as-n100 peer192.168.47.7as-n100 net6.6.6.024 ______ R7 bgp100 router-id7.7.7.7 peer192.168.47.4as-n100 net7.7.7.7024 R8 bgp200 router-id8.8.8.8 peer192.168.18.1as-n100 net8.8.8.024 [R1]bgp200 peer192.168.18.1as-n100 R1:[R7]net7.7.7.0R7是非客戶,宣告網(wǎng)段的路由更新能到R4,不能傳到R1 R1沒有7.7.7.7怎么辦?如何實現(xiàn)全網(wǎng)互通 R1和R7單獨建立個鄰居 [R7]bgp100 peer1.1.1.1as-n100 peer1.1.1.1conloo0 [R1]bgp100 peer7.7.7.7as-n100 peer7.7.7.7conloo0 peer7.7.7.7next-hop-local
BGP 聯(lián)盟(Condeferation)
BGP 路由反射器可以用來減少大型 AS 中 IBGP 鄰居關系的數(shù)量和簡化 IBGP 鄰居關系的管理和維護,BGP 聯(lián)盟(Condeferation)也可以用來實現(xiàn)類似的目的
一個 BGP 聯(lián)盟是一個具有內(nèi)部層次結構的 AS,一個 BGP 聯(lián)盟由若干個子 AS組成。對于一個 BGP 聯(lián)盟,其成員 AS 內(nèi)部的路由器之間需要建立全互聯(lián)的IBGP 鄰居使用 BGP 路由反射器,而成員之間需要建立 EBGP 鄰居關系。從聯(lián)盟外的 EBGP 對等體來看,整個聯(lián)盟無異于一個普通的 AS,聯(lián)盟內(nèi)部的結構對于聯(lián)盟外的 EBGP 對等體來說是完全透明的。
bgp 2001
router-id 2.2.2.2
confederation id 200 標識自己的聯(lián)盟號
confederation peer-as 2002 2003 子成員,聯(lián)盟內(nèi)的
先完成以上兩步,再去peer 外部EBGP
peer 192.168.12.1 as-n 100
聯(lián)盟內(nèi)的EBGP
peer 192.168.25.5 as-n 2003
peer 192.168.25.5 next-hop-local 對于整體也要next-hop-local
R1: bgp100 router-id1.1.1.1 peer192.168.12.2as-n200 net1.1.1.024 net11.11.11.024 R2: bgp2001 router-id2.2.2.2 confederationid200標識自己的聯(lián)盟號 confederationpeer-as20022003子成員,聯(lián)盟內(nèi)的AS 要先配置上面兩步再peer外部EBGP peer192.168.12.1as-n100外部的EBGP peer192.168.25.5as-n2003內(nèi)部的EBGP peer192.168.25.5next-hop-local為了讓R5能夠?qū)W習到R2傳過來的路由 peer192.168.23.3as-n2002 peer192.168.23.3next-hop-local R3: bgp2002 router-id3.3.3.3 confederationid200 confederationpeer-as2001 peer192.168.23.2as-n2001 peer192.168.34.4as-n2002 peer192.168.34.4next-hop-local不起作用 R4: bgp2002 router-id4.4.4.4 confederationid200 peer192.168.34.3as-n2002 R5: bgp2003 router-id5.5.5.5 confederationid200 confederationpeer-as2001 peer192.168.25.2as-n2001 peer192.168.56.6as-n2003 peer192.168.56.6next-hop-local不起作用 R6: bgp2003 router-id6.6.6.6 confederationid200 peer192.168.56.5as-n2003 鄰居能夠建立,但路由傳遞有點問題。 在R3和R5上的next-hop-local不起作用 R3傳不到R4,R5傳不到R6
學不到,下一跳不可達。為什么下一跳不可達?為什么不起作用?
讓R4、R6到達,跑一個OSPF協(xié)議,讓他們路由表有 下一跳的網(wǎng)段。
[R2]ospf
area 0
net 192.168.23.2 0.0.0.0
net 192.168.25.2 0.0.0.0
R3:
ospf
area 0
net 192.168.23.3 0.0.0.0
net 192.168.34.3 0.0.0.0
R4:
ospf
area 0
net 192.168.34.4 0.0.0.0
R5:
ospf
area 0
net 192.168.25.5 0.0.0.0
net 192.168.56.5 0.0.0.0
R6:
ospf
area 0
net 192.168.56.6 0.0.0.0
結果驗證:
若公司網(wǎng)絡規(guī)模需要擴大,則一般只需要在相應的成員 AS 中添加路由器并進行相關的配置即可,配置工作量遠遠小于不使用 BGP 聯(lián)盟的情形。
審核編輯:黃飛
-
路由器
+關注
關注
22文章
3693瀏覽量
113427 -
反射器
+關注
關注
0文章
47瀏覽量
12225
原文標題:BGP 選路規(guī)則實驗
文章出處:【微信號:網(wǎng)絡技術干貨圈,微信公眾號:網(wǎng)絡技術干貨圈】歡迎添加關注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關推薦
評論