這裏EGP使用物理口相互創建鄰居,IGP使用環回口創建鄰居 物理口創建鄰居不須要學習到對方的環回口----方便 環回口創建鄰居比較穩定---穩定(只要還要一個物理口爲up則一直爲up)
R1:負載均衡
//需注意是從用戶模式開始配置的 en conf t hostname R1 int lo1 ip add 1.1.1.1 255.255.255.255 no sh int f0/0 ip add 12.1.1.1 255.255.255.0 no sh int f1/0 ip add 24.1.1.1 255.255.255.0 no sh router bgp 100 bgp router-id 1.1.1.1 nei 12.1.1.2 remote-as 1 nei 24.1.1.3 remote-as 1 net 1.1.1.1 mask 255.255.255.255 //必須與路由表中的相一致 exit do wr //保存配置,方便後續實驗
R2:ide
en conf t hostname R2 int f0/0 ip add 12.1.1.2 255.255.255.0 no sh exit int lo1 ip add 2.2.2.2 255.255.255.255 no sh exit int f1/0 ip add 32.1.1.2 255.255.255.0 no sh exit router bgp 1 bgp router-id 2.2.2.2 nei 12.1.1.1 remote-as 100 nei 4.4.4.4 remote-as 1 nei 4.4.4.4 update-source lo1 //修改更新源---默認互聯物理口(即TCP報文從那裏發出去) nei 4.4.4.4 next-hop-self //你們能夠試試不加這條命令 exit router eigrp 100 net 12.1.1.0 0.0.0.255 net 32.1.1.0 0.0.0.255 net 2.2.2.2 0.0.0.0 //爲了後面IGP鄰居可以創建起鄰居 exit IGP學習到外部EBGP的路由,原封不動發送給IGP鄰居的,若是不指定下一跳,則會致使不是最優(也去不了)R2去R1環回口默認是直接發送給R1,而R3根本不可能直接發送給R1。(鏈接不一樣AS路由器上作)
R4:學習
en conf t hostname R4 int f0/0 ip add 32.1.1.4 255.255.255.0 no sh exit int lo0 ip add 11.11.11.11 255.255.255.255 no sh int lo1 ip add 4.4.4.4 255.255.255.255 no sh exit int s2/0 ip add 52.1.1.4 255.255.255.255 no sh exit router bgp 1 bgp router-id 4.4.4.4 nei 2.2.2.2 remote-as 1 nei 2.2.2.2 update-source lo1 nei 3.3.3.3 remote-as 1 nei 3.3.3.3 update-source lo1 exit router eigrp 100 net 32.1.1.0 0.0.0.255 net 4.4.4.0 0.0.0.255 net 52.1.1.0 0.0.0.255 exit
R3:code
en conf t hostname R3 int f0/0 ip add 24.1.1.3 255.255.255.0 no sh exit int lo1 ip add 3.3.3.3 255.255.255.255 no sh exit int s2/0 ip add 52.1.1.3 255.255.255.0 no sh exit router bgp 1 bgp router-id 3.3.3.3 nei 24.1.1.1 remote-as 100 nei 4.4.4.4 remote-as 1 nei 4.4.4.4 next-hop-self nei 4.4.4.4 update-source lo1 exit router eigrp 100 net 52.1.1.0 0.0.0.255 net 3.3.3.3 0.0.0.0 net 24.1.1.0 0.0.0.255 exit do wr
(你們要看看R4的s2/0起來沒有,我這邊就是要多打一邊)--
咱們能夠看到R4經過學習到R1的1.1.1.1的路由,最優的()是
>i1.1.1.1/32 2.2.2.2 router
傳播範圍:本路由內(不可傳遞)
缺省值:本路由器=32768,其餘=0
兩種配置方法:blog
如今R4去往1.1.1.1走的是R2,咱們來對它進行修改,使其走向R3ip
Network Next Hop Metric LocPrf Weight Path *>i1.1.1.1/32 2.2.2.2 0 100 0 100 i * i 3.3.3.3 0 100 0 100 i *> 11.11.11.11/32 0.0.0.0 0 32768 i
R4:ci
//用戶模式開始 en conf t router bgp 1 neighbor 3.3.3.3 weight 100 //將鄰居3.3.3.3發送的條目權重值改成100 記得在特權模式下軟清一下:clear ip bgp * so ———————————————————————————————————————————————————————————————————————————————————————————— 能夠看到確實是走R3了 Network Next Hop Metric LocPrf Weight Path * i1.1.1.1/32 2.2.2.2 0 100 0 100 i *>i 3.3.3.3 0 100 100 100 i *> 11.11.11.11/32 0.0.0.0 0 32768 i 確實是很方便,可是會致使什麼狀況呢! 你們看我在R1再宣告一條路由 en conf t int lo2 ip add 8.8.8.8 255.255.255.255 no sh exit router bgp 100 net 8.8.8.8 mask 255.255.255.255 再看R4的BGP路由表 Network Next Hop Metric LocPrf Weight Path * i1.1.1.1/32 2.2.2.2 0 100 0 100 i *>i 3.3.3.3 0 100 100 100 i *>i8.8.8.8/32 3.3.3.3 0 100 100 100 i * i 2.2.2.2 0 100 0 100 i *> 11.11.11.11/32 0.0.0.0 0 32768 i 仍是走R3--就有點不太靈活了!
利用前綴列表或access-list抓取相應的條目
R4:路由
en conf t access-list 10 permit 1.1.1.1 //抓取對應的條目 route-map Weight permit //route-map來修改權重 match ip address 10 //綁定咱們寫好的ACL列表 set weight 100 exit router bgp 1 neighbor 3.3.3.3 route-map Weight in //接收方向調用 //這樣咱們能夠看到只有R3傳過來的1.1.1.1 纔會加100weight Network Next Hop Metric LocPrf Weight Path * i1.1.1.1/32 2.2.2.2 0 100 0 100 i *>i 3.3.3.3 0 100 100 100 i *>i8.8.8.8/32 2.2.2.2 0 100 0 100 i *> 11.11.11.11/32 0.0.0.0 0 32768 i
傳播範圍:AS內進行傳播
缺省值:100
比較方式:越大越優
一樣R4去往1.1.1.1 走R3rem
R3:
//用戶模式開始配置 en conf t router bgp 1 bgp default locall-preference 110 //軟清理一下 R3#clear ip bgp * so //沒有so則硬清,生產環境不要硬清
R4上查看:
Network Next Hop Metric LocPrf Weight Path * i1.1.1.1/32 2.2.2.2 0 100 0 100 i *>i 3.3.3.3 0 110 0 100 i *>i8.8.8.8/32 3.3.3.3 0 110 0 100 i * i 2.2.2.2 0 100 0 100 i *> 11.11.11.11/32 0.0.0.0 0 32768 i //確實是能夠,與上面狀況一致,不太靈活
R4:
//用戶模式開始配置 en conf t access-list 10 permit 1.1.1.1 //抓取路由條目 route-map Local permit match ip address 10 //與ACL相綁定 set local-preference 110 //修改本地優先級 exit router bgp 1 neighbor 3.3.3.3 route-map Local in //in方向進行調用 查看R4 BGP路由表 Network Next Hop Metric LocPrf Weight Path * i1.1.1.1/32 2.2.2.2 0 100 0 100 i *>i 3.3.3.3 0 110 0 100 i *>i8.8.8.8/32 2.2.2.2 0 100 0 100 i *> 11.11.11.11/32 0.0.0.0 0 32768 i 咱們看到只有3.3.3.3發出來的條目1.1.1.1被加上*>和對應的本地優先級
R3:
//用戶模式開始配置 en conf t ip prefix-list Local-out permit 1.1.1.1/32 //前綴列表抓取條目 route-map Local-out permit match ip address prefix-list Local-out //綁定前綴列表 set local-preference 120 //修改BGP本地優先級 exit router bgp 1 nei 4.4.4.4 route-map Local-out out //out方向調用
R4 BGP路由:
Network Next Hop Metric LocPrf Weight Path * i1.1.1.1/32 2.2.2.2 0 100 0 100 i *>i 3.3.3.3 0 120 0 100 i *>i8.8.8.8/32 2.2.2.2 0 100 0 100 i *> 11.11.11.11/32 0.0.0.0 0 32768 i
R1上看去往1.1.1.1下一跳是否是0.0.0.0
作個小案例:
R4:
//用戶模式開始配置 //R4去往1.1.1.1 這個路由通常走R2或R3 en conf t ip route 1.1.1.1 255.255.255.255 null 0 router bgp 1 net 1.1.1.1 mask 255.255.255.255 exit do sh ip bgp //相信本身,將Next Hop改成本身0.0.0.0 Network Next Hop Metric LocPrf Weight Path *> 1.1.1.1/32 0.0.0.0 0 32768 i
若是收到本區域的AS則丟棄
邊界路由器上作,針對對方IGP內
R1:
en conf t access-list 10 permit 1.1.1.1 route-map AS-Path match ip address 10 set as-path prepend 2 4 5 6 7 8 exit router bgp 1 neighbor 12.1.1.2 route-map AS-Path out
R1:
en conf t access-list 10 permit 1.1.1.1 route-map AS-Path match ip address 10 set as-path prepend 1 2 4 5 6 7 8 exit router bgp 1 neighbor 12.1.1.2 route-map AS-Path out R2直接就丟棄了(氣死我了)
強制要求R2接收(嘿嘿)
R2-in方向:
//用戶模式配置 en conf t router bgp 1 neighbor 12.1.1.1 allowas-in 再來查看R2的BGP路由表: Network Next Hop Metric LocPrf Weight Path *> 1.1.1.1/32 12.1.1.1 0 0 100 1 2 3 4 5 6 7 8 i *>i11.11.11.11/32 4.4.4.4 0 100 0 i
//用戶模式配置 en conf t router bgp 1 bgp maxas-limit [數量] R5(config-router)#bgp bestpath as-path ignore //忽略AS-path