BGP路由控制屬性


 

控制BGP路由概述:

  • BGP與IGP不同,其着跟點主要在於不同的AS之間控制路由的傳播和選擇最佳路由
  • 通過修改BGP基本屬性可以實現基本的BGP路由控制和最佳路由的選擇
  • 引入其他路由協議發現的路由時、發布或者接收路由信息時通過配置過濾器實現控制BGP路由

      →Filter-policy

      →Route-policy

      →AS路徑訪問列表

 

BGP基本屬性性影響選路的應用:

  • 給從對等體接收的路由分配首選項值(Preferred-value)以影響選路
  • 修改Local-Preference只是先選擇離開本地AS時的最佳路由
  • 修改MED值實現選擇進入AS時的最佳路由
  • 配置next-hop-local實現將自身地址作為下一跳

 

 

修改Preferred-value控制BGP路由實例(通過本地修改從某個鄰居學來的路由的優先級(EBGP或者IBGP))默認為0

[RT1-bgp]peer 13.1.1.3 preferred-value 100

 

     Network            NextHop         MED        LocPrf     PrefVal Path/Ogn

 

* >  1.1.1.1/32         0.0.0.0         0                     0       i

* >  10.10.10.10/32     13.1.1.3                              100     200i

*                       12.1.1.2                              0       200i

 

通過修改MED值控制BGP路由實例:(修改發給EBGP鄰居時的MED值)默認為0 (進入AS時,走哪)

R2——R4——R3為一個as

R1為一個as

 

在R2和R3上修改MED,讓R1進入另一個域時,選擇哪個作為下一跳

 

[RT2-bgp]default med 200

[RT3-bgp]default med 100

 

RT1 bgp routing

     Network            NextHop         MED        LocPrf     PrefVal Path/Ogn

 

* >  1.1.1.1/32         0.0.0.0             0                     0       i

* >  10.10.10.10/32     13.1.1.3        100                   0       200i

*                                  12.1.1.2         200                   0       200i

 

 

 

 

通過配置Local_PREF控制BGP路由實例:(修改發給IBGP鄰居的優先級)默認為100,在EBGP之間此項為空 ibgp之間(離開AS時,走哪)

[RT2-bgp]default local-preference 100

[RT3-bgp]default local-preference 200   

 

 

   Network            NextHop         MED        LocPrf     PrefVal Path/Ogn

 

* >i 1.1.1.1/32         3.3.3.3         0          200        0       100i

*  i                     2.2.2.2         0          100         0       100i

* >  10.10.10.10/32     0.0.0.0         0                     0       i

 

 

配置next-ho-local控制BGP路由實例:

從EBGP鄰居學來的路由發給IBGP時,下一跳還是指向EBGP的接口,應使用此命令:

[RT2-bgp]peer 4.4.4.4 next-hop-local     //發布路由時,將自身地址作為下一跳

 

從IBGP學來的路由傳給EBGP鄰居時,下一跳會修改。從反射器學來的路由,下一跳不會修改。

 

使用過濾器控制BGP路由:

  • 通過配置過濾器可以實現控制BGP路由。幾種過濾器的作用不同:

    →配置Filter-policy實現對接收或者發布的路由過濾

    →配置Route-policy不僅可以實現路由過濾還可以對符合規則的路由增加或者修改相關的屬性

    →配置AS路徑訪問列表可以實現針對自治系統路徑域控制BGP路由

 

配置Filter-policy控制BGP路由:

→配置過濾列表,如ACL、地址前綴列表

→應用Filter-policy實現路由過濾

 

  1. 過濾收到方向路由:

[RT2]ip ip-prefix 1 permit 10.10.10.10 32

[RT2-bgp]filter-policy ip-prefix 1 import

 

2.過濾發出的路由:

[RT2-bgp]filter-policy ip-prefix 1 export

 

配置Route-policy控制BGP路由:

 

 

 

 

配置AS路徑過濾列表:

^:匹配輸入字符串的開始

$:匹配輸入字符串的結束

*:星號表示匹配此前的字符或字符組0次或多次。如"zo*",可以匹配z以及zo、zoo等

+:表示匹配此前的字符或字符組一次或多次。如"zo+",可以匹配z0及zoo等,但不能匹配z

.:表示通配符,匹配任意字符,包括單個字符、特殊字符和空格。

_:下划線為通配符,表示匹配一個符號,如逗號、括號等,在表達式的開頭或者結尾時還可以作為起始符、結束符(同^、$)

-:連接符,用於連接兩個數值或字母

():表示字符組

[ ]:將以此括號內的任意一個字符為條件進行匹配

 

常用組合:

  • ^$:表示匹配的字符串為空,即AS_PATH為空,匹配本地路由
  • .*:表示匹配任意字符,即as-path為任意,可以匹配所有路由
  • ^100:表示匹配100開頭的字符串
  • ^100_:表示匹配以"100"開始的字符串,即as-path的最左邊前三個字符為100。
  • _100$:表示匹配結尾為"100"的字符串,即as-path最右邊的后三個字符為100。
  • _100_:表示字符串中間有"100",即as-path可以匹配經過as100的路由
  • ^100$:表示源自as100,中間不經過其他as的路由

 

 

路由選擇工具:——community-filter

 

community-filter:

  • 以BGP中的community屬性為匹配條件
    • ip community-filter 1 permit 100:
      • 匹配community屬性為100:1
    • ip community-filter 1permit no-export
      • 匹配community屬性為no-export

 

ip community-filter 1 permit 1:1

代表匹配團體屬性中只要包含1:1團體的BGP路由

 

ip community-filter 2 permit 1:1 1:2 (一條語句中的屬性是"且"的關系)

代表團體屬性中需要同時存在1:1 1:2團體的bgp路由,跟排列次序和數量無關

 

ip community-filter 3 permit 1:1

ip community-filter 3 permit 1:1 1:2

在同一個filter列表中存在多條語句,每條語句之間是"或"的關系,即匹配團體屬性中包含有1:1或者包含有1:1 1:2的BGP路由。

 

 

 

 

 

 

 

 

 

 

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM