11-IPv6 BGP配置
本章節下載: 11-IPv6 BGP配置 (504.69 KB)
目 錄
1.3.9 記錄指定IPv6對等體/IPv6對等體組的會話狀態和事件信息
1.4.4 配置向IPv6對等體/IPv6對等體組發送缺省路由
1.5.2 配置IPv6 BGP路由管理的優先級、缺省LOCAL_PREF及NEXT_HOP屬性
1.6.9 配置IPv6 BGP建立TCP連接時進行MD5認證
· 在以下路由協議的介紹中所指的路由器及路由器圖標,代表了一般意義下的路由器以及運行了路由協議的以太網交換機。
· 本章隻列出了IPv6 BGP專有的配置與操作,其他相關內容請參見“三層技術-IP路由配置指導”中的“BGP”。
· S5500-SI係列交換機不支持IPv6 BGP功能。
傳統的BGP-4隻能管理IPv4的路由信息,對於使用其它網絡層協議(如IPv6等)的應用,在跨自治係統傳播時就受到一定限製。
為了提供對多種網絡層協議的支持,IETF對BGP-4進行了擴展,形成IPv6 BGP,目前的IPv6 BGP標準是RFC 2858(Multiprotocol Extensions for BGP-4,BGP-4多協議擴展)。
為了實現對IPv6協議的支持,IPv6 BGP需要將IPv6網絡層協議的信息反映到NLRI(Network Layer Reachability Information,網絡層可達性信息)及NEXT_HOP屬性中。
IPv6 BGP中引入的兩個NLRI屬性分別是:
· MP_REACH_NLRI:Multiprotocol Reachable NLRI,多協議可達NLRI。用於發布可達路由及下一跳信息。
· MP_UNREACH_NLRI:Multiprotocol Unreachable NLRI,多協議不可達NLRI。用於撤銷不可達路由。
IPv6 BGP中的NEXT_HOP屬性用IPv6地址來表示,可以是IPv6全球單播地址或者鏈路本地地址。
IPv6 BGP是利用BGP的多協議擴展屬性,來達到在IPv6網絡中應用的目的,BGP協議原有的消息機製和路由機製並沒有改變。
表1-1 配置任務簡介
配置任務 |
說明 |
詳細配置 |
|
配置IPv6 BGP基本功能 |
配置IPv6對等體 |
必選 |
|
配置IPv6 BGP發布本地IPv6路由 |
可選 |
||
配置路由首選值 |
可選 |
||
配置IPv6 BGP連接所使用的本地接口 |
可選 |
||
配置EBGP連接的最大跳數 |
可選 |
||
配置IPv6對等體/IPv6對等體組的描述信息 |
可選 |
||
禁止與IPv6對等體/IPv6對等體組建立會話 |
可選 |
||
記錄指定IPv6對等體/IPv6對等體組的會話狀態和事件信息 |
可選 |
||
控製路由信息的發布與接收 |
配置IPv6 BGP引入其他路由 |
可選 |
|
配置IPv6 BGP路由聚合 |
可選 |
||
配置向IPv6對等體/IPv6對等體組發送缺省路由 |
可選 |
||
配置路由信息的發布策略 |
可選 |
||
配置路由信息的接收策略 |
可選 |
||
配置IPv6 BGP與IGP路由同步 |
可選 |
||
配置路由衰減 |
可選 |
||
配置IPv6 BGP的路由屬性 |
配置IPv6 BGP路由管理的優先級、缺省LOCAL_PREF及NEXT_HOP屬性 |
可選 |
|
配置MED屬性 |
可選 |
||
配置AS_PATH屬性 |
可選 |
||
調整和優化IPv6 BGP網絡 |
配置IPv6 BGP的時鍾 |
可選 |
|
配置IPv6 BGP軟複位 |
可選 |
||
配置BGP ORF能力 |
可選 |
||
使能4字節AS號抑製功能 |
可選 |
||
配置IPv6 BGP報文的DSCP優先級 |
可選 |
||
配置最大等價路由的條數 |
可選 |
||
配置IPv6 BGP建立TCP連接時進行MD5認證 |
可選 |
||
配置IPv6 BGP IPsec安全策略 |
可選 |
||
組建大型IPv6 BGP網絡 |
配置IPv6 BGP對等體組 |
可選 |
|
配置IPv6 BGP團體 |
可選 |
||
配置IPv6 BGP路由反射器 |
可選 |
||
配置IPv6 BGP與BFD聯動 |
可選 |
在配置IPv6 BGP基本功能之前,需完成以下任務:
· 配置接口的網絡層地址
· 在係統視圖下通過ipv6命令使能IPv6報文轉發功能
必須首先創建對等體組,才能配置對等體組的基本功能。關於對等體組的創建請參見“1.7.2 配置IPv6 BGP對等體組”。
表1-2 配置IPv6對等體
操作 |
命令 |
說明 |
進入係統視圖 |
system-view |
- |
啟動BGP,進入BGP視圖 |
bgp as-number |
必選 缺省情況下,係統沒有運行BGP |
為路由器指定ID |
router-id router-id |
可選 如果Loopback和其它接口沒有配置IP地址,則該任務為必選 |
進入IPv6地址族視圖 |
ipv6-family |
- |
配置對等體 |
peer ipv6-address as-number as-number |
必選 |
表1-3 配置IPv6 BGP發布本地IPv6路由
操作 |
命令 |
說明 |
進入係統視圖 |
system-view |
- |
進入BGP視圖 |
bgp as-number |
必選 |
進入IPv6地址族視圖 |
ipv6-family |
- |
將路由通告到IPv6 BGP路由表中 |
network ipv6-address prefix-length [ short-cut | route-policy route-policy-name ] |
必選 缺省情況下,IPv6 BGP不通告任何路由 |
表1-4 配置路由首選值
操作 |
命令 |
說明 |
進入係統視圖 |
system-view |
- |
進入BGP視圖 |
bgp as-number |
必選 |
進入IPv6地址族視圖 |
ipv6-family |
- |
為從IPv6對等體/IPv6對等體組接收的路由分配首選值 |
peer { ipv6-group-name | ipv6-address } preferred-value value |
可選 缺省情況下,從IPv6對等體/IPv6對等體組接收的路由的首選值為0 |
當通過路由策略過濾IPv6路由時,路由的首選值將優先選取路由策略中設置的首選值。隻有當路由策略裏設置的首選值為0時,才選取peer { ipv6-group-name | ipv6-address } preferred-value value命令裏設置的值。通過路由策略配置BGP IPv6路由信息首選值的相關配置可參考命令peer { group-name | ipv4-address | ipv6-address } route-policy route-policy-name { import | export }和“三層技術-IP路由命令參考/路由策略”中的apply preferred-value preferred-value。
IPv6 BGP使用TCP作為其傳輸層協議,缺省情況下,IPv6 BGP使用到達對等體最佳路由的出接口作為與對等體/對等體組建立TCP連接的源接口。
當建立IPv6 BGP連接的路由器之間存在冗餘鏈路時,如果路由器上的一個接口發生故障,鏈路狀態變為down,建立TCP連接的源接口可能會隨之發生變化,導致BGP需要重新建立TCP連接,造成網絡震蕩。為了避免該情況的發生,建議網絡管理員使用Loopback接口建立IPv6 BGP連接,並將建立IPv6 BGP連接所使用的源接口配置為Loopback接口,來提高IPv6 BGP連接的可靠性和穩定性。
表1-5 配置IPv6 BGP連接所使用的源接口
操作 |
命令 |
說明 |
進入係統視圖 |
system-view |
- |
進入BGP視圖 |
bgp as-number |
必選 |
進入IPv6地址族視圖 |
ipv6-family |
- |
指定與IPv6對等體/IPv6對等體組創建BGP會話時建立TCP連接使用的源接口 |
peer { ipv6-group-name | ipv6-address } connect-interface interface-type interface-number |
必選 缺省情況下,IPv6 BGP使用到達IPv6對等體的最佳路由的出接口作為與IPv6對等體/IPv6對等體組創建BGP會話時建立TCP連接的源接口 |
當建立BGP連接時,如果沒有明確指定建立TCP連接的源接口,可能會由於無法根據到達BGP對等體的最優路由確定TCP連接源接口從而導致無法建立TCP連接,因此建議用戶在此情況下配置BGP對等體時明確配置BGP會話建立TCP連接的源接口為指定接口。
表1-6 配置非直接相連的鄰居建立EBGP連接
操作 |
命令 |
說明 |
進入係統視圖 |
system-view |
- |
進入BGP視圖 |
bgp as-number |
必選 |
進入IPv6地址族視圖 |
ipv6-family |
- |
配置允許同非直接相連網絡上的鄰居建立EBGP連接 |
peer { ipv6-group-name | ipv6-address } ebgp-max-hop [ hop-count ] |
必選 缺省情況下,不允許同非直接相連網絡上的鄰居建立EBGP連接 |
通常情況下,EBGP對等體之間必須具有直連的物理鏈路,如果不滿足這一要求,則必須使用peer ebgp-max-hop命令允許它們之間經過多跳建立TCP連接。但是,對於直連EBGP使用Loopback接口建立鄰居關係,不需要peer ebgp-max-hop命令的配置。
表1-7 配置IPv6對等體/IPv6對等體組的描述信息
操作 |
命令 |
說明 |
進入係統視圖 |
system-view |
- |
進入BGP視圖 |
bgp as-number |
必選 |
進入IPv6地址族視圖 |
ipv6-family |
- |
配置IPv6對等體/IPv6對等體組的描述信息 |
peer { ipv6-group-name | ipv6-address } description description-text |
可選 缺省情況下,IPv6對等體/IPv6對等體組無描述信息 |
如果配置對等體組的描述信息,需要先創建對等體組。
表1-8 禁止與IPv6對等體/IPv6對等體組建立會話
操作 |
命令 |
說明 |
進入係統視圖 |
system-view |
- |
進入BGP視圖 |
bgp as-number |
必選 |
進入IPv6地址族視圖 |
ipv6-family |
- |
禁止與IPv6對等體/IPv6對等體組建立會話 |
peer { ipv6-group-name | ipv6-address } ignore |
必選 缺省情況下,允許與IPv6對等體/IPv6對等體組建立會話 |
表1-9 記錄指定IPv6對等體/IPv6對等體組的會話狀態和事件信息
操作 |
命令 |
說明 |
進入係統視圖 |
system-view |
- |
進入BGP視圖 |
bgp as-number |
必選 |
全局使能BGP日誌記錄功能 |
log-peer-change |
可選 缺省情況下,使能BGP日誌記錄功能 |
進入IPv6地址族視圖 |
ipv6-family |
- |
記錄指定IPv6對等體/IPv6對等體組的會話狀態和事件信息 |
peer { ipv6-group-name | ipv6-address } log-change |
可選 缺省情況下,記錄IPv6對等體/IPv6對等體組的會話狀態和事件信息 |
有關log-peer-change命令的詳細信息請參見“三層技術-IP路由命令參考”中的“BGP”。
控製IPv6 BGP的路由信息的發布和接收,包括對路由信息進行過濾,應用路由策略,路由衰減。
在控製路由信息的發布與接收之前,需完成以下任務:
· 使能IPv6功能
· 配置IPv6 BGP基本功能
表1-10 配置IPv6 BGP引入和過濾外部路由
操作 |
命令 |
說明 |
進入係統視圖 |
system-view |
- |
進入BGP視圖 |
bgp as-number |
必選 |
進入IPv6地址族視圖 |
ipv6-family |
- |
允許將缺省路由引入到IPv6 BGP路由表中 |
default-route imported |
可選 缺省情況下,IPv6 BGP不允許將缺省路由引入到IPv6 BGP路由表中 |
配置引入其它協議路由信息並通告 |
import-route protocol [ process-id [ med med-value | route-policy route-policy-name ] * ] |
必選 缺省情況下,IPv6 BGP不引入且不通告其它協議的路由 |
如果沒有配置default-route imported命令,則使用import-route命令引入IGP路由時,不能引入IGP的缺省路由。
在中型或大型BGP網絡中,在向對等體發布IPv6路由信息時,可以配置路由聚合,減小對等體路由表中的路由數量。BGP僅支持IPv6路由的手動聚合。
表1-11 配置IPv6路由聚合
操作 |
命令 |
說明 |
進入係統視圖 |
system-view |
- |
進入BGP視圖 |
bgp as-number |
- |
進入IPv6地址族視圖 |
ipv6-family |
- |
配置手動路由聚合 |
aggregate ipv6-address prefix-length [ as-set | attribute-policy route-policy-name | detail-suppressed | origin-policy route-policy-name | suppress-policy route-policy-name ] * |
必選 缺省情況下,不進行路由聚合 |
表1-12 配置向IPv6對等體/IPv6對等體組發送缺省路由
操作 |
命令 |
說明 |
進入係統視圖 |
system-view |
- |
進入BGP視圖 |
bgp as-number |
必選 |
進入IPv6地址族視圖 |
ipv6-family |
- |
配置向IPv6對等體/IPv6對等體組發送缺省路由 |
peer { ipv6-group-name | ipv6-address } default-route-advertise [ route-policy route-policy-name ] |
必選 缺省情況下,不向IPv6對等體/IPv6對等體組發布缺省路由 |
執行peer default-route-advertise命令後,不論本地路由表中是否存在缺省路由,都將向指定IPv6對等體/IPv6對等體組發布一條下一跳地址為本地地址的缺省路由。
表1-13 配置路由信息的發布策略
操作 |
命令 |
說明 |
進入係統視圖 |
system-view |
- |
進入BGP視圖 |
bgp as-number |
必選 |
進入IPv6地址族視圖 |
ipv6-family |
- |
對發布的路由進行過濾 |
filter-policy { acl6-number | ipv6-prefix ipv6-prefix-name } export [ protocol process-id ] |
必選 缺省情況下,沒有對發布的路由信息進行過濾 |
配置出方向路由策略 |
peer { ipv6-group-name | ipv6-address } route-policy route-policy-name export |
必選 缺省情況下,沒有指定IPv6對等體/IPv6對等體組的路由策略 |
配置基於IPv6 ACL的路由過濾策略 |
peer { ipv6-group-name | ipv6-address } filter-policy acl6-number export |
必選 缺省情況下,沒有為IPv6對等體/IPv6對等體組配置基於IPv6 ACL的過濾策略 |
配置基於AS路徑過濾列表的IPv6 BGP路由過濾策略 |
peer { ipv6-group-name | ipv6-address } as-path-acl as-path-acl-number export |
必選 缺省情況下,沒有為IPv6對等體/IPv6對等體組配置基於AS路徑過濾列表的IPv6 BGP路由過濾策略 |
配置基於IPv6地址前綴列表的路由過濾策略 |
peer { ipv6-group-name | ipv6-address } ipv6-prefix ipv6-prefix-name export |
必選 缺省情況下,沒有指定IPv6對等體/IPv6對等體組基於IPv6前綴列表的過濾策略 |
IPv6 BGP對引入的路由信息進行過濾後,會將符合條件的路由信息發布給IPv6 BGP對等體(Export)。指定protocol參數可以隻對特定路由協議的信息進行過濾,如果沒有指定此參數,則對所有要發布的IPv6 BGP路由信息進行過濾,包括引入的路由和使用network命令發布的路由。
表1-14 配置路由信息的接收策略
操作 |
命令 |
說明 |
進入係統視圖 |
system-view |
- |
進入BGP視圖 |
bgp as-number |
必選 |
進入IPv6地址族視圖 |
ipv6-family |
- |
對接收的路由信息進行過濾 |
filter-policy { acl6-number | ipv6-prefix ipv6-prefix-name } import |
必選 缺省情況下,不對接收的路由信息進行過濾 |
對接收的路由信息應用路由策略 |
peer { ipv6-group-name | ipv6-address } route-policy route-policy-name import |
必選 缺省情況下,沒有指定IPv6對等體/IPv6對等體組的路由策略 |
配置基於IPv6 ACL的路由過濾策略 |
peer { ipv6-group-name | ipv6-address } filter-policy acl6-number import |
必選 缺省情況下,沒有為IPv6對等體/IPv6對等體組設置基於IPv6 ACL的路由過濾策略 |
配置基於AS路徑過濾列表的IPv6 BGP路由過濾策略 |
peer { ipv6-group-name | ipv6-address } as-path-acl as-path-acl-number import |
必選 缺省情況下,沒有為IPv6對等體/IPv6對等體組設置基於AS路徑過濾列表的IPv6 BGP路由過濾策略 |
配置基於IPv6地址前綴列表的路由過濾策略 |
peer { ipv6-group-name | ipv6-address } ipv6-prefix ipv6-prefix-name import |
必選 缺省情況下,沒有為IPv6對等體/IPv6對等體組設置基於IPv6前綴列表的路由過濾策略 |
配置允許從IPv6對等體/IPv6對等體組接收的最大IPv6地址前綴數 |
peer { ipv6-group-name | ipv6-address } route-limit limit [ percentage ] |
可選 缺省情況下,允許從IPv6對等體/IPv6對等體組接收的IPv6地址最大地址前綴數無限製 |
· 對IPv6 BGP接收的路由進行過濾,隻有滿足某些條件的路由才能被IPv6 BGP接收,並加到路由表中。
· 對等體組的成員可以與所在的組使用不同的入方向路由策略,即接收路由時,各對等體可以選擇自己的策略。
IPv6 BGP路由器收到一條IBGP路由,缺省隻檢查該路由的下一跳是否可達。如果可達,IPv6 BGP路由器就將這條IBGP路由發布給EBGP對等體。如果配置了同步特性,則需要同時滿足以下條件,IPv6 BGP路由器才會將該IBGP路由發布給EBGP對等體:
· 該路由的下一跳可達;
· 在IGP路由表中存在一條active的路由,與該IBGP路由的目的網段完全相同。(IGP路由是否為active狀態可以通過display ipv6 routing-table protocol命令來查看)
表1-15 配置IPv6 BGP與IGP路由同步
操作 |
命令 |
說明 |
進入係統視圖 |
system-view |
- |
進入BGP視圖 |
bgp as-number |
必選 |
進入IPv6地址族視圖 |
ipv6-family |
- |
配置IPv6 BGP與IGP路由同步 |
synchronization |
必選 缺省情況下,IPv6 BGP和IGP路由不同步 |
表1-16 配置路由衰減
操作 |
命令 |
說明 |
進入係統視圖 |
system-view |
- |
進入BGP視圖 |
bgp as-number |
必選 |
進入IPv6地址族視圖 |
ipv6-family |
- |
配置IPv6 BGP路由衰減 |
dampening [ half-life-reachable half-life-unreachable reuse suppress ceiling | route-policy route-policy-name ]* |
可選 缺省情況下,沒有配置路由衰減 |
本節主要介紹使用各類路由屬性來改變IPv6 BGP的選路策略。包括如下屬性:
· IPv6 BGP協議的優先級
· 缺省LOCAL_PREF屬性值
· MED屬性
· NEXT_HOP屬性
· AS_PATH屬性
在配置IPv6 BGP的路由屬性之前,需完成以下任務:
· 使能IPv6功能
· 配置IPv6 BGP基本功能
表1-17 配置IPv6 BGP協議的優先級、缺省LOCAL_PREF及NEXT_HOP屬性
操作 |
命令 |
說明 |
進入係統視圖 |
system-view |
- |
進入BGP視圖 |
bgp as-number |
必選 |
進入IPv6地址族視圖 |
ipv6-family |
- |
設定IPv6 BGP路由管理的優先級 |
preference { external-preference internal-preference local-preference | route-policy route-policy-name } |
可選 缺省情況下,EBGP路由的管理優先級為255,IBGP路由的管理優先級為255,本地產生的IPv6 BGP路由的管理優先級為130 |
配置本地優先級的缺省值 |
default local-preference value |
可選 缺省情況下,本地優先級的缺省值為100 |
配置發布路由時將自身地址作為下一跳 |
peer { ipv6-group-name | ipv6-address } next-hop-local |
可選 缺省情況下,向EBGP IPv6對等體/IPv6對等體組發布路由時,將自身地址作為下一跳;向IBGP IPv6對等體/IPv6對等體發布路由時,下一跳不變 |
· 在某些組網環境中,為保證IBGP鄰居能夠找到正確的下一跳,可以配置在向IBGP IPv6對等體/IPv6對等體組發布路由時,改變下一跳地址為自身地址。如果配置了IPv6 BGP負載分擔,則不論是否配置了peer next-hop-local命令,本地路由器向IBGP IPv6對等體/IPv6對等體組發布路由時都先將下一跳地址改變為自身地址。
· 在第三方下一跳(即兩個BGP連接在同一網段的廣播網)這種特殊的組網環境中,缺省情況下,向EBGP IPv6對等體/IPv6對等體組發布路由時,下一跳不變;隻有配置了peer next-hop-local命令,才將自身地址作為下一跳。
表1-18 配置MED屬性
操作 |
命令 |
說明 |
進入係統視圖 |
system-view |
- |
進入BGP視圖 |
bgp as-number |
必選 |
進入IPv6地址族視圖 |
ipv6-family |
- |
配置係統的缺省MED值 |
default med med-value |
可選 缺省情況下,係統缺省的MED值為0 |
配置允許比較來自不同AS鄰居的路由的MED屬性值 |
compare-different-as-med |
可選 缺省情況下,不比較來自不同AS鄰居的路由的MED屬性值 |
配置根據路由來自的AS進行分組對MED排序優選 |
bestroute compare-med |
可選 缺省情況下,不根據路由來自的AS進行分組對MED排序優選 |
配置允許比較聯盟對等體的路由按MED值進行優選 |
bestroute med-confederation |
可選 缺省情況下,比較聯盟對等體的路由時不考慮MED值 |
表1-19 配置AS_PATH屬性
操作 |
命令 |
說明 |
進入係統視圖 |
system-view |
- |
進入BGP視圖 |
bgp as-number |
必選 |
進入IPv6地址族視圖 |
ipv6-family |
- |
配置允許本地AS號在所接收的路由的AS_PATH屬性中出現,並可同時配置允許重複的次數 |
peer { ipv6-group-name | ipv6-address } allow-as-loop [ number ] |
可選 缺省情況下,不允許本地AS號重複 |
為IPv6對等體/IPv6對等體組配置一個虛擬的本地自治係統號 |
peer { ipv6-group-name | ipv6-address } fake-as as-number |
可選 缺省情況下,沒有為IPv6對等體/IPv6對等體組配置虛擬的本地自治係統號 |
禁止路由器將AS_PATH當作選路算法中的一個因素 |
bestroute as-path-neglect |
可選 缺省情況下,路由器可以將AS_PATH當作選路算法中的一個因素 |
配置發送IPv6 BGP更新報文時不攜帶私有AS編號 |
peer { ipv6-group-name | ipv6-address } public-as-only |
可選 缺省情況下,發送IPv6 BGP更新報文時攜帶私有自治係統號 |
配置用本地AS號替換AS_PATH屬性中指定IPv6對等體/IPv6對等體組的AS號 |
peer { ipv6-group-name | ipv6-address } substitute-as |
可選 缺省情況下,沒有用本地AS號替換AS_PATH屬性中指定IPv6對等體/IPv6對等體組的AS號 |
本節主要介紹配置IPv6 BGP時鍾、軟複位IPv6 BGP連接和配置最大等價路由的條數。
(1) IPv6 BGP時鍾
當對等體間建立了IPv6 BGP連接後,它們定時向對端發送Keepalive消息,以防止路由器認為IPv6 BGP連接已中斷。若路由器在設定的連接保持時間(Holdtime)內未收到對端的Keepalive消息或任何其它類型的報文,則認為此IPv6 BGP連接已中斷,從而退出此IPv6 BGP連接。
路由器在與對等體建立IPv6 BGP連接時,將比較雙方保持時間,以數值較小者做為協商後的保持時間。如果協商結果為0,則不發送Keepalive消息,且不檢測Holdtime是否超時。
(2) 軟複位IPv6 BGP連接
IPv6 BGP的選路策略改變後,為了使新的策略生效,必須複位IPv6 BGP連接,但這樣會造成短暫的IPv6 BGP連接中斷。在目前的實現中,IPv6 BGP支持Route-refresh功能。當策略改變後,係統可以在不中斷IPv6 BGP連接的情況下,自動對IPv6 BGP路由表進行動態刷新。
在所有IPv6 BGP路由器使能Route-refresh功能的情況下,如果IPv6 BGP的路由策略發生了變化,本地路由器會向對等體發布Route-refresh消息,收到此消息的對等體會將其路由信息重新發給本地IPv6 BGP路由器。這樣,在不中斷IPv6 BGP連接的情況下,就可以對IPv6 BGP路由表進行動態更新,並應用新的策略。
如果網絡中存在有不支持Route-Refresh的路由器,則需要配置peer keep-all-routes命令,將其所有路由更新保存在本地;當路由策略發生變化時,係統將對IPv6 BGP路由表進行動態更新,並應用新的策略。
在調整IPv6 BGP的時鍾之前,需完成以下任務:
· 使能IPv6能力
· 配置IPv6 BGP基本功能
表1-20 配置IPv6 BGP的時鍾
步驟 |
操作 |
命令 |
|
進入係統視圖 |
system-view |
- |
|
進入BGP視圖 |
bgp as-number |
必選 |
|
進入IPv6地址族視圖 |
ipv6-family |
- |
|
配置IPv6 BGP定時器 |
配置IPv6 BGP的存活時間間隔與保持時間 |
timer keepalive keepalive hold holdtime |
可選 缺省情況下,存活時間間隔為60秒,保持時間為180秒 |
peer { ipv6-group-name | ipv6-address } timer keepalive keepalive hold holdtime |
|||
配置IPv6對等體/IPv6對等體組的發送同一路由更新報文的時間間隔 |
peer { ipv6-group-name | ipv6-address } route-update-interval interval |
可選 缺省情況下,向IBGP對等體發送同一路由更新的時間間隔為15秒,向EBGP對等體發送同一路由更新的時間間隔為30秒 |
· 使用timer命令配置的定時器比使用peer timer命令配置的定時器優先級要低。
· 設置的保持時間應該至少為存活時間間隔的三倍。
表1-21 使能Route-refresh功能
操作 |
命令 |
說明 |
進入係統視圖 |
system-view |
- |
進入BGP視圖 |
bgp as-number |
必選 |
進入IPv6地址族視圖 |
ipv6-family |
- |
使能IPv6 BGP路由刷新功能 |
peer { ipv6-group-name | ipv6-address } capability-advertise route-refresh |
可選 缺省情況下,使能IPv6 BGP路由刷新功能 |
表1-22 手工軟複位IPv6 BGP
步驟 |
操作 |
命令 |
進入係統視圖 |
system-view |
- |
進入BGP視圖 |
bgp as-number |
必選 |
進入IPv6地址族視圖 |
ipv6-family |
- |
保存所有來自IPv6對等體/IPv6對等體組的原始路由信息,即使這些路由沒有通過已配置的入口策略 |
peer { ipv6-group-name | ipv6-address } keep-all-routes |
可選 缺省情況下,不保存IPv6對等體/IPv6對等體組的原始路由信息 |
返回用戶視圖 |
return |
- |
手工對IPv6 BGP連接進行軟複位 |
refresh bgp ipv6 { all | ipv6-address | group ipv6-group-name | external | internal } { export | import } |
必選 |
配置命令peer keep-all-routes後,不論是否使用了過濾策略,都將保存指定對等體發來的所有路由更新。當軟複位IPv6 BGP連接時,這些信息可以用來重新生成IPv6 BGP路由。
BGP ORF是將本地入口策略通過Route-refresh報文推給鄰居,當鄰居需要向BGP對等體發送Update更新報文時,通過本地的路由策略後最後還需要進行ORF策略的過濾,隻有通過ORF策略的路由信息才會發給BGP對等體,以達到減少BGP鄰居間Update更新報文的交互,節省網絡資源的目的。
使能BGP ORF能力後,本地和BGP對等體會通過Open報文協商ORF能力(即收發的報文裏是否允許攜帶ORF信息,如果允許攜帶,是否可以攜帶非標準的ORF信息),當協商完畢並成功建立鄰居關係後,可以通過特殊的Route-refresh報文交互ORF信息。
ORF能力協商成功需要兩端的配置來保證,關於兩端參數的選擇請參見表1-24。
表1-23 配置BGP ORF能力
操作 |
命令 |
說明 |
進入係統視圖 |
system-view |
- |
進入BGP視圖 |
bgp as-number |
必選 |
進入IPv6地址族視圖 |
ipv6-family |
- |
使能BGP路由刷新功能 |
peer { group-name | ipv6-address } capability-advertise route-refresh |
必選 缺省情況下,BGP路由刷新功能處於使能狀態 |
使能BGP ORF非標準功能 |
peer { group-name | ipv6-address } capability-advertise orf non-standard |
可選 缺省情況下,BGP ORF能力支持RFC5291,RFC5292的標準能力 |
使能BGP ORF地址前綴能力協商功能 |
peer { group-name | ip-address | ipv6-address } capability-advertise orf ipv6-prefix { both | receive | send } |
必選 缺省情況下,BGP 不支持ORF 地址前綴的能力協商 |
表1-24 both、send、receive參數選擇以及配置效果描述表
本地選擇參數 |
對端選擇參數 |
協商成功後 |
send |
receive |
本端的ORF發送能力,對端的ORF接收能力 |
both |
||
receive |
send |
本端的ORF接收能力,對端的ORF發送能力 |
both |
||
both |
both |
雙向的ORF發送和接收能力 |
通常情況下,設備在與對端設備建立IPv6 BGP對等體連接關係時會發送IPv6 BGP Open消息,在消息中的Optional parameters字段攜帶信息:說明AS號取值占用4字節(即取值範圍為1~4294967295)。此時,如果對端設備不支持AS號取值為4字節(比如隻支持2字節),則連接關係無法建立。
為了解決上述問題,您可以使能4字節AS號抑製功能:當對端設備不支持AS號取值為4字節時,設備發出的IPv6 BGP Open消息仍然可以被對端設備正常識別,從而IPv6 BGP對等體連接關係可以成功建立。
表1-25 使能4字節AS號抑製功能
操作 |
命令 |
說明 |
進入係統視圖 |
system-view |
- |
進入BGP視圖 |
bgp as-number |
- |
進入IPv6地址族視圖 |
ipv6-family |
- |
使能4字節AS號抑製功能 |
peer { group-name | ip-address } capability-advertise suppress-4-byte-as |
必選 缺省情況下,設備沒有使能4字節AS號抑製功能 |
如果對端設備支持4字節AS號能力時,請不要使能該功能,否則會導致對等體無法建立。
在IPv6報文頭中,包含一個8bit的Traffic class字段,用於標識IP報文的服務類型。RFC 2474對這8個bit進行了定義,將前6個bit定義為DSCP優先級,最後2個bit作為保留位。在報文傳輸的過程中,DSCP優先級可以被網絡設備識別,並作為報文傳輸優先程度的參考。
用戶可以對IPv6 BGP報文的DSCP優先級進行配置。
表1-26 配置向IPv6 BGP鄰居發送報文的DSCP優先級
操作 |
命令 |
說明 |
進入係統視圖 |
system-view |
- |
進入BGP視圖 |
bgp as-number |
必選 |
進入IPv6地址族視圖 |
ipv6-family |
- |
配置向指定IPv6對等體/ IPv6對等體組發送IPv6 BGP報文的DSCP優先級 |
peer { ipv6-group-name | ipv6-address } dscp dscp-value |
可選 缺省情況下,IPv6 BGP報文使用的DSCP優先級為48 |
表1-27 配置最大等價路由的條數
操作 |
命令 |
說明 |
進入係統視圖 |
system-view |
- |
進入BGP視圖 |
bgp as-number |
必選 |
進入IPv6地址族視圖 |
ipv6-family |
- |
配置進行IPv6 BGP負載分擔的路由條數 |
balance number |
必選 缺省情況下,不進行負載分擔 |
IPv6 BGP使用TCP作為傳輸層協議,可靠性有一定保證。為了提高IPv6 BGP的安全性,可以配置IPv6 BGP在建立TCP連接時進行MD5認證,認證通過後才能建立TCP連接。如果認證失敗,則不能建立TCP連接。
表1-28 配置IPv6 BGP建立TCP連接時進行MD5認證
操作 |
命令 |
說明 |
進入係統視圖 |
system-view |
- |
進入BGP視圖 |
bgp as-number |
必選 |
進入IPv6地址族視圖 |
ipv6-family |
- |
配置IPv6 BGP建立TCP連接時進行MD5認證 |
peer { ipv6-group-name | ipv6-address } password { cipher | simple } password |
可選 缺省情況下,IPv6 BGP建立TCP連接時不進行MD5認證 |
· IPv6 BGP的MD5認證並不能對BGP報文進行認證。
· 如果啟用MD5認證,參與認證的雙方必須配置完全一致的認證方式和密碼,否則將因為無法通過認證而不能建立TCP連接。
從安全性角度來考慮,為了避免路由信息外泄或者對路由器進行惡意攻擊,IPv6 BGP提供基於IPsec的報文驗證功能。
路由器在發送的IPv6 BGP報文中會攜帶配置好的IPsec安全策略的SPI(Security Parameter Index,安全參數索引)值,接收報文時通過SPI值進行IPsec安全策略匹配:隻有策略匹配的報文才能接收;否則將不會接收報文,不能正常建立鄰居和學習路由。
配置IPv6 BGP IPsec安全策略之前,需要滿足下麵配置:
· 安全提議已經創建;
· IPsec安全策略已經創建。
關於安全提議和IPsec安全策略的詳細配置過程,請參考“安全配置指導”中的“IPsec”。
表1-29 配置IPv6 BGP IPsec安全策略
操作 |
命令 |
說明 |
進入係統視圖 |
system-view |
- |
進入BGP視圖 |
bgp as-number |
- |
進入IPv6地址族視圖 |
ipv6-family |
- |
配置IPv6 BGP對等體/對等體組應用IPsec安全策略 |
peer { group-name | ip-address } ipsec-policy policy-name |
必選 缺省情況下,IPv6 BGP對等體/對等體組沒有應用IPsec安全策略 |
IPv6 BGP IPsec安全策略隻支持手工配置方式,具體配置請參見“安全配置指導”中的“IPsec”。
為方便管理,減少重複配置操作,管理員將一些享有相同更新策略的IPv6 BGP對等體劃分到一個邏輯組織,這些組織就稱為對等體組。隻須對一個對等體組配置策略,該策略對組內所有成員都有效。
當對等體組的配置變化時,每個組員的配置也相應變化。對某些屬性可以指定組員的IPv6地址進行配置,從而使指定組員在這些屬性上不受對等體組配置的影響。
通常將同一自治係統的對等體配置為一個對等體組,當然,也可以將其它自治係統的對等體加入到該組。所有IBGP對等體可配置為另一個對等體組,也可以根據業務邏輯創建對等體組。
對等體組可以使一組對等體共享相同的策略,而利用團體可以使多個AS中的一組IPv6 BGP路由器共享相同的策略。團體是一個路由屬性,在IPv6 BGP對等體之間傳播,它並不受到AS範圍的限製。
為保證IBGP對等體之間的連通性,需要在IBGP對等體之間建立全連接關係。當IBGP對等體數目很多時,建立全連接網的開銷很大。路由反射器和聯盟是解決這個問題的兩種方法。
IPv6 BGP聯盟的配置方式與BGP相同,這裏不再贅述。以下主要介紹:
· 配置IPv6 BGP對等體組
· 配置IPv6 BGP團體
· 配置IPv6 BGP路由反射器
在配置IPv6 BGP對等體組之前,需完成以下任務:
· 相鄰節點網絡層互通
· 啟動BGP,配置Router ID
表1-30 創建IBGP對等體組
操作 |
命令 |
說明 |
進入係統視圖 |
system-view |
- |
啟動BGP,進入BGP視圖 |
bgp as-number |
必選 缺省情況下,係統沒有運行BGP |
進入IPv6地址族視圖 |
ipv6-family |
- |
創建IBGP對等體組 |
group ipv6-group-name [ internal ] |
必選 |
將對等體加入已存在的對等體組 |
peer ipv6-address group ipv6-group-name [ as-number as-number ] |
必選 缺省情況下,對等體不屬於任何對等體組 |
表1-31 創建純EBGP對等體組
操作 |
命令 |
說明 |
進入係統視圖 |
system-view |
- |
啟動BGP,進入BGP視圖 |
bgp as-number |
必選 缺省情況下,係統沒有運行BGP |
進入IPv6地址族視圖 |
ipv6-family |
- |
創建EBGP對等體組 |
group ipv6-group-name external |
必選 |
配置對等體組的AS號 |
peer ipv6-group-name as-number as-number |
必選 缺省情況下,對等體組無AS號 |
在已創建的對等體組中加入IPv6對等體 |
peer ipv6-address group ipv6-group-name |
必選 缺省情況下,對等體不屬於任何對等體組 |
· 在創建純EBGP對等體時,需要指定對等體組的自治係統號。
· 如果對等體組中已經加入了對等體,那麼不能夠為該對等體組指定自治係統號。
表1-32 創建混合EBGP對等體組
操作 |
命令 |
說明 |
進入係統視圖 |
system-view |
- |
啟動BGP,進入BGP視圖 |
bgp as-number |
必選 缺省情況下,係統沒有運行BGP |
進入IPv6地址族視圖 |
ipv6-family |
- |
創建EBGP對等體組 |
group ipv6-group-name external |
必選 |
設置IPv6對等體的AS號 |
peer ipv6-address as-number as-number |
必選 缺省情況下,IPv6對等體無AS號 |
加入已創建的IPv6對等體 |
peer ipv6-address group ipv6-group-name |
必選 缺省情況下,對等體不屬於任何對等體組 |
在創建混合EBGP對等體組時,需要單獨創建對等體,並可設置不同的自治係統號,但不能設置對等體組的自治係統號。
表1-33 配置向IPv6對等體/IPv6對等體組發布團體屬性
命令 |
說明 |
|
進入係統視圖 |
system-view |
- |
啟動BGP,進入BGP視圖 |
bgp as-number |
必選 缺省情況下,係統沒有運行BGP |
進入IPv6地址族視圖 |
ipv6-family |
- |
配置將團體屬性傳給IPv6對等體/IPv6對等體組 |
peer { ipv6-group-name | ipv6-address } advertise-community |
必選 缺省情況下,不將團體屬性發布給任何IPv6對等體/IPv6對等體組 |
配置將擴展團體屬性傳給IPv6對等體/IPv6對等體組 |
peer { ipv6-group-name | ipv6-address } advertise-ext-community |
必選 缺省情況下,不將擴展團體屬性發布給任何IPv6對等體/IPv6對等體組 |
表1-34 對發布的路由信息應用路由策略
操作 |
命令 |
說明 |
進入係統視圖 |
system-view |
- |
進入BGP視圖 |
bgp as-number |
必選 |
進入IPv6地址族視圖 |
ipv6-family |
- |
配置出方向路由策略 |
peer { ipv6-group-name | ipv6-address } route-policy route-policy-name export |
必選 缺省情況下,不指定IPv6對等體/IPv6對等體組的路由策略 |
· 配置IPv6 BGP團體時,必須使用路由策略來定義具體的團體屬性,然後在發布路由信息時應用此路由策略。
· 關於路由策略的配置,請參見“三層技術-IP路由配置指導”中的“路由策略”。
表1-35 配置IPv6 BGP路由反射器
命令 |
說明 |
|
進入係統視圖 |
system-view |
- |
進入BGP視圖 |
bgp as-number |
必選 |
進入IPv6地址族視圖 |
ipv6-family |
- |
配置將本機作為路由反射器,並將IPv6對等體/IPv6對等體組作為路由反射器的客戶 |
peer { ipv6-group-name | ipv6-address } reflect-client |
必選 缺省情況下,沒有配置路由反射器及其客戶 |
使能客戶機之間的路由反射 |
reflect between-clients |
可選 缺省情況下,允許客戶到客戶的路由反射 |
配置路由反射器的集群ID |
reflector cluster-id cluster-id |
可選 缺省情況下,每個路由反射器是使用自己的Router ID作為集群ID |
· 通常情況下,路由反射器的客戶之間不要求是全連接的,路由缺省通過反射器從一個客戶反射到其它客戶;如果客戶之間是全連接的,可以禁止客戶間的反射,以便減少開銷。
· 當一個集群裏有多個路由反射器時,需要給所有位於同一個集群內的路由反射器配置相同的Cluster_ID,以避免路由循環。
IPv6 BGP協議通過存活時間(Keepalive)定時器和保持時間(Holdtime)定時器來維護鄰居關係。但這些定時器都是秒級的,而且根據協議規定,設置的保持時間應該至少為存活時間間隔的三倍。這樣使得IPv6 BGP鄰居關係的檢測比較慢,對於報文收發速度快的接口會導致大量報文丟失。通過配置IPv6 BGP與BFD聯動,使得BFD能夠為IPv6 BGP鄰居之間的鏈路提供更快速的檢測。當鄰居之間的鏈路出現故障時,能夠加快IPv6 BGP協議的收斂速度。
表1-36 配置IPv6 BGP與BFD聯動
操作 |
命令 |
說明 |
進入係統視圖 |
system-view |
- |
啟動BGP,進入BGP視圖 |
bgp as-number |
必選 缺省情況下,係統不運行BGP |
進入IPv6地址族視圖 |
ipv6-family |
- |
在指定鄰居上使能BFD |
peer ipv6-address bfd |
必選 缺省情況下,IPv6 BGP的所有對等體鄰居上都沒有使能BFD鏈路檢測功能 |
· 配置BFD之前,需要使能BGP功能。
· 在BGP使能GR能力後,請慎用BFD。因為當鏈路故障時,係統可能還沒來得及啟用GR處理流程,BFD已經檢測到鏈路故障了,從而導致GR失敗。
· 有關BFD的介紹和基本功能配置,請參見“可靠性配置指導”中的“BFD”。
在完成上述配置後,在任意視圖下執行display命令可以顯示配置後IPv6 BGP的運行情況,通過查看顯示信息驗證配置的效果。
表1-37 顯示IPv6 BGP的運行狀態
當BGP路由策略或協議發生變化後,如果需要通過複位IPv6 BGP連接使新的配置生效,請在用戶視圖下進行下列配置。
操作 |
命令 |
手工軟複位IPv6 BGP連接 |
refresh bgp ipv6 { ipv4-address | ipv6-address | all | external | group ipv6-group-name | internal } { export | import } |
複位所有IPv6 BGP連接 |
reset bgp ipv6 { as-number | ipv4-address | ipv6-address | all | external | group group-name | internal } |
在用戶視圖下執行reset命令可清除IPv6 BGP路由的統計信息。
操作 |
命令 |
清除IPv6 BGP路由的衰減信息並釋放被抑製的路由 |
reset bgp ipv6 dampening [ ipv6-address prefix-length ] |
清除IPv6 BGP路由的震蕩統計信息 |
reset bgp ipv6 flap-info [ ipv6-address/prefix-length | as-path-acl as-path-acl-number | regexp as-path-regexp ] reset bgp ipv6 peer-ipv6-address flap-info |
IPv6 BGP的配置舉例多數與BGP4的配置舉例相似,本節不再一一列出。其他配置例請參見“三層技術-IP路由配置指導”中的“BGP”。
如圖1-1所示,所有交換機運行IPv6 BGP協議,Switch A和Switch B之間建立EBGP連接,Switch B、Switch C和Switch D之間建立IBGP全連接。
圖1-1 IPv6 BGP基本配置組網圖
(1) 配置各VLAN接口的IPv6地址(略)
(2) 配置IBGP連接
# 配置Switch B。
<SwitchB> system-view
[SwitchB] ipv6
[SwitchB] bgp 65009
[SwitchB-bgp] router-id 2.2.2.2
[SwitchB-bgp] ipv6-family
[SwitchB-bgp-af-ipv6] peer 9:1::2 as-number 65009
[SwitchB-bgp-af-ipv6] peer 9:3::2 as-number 65009
[SwitchB-bgp-af-ipv6] quit
[SwitchB-bgp] quit
# 配置Switch C。
<SwitchC> system-view
[SwitchC] ipv6
[SwitchC] bgp 65009
[SwitchC-bgp] router-id 3.3.3.3
[SwitchC-bgp] ipv6-family
[SwitchC-bgp-af-ipv6] peer 9:3::1 as-number 65009
[SwitchC-bgp-af-ipv6] peer 9:2::2 as-number 65009
[SwitchC-bgp-af-ipv6] quit
[SwitchC-bgp] quit
# 配置Switch D。
<SwitchD> system-view
[SwitchD] ipv6
[SwitchD] bgp 65009
[SwitchD-bgp] router-id 4.4.4.4
[SwitchD-bgp] ipv6-family
[SwitchD-bgp-af-ipv6] peer 9:1::1 as-number 65009
[SwitchD-bgp-af-ipv6] peer 9:2::1 as-number 65009
[SwitchD-bgp-af-ipv6] quit
[SwitchD-bgp] quit
(3) 配置EBGP連接
# 配置Switch A。
<SwitchA> system-view
[SwitchA] ipv6
[SwitchA] bgp 65008
[SwitchA-bgp] router-id 1.1.1.1
[SwitchA-bgp] ipv6-family
[SwitchA-bgp-af-ipv6] peer 10::1 as-number 65009
[SwitchA-bgp-af-ipv6] quit
[SwitchA-bgp] quit
# 配置Switch B。
[SwitchB] bgp 65009
[SwitchB-bgp] ipv6-family
[SwitchB-bgp-af-ipv6] peer 10::2 as-number 65008
# 查看Switch B的對等體信息。
[SwitchB] display bgp ipv6 peer
BGP local router ID : 2.2.2.2
Local AS number : 65009
Total number of peers : 3 Peers in established state : 3
Peer AS MsgRcvd MsgSent OutQ PrefRcv Up/Down State
10::2 65008 3 3 0 0 00:01:16 Established
9:3::2 65009 2 3 0 0 00:00:40 Established
9:1::2 65009 2 4 0 0 00:00:19 Established
# 查看Switch C的對等體信息。
[SwitchC] display bgp ipv6 peer
BGP local router ID : 3.3.3.3
Local AS number : 65009
Total number of peers : 2 Peers in established state : 2
Peer AS MsgRcvd MsgSent OutQ PrefRcv Up/Down State
9:3::1 65009 4 4 0 0 00:02:18 Established
9:2::2 65009 4 5 0 0 00:01:52 Established
可以看出,Switch A和Switch B之間建立的EBGP連接,Switch B、Switch C和Switch D之間建立了IBGP連接。
Switch B接收了一個經過EBGP的更新報文並將之傳給Switch C。Switch C被配置為路由反射器,它有兩個客戶機:Switch B和Switch D。
SwitchB和Switch D間不需要建立IBGP連接,當Switch C接收了來自Switch B的路由更新時,它將此信息反射給Switch D;反之,接收到的Switch D的路由信息也會被反射給Switch B。
圖1-2 配置IPv6 BGP路由反射器組網圖
(1) 配置各VLAN接口的IPv6地址(略)
(2) 配置IPv6 BGP基本功能
# 配置Switch A。
<SwitchA> system-view
[SwitchA] ipv6
[SwitchA] bgp 100
[SwitchA-bgp] router-id 1.1.1.1
[SwitchA-bgp] ipv6-family
[SwitchA-bgp-af-ipv6] peer 100::2 as-number 200
[SwitchA-bgp-af-ipv6] network 1:: 64
# 配置Switch B。
<SwitchB> system-view
[SwitchB] ipv6
[SwitchB] bgp 200
[SwitchB-bgp] router-id 2.2.2.2
[SwitchB-bgp] ipv6-family
[SwitchB-bgp-af-ipv6] peer 100::1 as-number 100
[SwitchB-bgp-af-ipv6] peer 101::1 as-number 200
[SwitchB-bgp-af-ipv6] peer 101::1 next-hop-local
# 配置Switch C。
<SwitchC> system-view
[SwitchC] ipv6
[SwitchC] bgp 200
[SwitchC-bgp] router-id 3.3.3.3
[SwitchC-bgp] ipv6-family
[SwitchC-bgp-af-ipv6] peer 101::2 as-number 200
[SwitchC-bgp-af-ipv6] peer 102::2 as-number 200
# 配置Switch D。
<SwitchD> system-view
[SwitchD] ipv6
[SwitchD] bgp 200
[SwitchD-bgp] router-id 4.4.4.4
[SwitchD-bgp] ipv6-family
[SwitchD-bgp-af-ipv6] peer 102::1 as-number 200
(3) 配置路由反射器
# 配置Switch C作為路由反射器,Switch B和Switch D是它的兩個客戶機。
[SwitchC-bgp-af-ipv6] peer 101::2 reflect-client
[SwitchC-bgp-af-ipv6] peer 102::2 reflect-client
在Switch B上用命令display bgp ipv6 routing-table,可以看到Switch B已知道網絡1::/64的存在。
在Switch D上用命令display bgp ipv6 routing-table,可以看到Switch D也知道網絡1::/64的存在。
· Switch A、Switch B和Switch C三台交換機互連,使能IPv6 BGP協議。Switch A和Switch B之間建立IBGP連接,Switch B和Switch C之間建立EBGP連接。
· 要求配置IPsec安全策略對Switch A和Switch B之間、Switch B和Switch C之間的IPv6 BGP報文進行驗證和加密。
圖1-3 IPv6 BGP IPsec安全策略組網圖
(1) 配置各接口的IPv6地址(略)
(2) 配置IBGP連接
# 配置Switch A。
<SwitchA> system-view
[SwitchA] ipv6
[SwitchA] bgp 65008
[SwitchA-bgp] router-id 1.1.1.1
[SwitchA-bgp] ipv6-family
[SwitchA-bgp-af-ipv6] group ibgp internal
[SwitchA-bgp-af-ipv6] peer 1::2 group ibgp
[SwitchA-bgp-af-ipv6] quit
[SwitchA-bgp] quit
# 配置Switch B。
<SwitchB> system-view
[SwitchB] ipv6
[SwitchB] bgp 65008
[SwitchB-bgp] router-id 2.2.2.2
[SwitchB-bgp] ipv6-family
[SwitchB-bgp-af-ipv6] group ibgp internal
[SwitchB-bgp-af-ipv6] peer 1::1 group ibgp
[SwitchB-bgp-af-ipv6] quit
[SwitchB-bgp] quit
(3) 配置EBGP連接
# 配置Switch C。
<SwitchC> system-view
[SwitchC] ipv6
[SwitchC] bgp 65009
[SwitchC-bgp] router-id 3.3.3.3
[SwitchC-bgp] ipv6-family
[SwitchC-bgp-af-ipv6] group ebgp external
[SwitchC-bgp-af-ipv6] peer 3::1 as-number 65008
[SwitchC-bgp-af-ipv6] peer 3::1 group ebgp
[SwitchC-bgp-af-ipv6] quit
[SwitchC-bgp] quit
# 配置Switch B。
[SwitchB-bgp] ipv6-family
[SwitchB-bgp-af-ipv6] group ebgp external
[SwitchB-bgp-af-ipv6] peer 3::2 as-number 65009
[SwitchB-bgp-af-ipv6] peer 3::2 group ebgp
[SwitchB-bgp-af-ipv6] quit
[SwitchB-bgp] quit
(4) 配置IPv6 BGP IPsec安全策略
# 配置Switch A。創建名為tran1的安全提議,報文封裝形式采用傳輸模式,安全協議采用ESP協議。創建一條安全策略policy001,協商方式為manual,配置SPI和密鑰。
[SwitchA] ipsec proposal tran1
[SwitchA-ipsec-proposal-tran1] encapsulation-mode transport
[SwitchA-ipsec-proposal-tran1] transform esp
[SwitchA-ipsec-proposal-tran1] esp encryption-algorithm des
[SwitchA-ipsec-proposal-tran1] esp authentication-algorithm sha1
[SwitchA-ipsec-proposal-tran1] quit
[SwitchA] ipsec policy policy001 10 manual
[SwitchA-ipsec-policy-manual-policy001-10] proposal tran1
[SwitchA-ipsec-policy-manual-policy001-10] sa spi outbound esp 12345
[SwitchA-ipsec-policy-manual-policy001-10] sa spi inbound esp 12345
[SwitchA-ipsec-policy-manual-policy001-10] sa string-key outbound esp abcdefg
[SwitchA-ipsec-policy-manual-policy001-10] sa string-key inbound esp abcdefg
[SwitchA-ipsec-policy-manual-policy001-10] quit
# 配置Switch B。創建名為tran1的安全提議,報文封裝形式采用傳輸模式,安全協議采用ESP協議;創建一條安全策略policy001,協商方式為manual,配置SPI和密鑰。創建名為tran2的安全提議,報文封裝形式采用傳輸模式,安全協議采用ESP協議;創建一條安全策略policy002,協商方式為manual,配置SPI和密鑰。
[SwitchB] ipsec proposal tran1
[SwitchB-ipsec-proposal-tran1] encapsulation-mode transport
[SwitchB-ipsec-proposal-tran1] transform esp
[SwitchB-ipsec-proposal-tran1] esp encryption-algorithm des
[SwitchB-ipsec-proposal-tran1] esp authentication-algorithm sha1
[SwitchB-ipsec-proposal-tran1] quit
[SwitchB] ipsec policy policy001 10 manual
[SwitchB-ipsec-policy-manual-policy001-10] proposal tran1
[SwitchB-ipsec-policy-manual-policy001-10] sa spi outbound esp 12345
[SwitchB-ipsec-policy-manual-policy001-10] sa spi inbound esp 12345
[SwitchB-ipsec-policy-manual-policy001-10] sa string-key outbound esp abcdefg
[SwitchB-ipsec-policy-manual-policy001-10] sa string-key inbound esp abcdefg
[SwitchB-ipsec-policy-manual-policy001-10] quit
[SwitchB] ipsec proposal tran2
[SwitchB-ipsec-proposal-tran2] encapsulation-mode transport
[SwitchB-ipsec-proposal-tran2] transform esp
[SwitchB-ipsec-proposal-tran2] esp encryption-algorithm des
[SwitchB-ipsec-proposal-tran2] esp authentication-algorithm sha1
[SwitchB-ipsec-proposal-tran2] quit
[SwitchB] ipsec policy policy002 10 manual
[SwitchB-ipsec-policy-manual-policy002-10] proposal tran2
[SwitchB-ipsec-policy-manual-policy002-10] sa spi outbound esp 54321
[SwitchB-ipsec-policy-manual-policy002-10] sa spi inbound esp 54321
[SwitchB-ipsec-policy-manual-policy002-10] sa string-key outbound esp gfedcba
[SwitchB-ipsec-policy-manual-policy002-10] sa string-key inbound esp gfedcba
[SwitchB-ipsec-policy-manual-policy002-10] quit
# 配置Switch C。創建名為tran2的安全提議,報文封裝形式采用傳輸模式,安全協議采用ESP協議。創建一條安全策略policy002,協商方式為manual,配置SPI和密鑰。
[SwitchC] ipsec proposal tran2
[SwitchC-ipsec-proposal-tran2] encapsulation-mode transport
[SwitchC-ipsec-proposal-tran2] transform esp
[SwitchC-ipsec-proposal-tran2] esp encryption-algorithm des
[SwitchC-ipsec-proposal-tran2] esp authentication-algorithm sha1
[SwitchC-ipsec-proposal-tran2] quit
[SwitchC] ipsec policy policy002 10 manual
[SwitchC-ipsec-policy-manual-policy002-10] proposal tran2
[SwitchC-ipsec-policy-manual-policy002-10] sa spi outbound esp 54321
[SwitchC-ipsec-policy-manual-policy002-10] sa spi inbound esp 54321
[SwitchC-ipsec-policy-manual-policy002-10] sa string-key outbound esp gfedcba
[SwitchC-ipsec-policy-manual-policy002-10] sa string-key inbound esp gfedcba
[SwitchC-ipsec-policy-manual-policy002-10] quit
(5) 配置IBGP對等體IPsec安全策略
# 配置Switch A。
[SwitchA] bgp 65008
[SwitchA-bgp] ipv6-family
[SwitchA-bgp-af-ipv6] peer 1::2 ipsec-policy policy001
[SwitchA-bgp-af-ipv6] quit
[SwitchA-bgp] quit
# 配置Switch B。
[SwitchB] bgp 65008
[SwitchB-bgp] ipv6-family
[SwitchB-bgp-af-ipv6] peer 1::1 ipsec-policy policy001
[SwitchB-bgp-af-ipv6] quit
[SwitchB-bgp] quit
(6) 配置EBGP對等體組IPsec安全策略
# 配置Switch C。
[SwitchC] bgp 65009
[SwitchC-bgp] ipv6-family
[SwitchC-bgp-af-ipv6] peer ebgp ipsec-policy policy002
[SwitchC-bgp-af-ipv6] quit
[SwitchC-bgp] quit
# 配置Switch B。
[SwitchB] bgp 65008
[SwitchB-bgp] ipv6-family
[SwitchB-bgp-af-ipv6] peer ebgp ipsec-policy policy002
[SwitchB-bgp-af-ipv6] quit
[SwitchB-bgp] quit
# 顯示Switch B的對等體的詳細信息。
[SwitchB] display bgp ipv6 peer verbose
BGP Peer is 1::1, remote AS 65008,
Type: IBGP link
BGP version 4, remote router ID 1.1.1.1
BGP current state: Established, Up for 00h01m51s
BGP current event: RecvKeepalive
BGP last state: OpenConfirm
Port: Local – 1029 Remote - 179
Configured: Active Hold Time: 180 sec Keepalive Time: 60 sec
Received : Active Hold Time: 180 sec
Negotiated: Active Hold Time: 180 sec
Peer optional capabilities:
Peer support bgp multi-protocol extended
Peer support bgp route refresh capability
Address family IPv4 Unicast: advertised and received
Received: Total 0 messages, Update messages 0
Sent: Total 0 messages, Update messages 0
Maximum allowed prefix number: 4294967295
Threshold: 75%
Minimum time between advertisement runs is 30 seconds
Optional capabilities:
Route refresh capability has been enabled
ORF advertise capability based on prefix (type 64):
Local: both
Negotiated: send
Peer Preferred Value: 0
IPsec policy name: policy001, SPI :12345
Routing policy configured:
No routing policy is configured
BGP Peer is 3::2, remote AS 65009,
Type: EBGP link
BGP version 4, remote router ID 3.3.3.3
BGP current state: Established, Up for 00h01m51s
BGP current event: RecvKeepalive
BGP last state: OpenConfirm
Port: Local – 1029 Remote - 179
Configured: Active Hold Time: 180 sec Keepalive Time: 60 sec
Received : Active Hold Time: 180 sec
Negotiated: Active Hold Time: 180 sec
Peer optional capabilities:
Peer support bgp multi-protocol extended
Peer support bgp route refresh capability
Address family IPv4 Unicast: advertised and received
Received: Total 0 messages, Update messages 0
Sent: Total 0 messages, Update messages 0
Maximum allowed prefix number: 4294967295
Threshold: 75%
Minimum time between advertisement runs is 30 seconds
Optional capabilities:
Route refresh capability has been enabled
ORF advertise capability based on prefix (type 64):
Local: both
Negotiated: send
Peer Preferred Value: 0
IPsec policy name: policy002, SPI :54321
Routing policy configured:
No routing policy is configured
完成上述配置後IBGP、EBGP鄰居能正常建立,且報文都經過加密。
· 在AS 200內使用OSPFv3作為IGP協議;
· Switch A與Switch C建立兩條IBGP連接。當Switch A與Switch C之間的兩條鏈路均連通時,Switch C與1200::0/64之間的報文使用Switch A<->Switch B<->Switch C這條路徑;當Switch A<->Switch B<->Switch C鏈路故障時,BFD能夠快速檢測並通告IPv6 BGP協議,使得Switch A<->Switch D<->Switch C這條路徑能夠迅速生效。
圖1-4 IPv6 BGP與BFD聯動配置組網圖
設備 |
接口 |
IP地址 |
設備 |
接口 |
IP地址 |
Switch A |
Vlan-int100 |
3000::1/64 |
Switch C |
Vlan-int101 |
3001::3/64 |
|
Vlan-int200 |
2000::1/64 |
|
Vlan-int201 |
2001::3/64 |
Switch B |
Vlan-int100 |
3000::2/64 |
Switch D |
Vlan-int200 |
2000::2/64 |
|
Vlan-int101 |
3001::2/64 |
|
Vlan-int201 |
2001::2/64 |
(1) 配置各接口的IPv6地址(略)
(2) 配置OSPFv3(略),保證Switch A和Switch C之間路由可達
(3) Switch A上的IPv6 BGP配置
# 配置Switch A和Switch C建立兩條IBGP連接。
<SwitchA> system-view
[SwitchA] bgp 200
[SwitchA-bgp] ipv6-family
[SwitchA-bgp-af-ipv6] peer 3001::3 as-number 200
[SwitchA-bgp-af-ipv6] peer 2001::3 as-number 200
[SwitchA-bgp-af-ipv6] quit
# 配置當Switch A與Switch C之間的兩條鏈路均連通時,Switch C與1200::0/64之間的報文使用Switch A<->Switch B<->Switch C這條路徑。(在Switch A上對發布給對等體2001::3的1200::0/64路由配置較高的MED屬性值)
· 定義編號為2000的IPv6 ACL,允許路由1200::0/64通過。
[SwitchA] acl ipv6 number 2000
[SwitchA-acl6-basic-2000] rule permit source 1200::0 64
[SwitchA-acl6-basic-2000] quit
· 定義兩個Route-policy,一個名為apply_med_50,為路由1200::0/64設置MED屬性值為50;另一個名為apply_med_100,為路由1200::0/64設置MED屬性值為100。
[SwitchA] route-policy apply_med_50 permit node 10
[SwitchA-route-policy] if-match ipv6 address acl 2000
[SwitchA-route-policy] apply cost 50
[SwitchA-route-policy] quit
[SwitchA] route-policy apply_med_100 permit node 10
[SwitchA-route-policy] if-match ipv6 address acl 2000
[SwitchA-route-policy] apply cost 100
[SwitchA-route-policy] quit
· 對發布給對等體3001::3的路由應用名為apply_med_50的Route-policy,對發布給對等體2001::3的路由應用名為apply_med_100的Route-policy。
[SwitchA] bgp 200
[SwitchA-bgp] ipv6-family
[SwitchA-bgp-af-ipv6] network 1200:: 64
[SwitchA-bgp-af-ipv6] peer 3001::3 route-policy apply_med_50 export
[SwitchA-bgp-af-ipv6] peer 2001::3 route-policy apply_med_100 export
# 配置當Switch A<->Switch B<->Switch C鏈路故障時,BFD能夠快速檢測並通告IPv6 BGP協議,使得Switch A<->Switch D<->Switch C這條路徑能夠迅速生效。
[SwitchA-bgp-af-ipv6] peer 3001::3 bfd
[SwitchA-bgp-af-ipv6] quit
[SwitchA-bgp] quit
(4) Switch C上的IPv6 BGP配置。
<SwitchC> system-view
[SwitchC] bgp 200
[SwitchC-bgp] ipv6-family
[SwitchC-bgp-af-ipv6] peer 3000::1 as-number 200
[SwitchC-bgp-af-ipv6] peer 3000::1 bfd
[SwitchC-bgp-af-ipv6] peer 2000::1 as-number 200
[SwitchC-bgp-af-ipv6] quit
[SwitchC-bgp] quit
(5) 配置各路由器接口及BFD參數(該步驟可省略,使用BFD參數的缺省值即可)
# 配置Switch A。
[SwitchA] bfd session init-mode active
[SwitchA] interface vlan-interface 100
· 配置發送BFD控製報文的最小時間間隔為500毫秒。
[SwitchA-Vlan-interface100] bfd min-transmit-interval 500
· 配置接收BFD控製報文的最小時間間隔為500毫秒。
[SwitchA-Vlan-interface100] bfd min-receive-interval 500
· 配置BFD報文最大失效的個數為7。
[SwitchA-Vlan-interface100] bfd detect-multiplier 7
[SwitchA-Vlan-interface100] quit
# 配置Switch C。
[SwitchC] bfd session init-mode active
[SwitchC] interface vlan-interface 101
· 配置發送BFD控製報文的最小時間間隔為500毫秒。
[SwitchC-Vlan-interface101] bfd min-transmit-interval 500
· 配置接收BFD控製報文的最小時間間隔為500毫秒。
[SwitchC-Vlan-interface101] bfd min-receive-interval 500
· 配置BFD報文最大失效的個數為7。
[SwitchC-Vlan-interface101] bfd detect-multiplier 7
[SwitchC-Vlan-interface101] return
(6) 檢查配置結果
下麵以Switch C為例,Switch A和Switch B類似,不再贅述。
# 顯示Switch C的BFD信息。
<SwitchC> display bfd session verbose
Total session number: 1 Up session number: 1 Init mode: Active
IPv6 Session working under Ctrl mode:
Local Discr: 17 Remote Discr: 13
Source IP: 3001::3
Destination IP: 3000::1
Session State: Up Interface: Vlan-interface101
Min Trans Inter: 500ms Act Trans Inter: 500ms
Min Recv Inter: 500ms Act Detect Inter: 3000ms
Recv Pkt Num: 57 Send Pkt Num: 53
Hold Time: 2200ms Connect Type: Direct
Running Up for: 00:00:06 Auth mode: none
Protocol: BGP6
Diag Info: No Diagnostic
以上顯示信息表明:Switch A的VLAN接口100和Switch C的VLAN接口101之間已經建立了BFD連接,而且BFD協議運行正常。
# 在Switch C上查看BGP鄰居信息,可以看出Switch A和Switch C BGP鄰居處於Established狀態。
<SwitchC> display bgp ipv6 peer
BGP local router ID : 1.1.1.1
Local AS number : 200
Total number of peers : 2 Peers in established state : 2
Peer AS MsgRcvd MsgSent OutQ PrefRcv Up/Down State
2000::1 200 7 10 0 0 00:01:05 Established
3000::1 200 7 10 0 0 00:01:34 Established
# 在Switch C上查看1200::0/64的路由信息,可以看出Switch A和Switch C是通過Switch B進行通信的。
<SwitchC> display ipv6 routing-table 1200::0 64 verbose
Routing Table :
Summary Count : 2
Destination : 1200:: PrefixLength : 64
NextHop : 3000::1 Preference : 255
RelayNextHop : 3001::2 Tag : 0H
Neighbor : 3000::1 ProcessID : 0
Interface : Vlan-interface101 Protocol : BGP4+
State : Active Adv Cost : 50
Tunnel ID : 0x0 Label : NULL
Age : 4538sec
Destination : 1200:: PrefixLength : 64
NextHop : 2000::1 Preference : 255
RelayNextHop : 2001::2 Tag : 0H
Neighbor : 2000::1 ProcessID : 0
Interface : Vlan-interface201 Protocol : BGP4+
State : Invalid Adv Cost : 100
Tunnel ID : 0x0 Label : NULL
Age : 4515sec
以上顯示信息表明:Switch C到達1200::0/64網段有兩條路徑:當前生效的是Switch A<->Switch B<->Switch C,Switch A<->Switch D<->Switch C這條路徑沒有生效。
當Switch A和Switch B之間的鏈路發生故障時Switch C能夠快速檢測Switch B的變化。
# 在Switch C上查看1200::0/64的路由信息,可以看出Switch A和Switch C是通過Switch D進行通信的。
<SwitchC> display ipv6 routing-table 1200::0 64 verbose
Routing Table :
Summary Count : 1
Destination : 1200:: PrefixLength : 64
NextHop : 2000::1 Preference : 255
RelayNextHop : 2001::2 Tag : 0H
Neighbor : 2000::1 ProcessID : 0
Interface : Vlan-interface201 Protocol : BGP4+
State : Active Adv Cost : 100
Tunnel ID : 0x0 Label : NULL
Age : 4635sec
以上顯示信息表明:Switch C到達1200::0/64網段有一條路徑:Switch A<->Switch D<->Switch C。
使用display bgp ipv6 peer命令查看IPv6 BGP對等體的信息,發現與對端的連接無法進入Established狀態。
IPv6 BGP鄰居的建立需要能夠使用179端口建立TCP會話,以及能夠正確交換Open消息。
(1) 用display current-configuration configuration bgp命令檢查鄰居的AS號配置是否正確。
(2) 用display bgp ipv6 peer命令檢查鄰居的IPv6地址是否正確。
(3) 如果使用Loopback接口,檢查是否配置了peer connect-interface命令。
(4) 如果是物理上非直連的EBGP鄰居,檢查是否配置了peer ebgp-max-hop命令。
(5) 檢查路由表中是否存在到鄰居的可用路由。
(6) 使用ping命令檢查鏈路是否暢通。
(7) 使用display tcp ipv6 status命令檢查TCP連接是否正常。
(8) 檢查是否配置了禁止TCP端口179的ACL。
不同款型規格的資料略有差異, 詳細信息請向具體銷售和400谘詢。H3C保留在沒有任何通知或提示的情況下對資料內容進行修改的權利!