顺序也要记住
1.优选协议首选值(Preference_Value)最高的路由。(私有属性,仅本地有效)
2.优选本地优先级(Local_Preference)最高的路由。 (100,IBGP,越大越优)
3.优选本地生成的路由。手动聚合>自动聚合>network>import>从对等体学到的。
4.优选 AS_Path 短的路由。
5.比较 Origin 属性,起源类型 IGP>EGP>Incomplete。 i>e>?
6.优选 MED(Multi Exit Discriminator)值最低的路由。 (0,EBGP,越小越优)
7.优选从 EBGP 学来的路由(EBGP>IBGP)。
8.优选 AS 内部 IGP 的 Metric 最小的路由。
前 8 条选路规则一样,可以实现 BGP 的负载分担
bgp 100
maximum load-balancing 2
9.优选 Cluster_List 最短的路由。 (有做路由反射器RR才考虑)
10.优选 Router_ID 最小的路由器发布的路由。
11.优选具有较小 IP 地址的邻居学来的路由。
如果配置了负载分担,当前8个规则相同,且存在多条AS_Path完全相同的外部路由,则根据配置的路由条数选择多条路由进行负载分担
PreVal
BGP 路由属性的比较过程中,首先要比较的就是路由信息首选值 Preference Value,也简称为 PreVal。相当于BGP选路规则中的Weight值,值越大,优先级越高,默认为 0,不会发送给任何 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 。根据11条路由选路规则,R1的Router ID更小,他默认会往R1那条路走。
现在我想让他往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协议 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.配置静态路由 解决R1、R2的静态路由,回包路由 [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邻居 现在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.宣告网段,传递路由 把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查看详细参数 发现IGPcost1,notpreferredforrouterID 选择R1是因为是通过RouterID,越小越优先 最优可用的路由条目会放在全局路由表 [R3]disiprouting-table 44.44.44.44/32IBGP2550RD1.1.1.1 7.负载分担 希望在R3的全局路由表有1.1.1.1也有2.2.2.2 选路规则前八条必须一模一样,然后开启负载分担 哪台路由器看,就哪台路由器开 [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 现在想要55.55.55.55最优选2.2.2.2。 达到一种合理分流的效果 想R3经过R1去44网段,R3经过R2去55网段
R4的路由到R2再进入到R3,import到R3 R2产生的路由条目发给R3import R3产生的路由条目发给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产生的路由条目发送给R2,那就是export
Local_Preference
BGP属性 —— Local_Preference
Local_Pref属性仅在IBGP邻居之间有效,不通告给其他AS。它表明路由器的BGP优先级,用于判断流量离开AS时的最佳路由,也就是控制流量从哪个出口离开AS。默认为100,越大越优 (EBGP之间路由传递不携带Local_Preference)
修改默认本地优先级
bgp 200
default local-preference 200
修改一条路由的本地优先级
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路线,现在想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网段是往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.修改优先级 单单改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,现在都走3.3.3.3 换汤不换药,没达到分流效果 在上面R3改了本地优先级的基础上,再改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产生的,针对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 路由所经过的 AS 信息,BGP 在比较
AS_Path 属性后,会优选 AS_Path 长度较短的那条路由。另外,AS_Path 还可以用来防止路由之间的环路。当路由器从 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. 因为下面要经过3个AS号,上面只需要经过2个AS号 3.增加AS,修改优先级 希望R1走13.3,下面走,增加AS号 针对R5发送给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的路由调用 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
优选 AS 内部 IGP 的 Metric 最小的路由。
BGP 在比较 Next Hop 属性时,会优选去往 Next Hop 属性中 IP 地址的 IGP开销最小的路由。
通信双方的往返报文选用不同路径的现象称为不对称路由。对于某些特定的应用,以及部署了某些特别的安全设备和安全策略的情况下,不对称路由的存在可能会导致通过中断的现象。
int g0/0/0
ospf cost 2000
Med
可选非过渡,内容不一定识别到,识别不到就不会传递。
MED 多出口区分器
MED(Multi-exit-disc)也称为多出口鉴别器,它是一个 4 字节的整数,默认 MED值为 0,MED 值越小,表明相应的路由优先级越高。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网段
R2和R3去往172.16.2.1,都走23网段
R5接收学习R2路由,因为R2的Router ID更小,我现在需要优选R4路由发送给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 因为没有用环回口来建立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 查看邻居状态是否为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 为什么最优是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邻居的优先级>IBGP邻居的优先级 如果在R3上查看bgp路由表也是一样道理 3.现在要求R2R3去往172.16.1.0都往12网段走 去往172.16.2.0都往13网段走 R1修改完成后,发给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上调用: 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优选学习 [R1]bgp100 [R1-bgp]net192.168.1.024 R1宣告网段,发送给R2R3R4,然后再发送给R5 在R5这台路由器上有三个邻居,默认会优选R2,因为R2的RouterID更小 [R5]disbgprouting-table192.168.1.0 .......dforrouterID RouterID是选路规则的第十条,现在我要优选R4 MED是选路规则的第六条,匹配网段,然后改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调用,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 的主要作用是简化路由策略的实现过程,例如,可以将拥有团体属性的若干路由视为同一个团体,当需要对该团体中所有路由的某个特定属性进行修改时,就没必要逐一对每条路由单独进行修改。 团体属性是 BGP 路由的一种可选属性,路由器在向 BGP 对等体传递路由时,如果希望所传递的路由携带团体的属性,则需要额外的配置
两个作用: ①限定路由的传播范围 ②打标记,便于对符合相同条件的路由进行统一处理
4 个特殊的团体:
internet ,no-export , no-advertise , no-export-Subconfed
internet : 可以向任何 BGP 对等体发布路由
no-export: 不会发给 EBGP 对等体,但可以发布给联盟(Confederation)EBGP 对等体
no-advertise: 不会发给任何 BGP 对等体,谁都不发
no-export-Subconfed :不会发给 EBGP 对等体,也不会发布给联盟
(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不发给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是联盟的EBGP
R4也可以去 dis bgp routing-table
如果我希望 100.3 ,R5收不到,R3也收不到 —— no-export-subconfed
第二种:no-export-subconfed R1:刚才已经调用过了,可以直接配置看 [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别发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验证
第四种:打标记,对符合相同的条件路由做统一处理 希望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 调用策略:拒绝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对等体发布路由
最终结果
BGP 路由反射器
内部路由器过多的时候,通过IBGP收到的路由条目不会反射给另一个IBGP,IBGP邻居太多了,两两配置比较麻烦
如何解决IBGP邻接关系过多的情况?
RR 路由反射器 (防环:origintor-id cluster-list)
通过IBGP收到的路由条目,发送给另一个IBGP邻居
3 条规则
①从一个非客户端那里接收到的路由,反射器会将它只传递给所有的客户端,
②从一个客户端那里接收到的路由,反射器会将它传递给所有其它的客户端以及非客户端,
③从 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通过环回口建立,IGP协议为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 现在R2R3直接经过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发现和2、3都建立起来了 这是谁发的?disbgprouting-table3.3.3.0 路由反射器的功能 [R1-bgp]undoreflectbetween-clients关闭路由反射器 R4:只有内部邻居,因此不用加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是非客户,宣告网段的路由更新能到R4,不能传到R1 R1没有7.7.7.7怎么办?如何实现全网互通 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 联盟(Condeferation)
BGP 路由反射器可以用来减少大型 AS 中 IBGP 邻居关系的数量和简化 IBGP 邻居关系的管理和维护,BGP 联盟(Condeferation)也可以用来实现类似的目的
一个 BGP 联盟是一个具有内部层次结构的 AS,一个 BGP 联盟由若干个子 AS组成。对于一个 BGP 联盟,其成员 AS 内部的路由器之间需要建立全互联的IBGP 邻居使用 BGP 路由反射器,而成员之间需要建立 EBGP 邻居关系。从联盟外的 EBGP 对等体来看,整个联盟无异于一个普通的 AS,联盟内部的结构对于联盟外的 EBGP 对等体来说是完全透明的。
bgp 2001
router-id 2.2.2.2
confederation id 200 标识自己的联盟号
confederation peer-as 2002 2003 子成员,联盟内的
先完成以上两步,再去peer 外部EBGP
peer 192.168.12.1 as-n 100
联盟内的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标识自己的联盟号 confederationpeer-as20022003子成员,联盟内的AS 要先配置上面两步再peer外部EBGP peer192.168.12.1as-n100外部的EBGP peer192.168.25.5as-n2003内部的EBGP peer192.168.25.5next-hop-local为了让R5能够学习到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协议,让他们路由表有 下一跳的网段。
[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
结果验证:
若公司网络规模需要扩大,则一般只需要在相应的成员 AS 中添加路由器并进行相关的配置即可,配置工作量远远小于不使用 BGP 联盟的情形。
审核编辑:黄飞
-
路由器
+关注
关注
22文章
3705浏览量
113513 -
反射器
+关注
关注
0文章
47浏览量
12227
原文标题:BGP 选路规则实验
文章出处:【微信号:网络技术干货圈,微信公众号:网络技术干货圈】欢迎添加关注!文章转载请注明出处。
发布评论请先 登录
相关推荐
评论