• 產品與解決方案
  • 行業解決方案
  • 服務
  • 支持
  • 合作夥伴
  • 關於我們

06-三層技術-IP業務配置指導

目錄

13-隧道配置

本章節下載 13-隧道配置  (436.7 KB)

13-隧道配置


1 隧道

說明

設備支持兩種運行模式:獨立運行模式和IRF模式,缺省情況為獨立運行模式。有關IRF模式的介紹,請參見“IRF配置指導”中的“IRF”。

 

1.1  隧道概述

隧道技術是一種封裝技術,它利用一種網絡協議來傳輸另一種網絡協議,即一種網絡協議將其他網絡協議的數據報文封裝在自己的報文中,然後在網絡中傳輸。封裝後的數據報文在網絡中傳輸的路徑,稱為隧道。隧道是一條虛擬的點對點連接,隧道的兩端需要對數據報文進行封裝及解封裝。隧道技術就是指包括數據封裝、傳輸和解封裝在內的全過程。

隧道技術可以:

·     作為過渡技術,實現IPv4和IPv6網絡互通,如IPv6 over IPv4隧道技術。

·     創建VPN(Virtual Private Network,虛擬私有網絡),保證通信的安全性,如GRE(Generic Routing Encapsulation,通用路由封裝)。

·     實現流量工程,避免由於負載不均衡導致網絡擁塞,如MPLS TE(Multiprotocol Label Switching Traffic Engineering,多協議標記交換流量工程)。

上述三種隧道技術中,隧道兩端需要創建虛擬的三層接口——Tunnel接口,以便隧道兩端的設備利用隧道發送報文、識別並處理來自隧道的報文。

說明

·     本文隻介紹實現IPv4/IPv6過渡的隧道。

·     GRE、MPLS TE的相關介紹和配置請分別參見“三層技術-IP業務配置指導”中的“GRE”、MPLS配置指導中的“MPLS TE”。

 

1.1.1  IPv6 over IPv4隧道

1. IPv6 over IPv4隧道原理

IPv6 over IPv4隧道是在IPv6數據報文前封裝上IPv4的報文頭,通過隧道使IPv6報文穿越IPv4網絡,實現隔離的IPv6網絡的互通,如圖1-1所示。IPv6 over IPv4隧道可以建立在主機—主機、主機—設備或設備—設備之間。隧道的終點可能是IPv6報文的最終目的地,也可能需要進一步轉發。

說明

IPv6 over IPv4隧道兩端的設備必須支持IPv4/IPv6雙協議棧。

 

圖1-1 IPv6 over IPv4隧道原理圖

 

IPv6 over IPv4隧道對報文的處理過程如下:

·     IPv6網絡中的設備發送IPv6報文,該報文到達隧道的源端設備Device A。

·     Device A根據路由表判定該報文要通過隧道進行轉發後,在IPv6報文前封裝上IPv4的報文頭,通過隧道的實際物理接口將報文轉發出去。

·     封裝報文通過隧道到達隧道目的端設備Device B,Device B判斷該封裝報文的目的地是本設備後,將對報文進行解封裝。

·     Device B根據解封裝後的IPv6報文的目的地址轉發該IPv6報文。如果目的地就是本設備,則將IPv6報文轉給上層協議處理。

2. IPv6 over IPv4隧道模式

根據隧道終點的IPv4地址的獲取方式不同,隧道分為“配置隧道”和“自動隧道”。

·     如果IPv6 over IPv4隧道的終點地址不能從IPv6報文的目的地址中自動獲取,需要進行手工配置,這樣的隧道稱為“配置隧道”。

·     如果IPv6 over IPv4隧道的終點地址采用內嵌IPv4地址的特殊IPv6地址形式,則可以從IPv6報文的目的地址中自動獲取隧道終點的IPv4地址,這樣的隧道稱為“自動隧道”。

表1-1所示,根據對IPv6報文的封裝方式的不同,IPv6 over IPv4隧道分為以下幾種模式。表1-1中還列舉了各隧道模式的關鍵配置參數。

表1-1 IPv6 over IPv4隧道模式

隧道類型

隧道模式

隧道源/目的地址

隧道接口地址

配置隧道

IPv6手動隧道

源/目的地址為手動配置的IPv4地址

IPv6地址

自動隧道

IPv4兼容IPv6自動隧道

源地址為手動配置的IPv4地址,目的地址不需配置

IPv4兼容IPv6地址,其格式為:

::IPv4-source-address/96

6to4隧道

源地址為手動配置的IPv4地址,目的地址不需配置

6to4地址,其格式為:

2002:IPv4-source-address::/48

ISATAP(Intra-Site Automatic Tunnel Addressing Protocol,站點內自動隧道尋址協議)隧道

源地址為手動配置的IPv4地址,目的地址不需配置

ISATAP地址,其格式為:

Prefix:0:5EFE:IPv4-source-address/64

 

(1)     IPv6手動隧道

手動隧道是點到點之間的鏈路,一條鏈路就是一個單獨的隧道。主要用於邊緣路由器—邊緣路由器或主機—邊緣路由器之間定期安全通信的穩定連接,可實現與遠端IPv6網絡的連接。

(2)     GRE隧道

使用標準的GRE協議可對IPv6報文進行封裝,使IPv6報文能通過隧道穿越IPv4網絡。與IPv6手動隧道相同,GRE隧道也是點到點之間的鏈路,每條鏈路都是一條單獨的隧道。GRE隧道主要用於邊緣路由器-邊緣路由器、主機-邊緣路由器定期安全通信的穩定連接。相關配置請參見“三層技術-IP業務配置指導”中的“GRE”。

(3)     IPv4兼容IPv6自動隧道

IPv4兼容IPv6自動隧道是點到多點的鏈路。隧道兩端采用特殊的IPv6地址:IPv4兼容IPv6地址,其格式為:0:0:0:0:0:0:a.b.c.d/96,其中a.b.c.d是IPv4地址。通過這個嵌入的IPv4地址可以自動確定隧道的終點,使IPv6隧道的建立非常方便。但由於它必須使用IPv4兼容IPv6地址,仍依賴於IPv4地址,在使用時有一定的局限性。

(4)     6to4隧道

·     普通6to4隧道

6to4隧道是點到多點的自動隧道,主要用於將多個IPv6孤島通過IPv4網絡連接到IPv6網絡。6to4隧道通過在IPv6報文的目的地址中嵌入IPv4地址,來實現自動獲取隧道終點的IPv4地址。

6to4隧道采用特殊的6to4地址,其格式為:2002:abcd:efgh:子網號::接口ID/64,其中2002表示固定的IPv6地址前綴,abcd:efgh表示該6to4隧道對應的32位全球唯一的IPv4源地址,用16進製表示(如1.1.1.1可以表示為0101:0101)。2002:abcd:efgh之後的部分唯一標識了一個主機在6to4網絡內的位置。通過這個嵌入的IPv4地址可以自動確定隧道的終點,使隧道的建立非常方便。

由於6to4地址的64位地址前綴中的16位子網號可以由用戶自定義,前綴中的前48位已由固定數值、隧道起點或終點設備的IPv4地址確定,使IPv6報文通過隧道進行轉發成為可能。6to4隧道可以實現利用IPv4網絡完成IPv6網絡的互連,克服了IPv4兼容IPv6自動隧道使用的局限性。

·     6to4中繼

6to4隧道隻能用於前綴為2002::/16的6to4網絡之間的通信,但在IPv6網絡中也會使用像2001::/16這樣的IPv6網絡地址。為了實現6to4網絡和其它IPv6網絡的通信,必須有一台6to4路由器作為網關轉發到IPv6網絡的報文,這台路由器就叫做6to4中繼(6to4 relay)路由器。

如下圖所示,6to4網絡的邊緣路由器Router A需配置一條靜態路由,下一跳地址指向6to4中繼路由器Router C的6to4地址,這樣,所有去往IPv6網絡的報文都會被轉發到6to4中繼路由器,之後再由6to4中繼路由器轉發到IPv6網絡中,從而實現6to4網絡(地址前綴以2002開始)與IPv6網絡的互通。

圖1-2 6to4隧道和6to4中繼原理圖

 

(5)     ISATAP隧道

隨著IPv6技術的推廣,現有的IPv4網絡中將會出現越來越多的IPv6主機,ISATAP隧道技術為這種應用提供了一個較好的解決方案。ISATAP隧道是點到多點的自動隧道技術,通過在IPv6報文的目的地址中嵌入的IPv4地址,可以自動獲取隧道的終點。

使用ISATAP隧道時,IPv6報文的目的地址和隧道接口的IPv6地址都要采用特殊的ISATAP地址。ISATAP地址格式為:Prefix(64bit):0:5EFE:abcd:efgh。其中,64位的Prefix為任何合法的IPv6單播地址前綴,abcd:efgh表示32位IPv4源地址,用16進製表示(如1.1.1.1可以表示為0101:0101),該IPv4地址不要求全球唯一。通過這個嵌入的IPv4地址就可以自動建立隧道,完成IPv6報文的傳送。

ISATAP隧道主要用於在IPv4網絡中IPv6路由器—IPv6路由器、IPv6主機—IPv6路由器的連接。

圖1-3 ISATAP隧道原理圖

 

1.1.2  協議規範

與隧道技術相關的協議規範有:

·     RFC 1853:IP in IP Tunneling

·     RFC 2473:Generic Packet Tunneling in IPv6 Specification

·     RFC 2893:Transition Mechanisms for IPv6 Hosts and Routers

·     RFC 3056:Connection of IPv6 Domains via IPv4 Clouds

·     RFC 4214:Intra-Site Automatic Tunnel Addressing Protocol (ISATAP)

1.2  隧道配置任務簡介

表1-2 隧道配置任務簡介

配置任務

說明

詳細配置

配置Tunnel接口

必選

1.3 

配置IPv6 over IPv4隧道

配置IPv6手動隧道

根據組網情況,選擇其一

1.4 

配置IPv4兼容IPv6自動隧道

1.5 

配置6to4隧道

1.6 

配置ISATAP隧道

1.7 

 

1.3  配置Tunnel接口

隧道兩端的設備上,需要創建虛擬的三層接口——Tunnel接口,以便隧道兩端的設備利用隧道發送報文、識別並處理來自隧道的報文。

表1-3 配置Tunnel接口

配置步驟

命令

說明

進入係統視圖

system-view

-

創建Tunnel接口,並進入Tunnel接口視圖

interface tunnel number

必選

缺省情況下,設備上無Tunnel接口

配置接口描述信息

description text

可選

缺省情況下,接口描述信息為“該接口的接口名 Interface”

配置MTU值

配置Tunnel接口的IPv4 MTU值

mtu size

可選

缺省情況下,IPv4 MTU的值為1500

,IPv6 MTU的值為1480

配置Tunnel接口的IPv6 MTU值

ipv6 mtu size

配置Tunnel接口的帶寬

tunnel bandwidth bandwidth-value

可選

缺省情況下,Tunnel接口的帶寬為64kbps

恢複當前接口的缺省配置

default

可選

關閉Tunnel接口

shutdown

可選

缺省情況下,接口處於開啟狀態

 

說明

·     主備倒換或備板拔出時,建立在主控板或備板上的隧道不會被真正刪除,若再配置相同的隧道,係統會提示隧道已經存在。如果需要真正刪除隧道接口,請使用undo interface tunnel命令來刪除。

·     ipv6 mtu命令的詳細介紹,請參見“三層技術-IP業務命令參考”中的“IPv6基礎”。

·     目前,通過tunnel bandwidth命令配置的Tunnel接口帶寬隻用於動態路由協議計算隧道所在路徑的cost值,不會影響接口的實際帶寬。建議根據報文實際出接口的帶寬值設置Tunnel接口帶寬。

·     執行default命令並不能保證接口下的所有命令都能恢複到缺省情況,某些命令可能會由於不滿足必備條件而恢複失敗。因此,執行default命令後建議通過display this命令確認執行效果。

 

1.4  配置IPv6手動隧道

1.4.1  配置準備

設備上存在已經配置IP地址、能夠進行正常通訊的接口(如VLAN接口,Ethernet接口,Loopback接口等),該接口將作為Tunnel接口的源接口。

1.4.2  配置IPv6手動隧道

表1-4 配置IPv6手動隧道

操作

命令

說明

進入係統視圖

system-view

-

使能IPv6報文轉發功能

ipv6

必選

缺省情況下,關閉IPv6報文轉發功能

創建Tunnel接口並進入Tunnel接口視圖

interface tunnel number

必選

缺省情況下,設備上無Tunnel接口

設置Tunnel接口的IPv6地址

配置IPv6全球單播地址或站點本地地址

ipv6 address { ipv6-address prefix-length | ipv6-address/prefix-length }

二者必選其一

缺省情況下,Tunnel接口上沒有設置IPv6全球單播地址或站點本地地址

ipv6 address ipv6-address/prefix-length eui-64

配置IPv6鏈路本地地址

ipv6 address auto link-local

可選

缺省情況下,當接口配置了IPv6全球單播地址或站點本地地址後,會自動生成鏈路本地地址

ipv6 address ipv6-address link-local

配置隧道模式為IPv6手動隧道模式

tunnel-protocol ipv6-ipv4

必選

缺省情況下,為GRE over IPv4隧道模式

在隧道的兩端應配置相同的隧道模式,否則可能造成報文傳輸失敗

設置Tunnel接口的源端地址或接口

source { ip-address | interface-type interface-number }

必選

缺省情況下,Tunnel接口上沒有設置源端地址和接口

設置Tunnel接口的目的端地址

destination ip-address

必選

缺省情況下,Tunnel接口上沒有設置目的端地址

退回係統視圖

quit

-

 

注意

·     以上各項Tunnel接口下進行的功能特性配置,在刪除Tunnel接口後,該接口上的所有配置也將被刪除。

·     如果封裝前IPv6報文的目的IPv6地址與Tunnel接口的IPv6地址不在同一個網段,則必須配置通過Tunnel接口到達目的IPv6地址的轉發路由,以便需要進行封裝的報文能正常轉發。用戶可以配置靜態路由,指定到達目的IPv6地址的路由出接口為本端Tunnel接口或下一跳為對端Tunnel接口地址。用戶也可以配置動態路由,在Tunnel接口使能動態路由協議。在隧道的兩端都要進行此項配置,配置的詳細情況請參見“三層技術-IP路由配置指導”中的“IPv6靜態路由”或其他路由協議配置。

 

1.4.3  配置舉例

說明

缺省情況下,以太網接口、VLAN接口及聚合接口處於DOWN狀態。如果要對這些接口進行配置,請先使用undo shutdown命令使接口狀態處於UP狀態。

 

1. 組網需求

圖1-4所示,兩個IPv6網絡分別通過Switch A和Switch B與IPv4網絡連接,要求在Switch A和Switch B之間建立IPv6手動隧道,使兩個IPv6網絡可以互通。如果隧道終點的IPv4地址不能從IPv6報文的目的地址中自動獲取,則需要配置IPv6手工隧道。

2. 組網圖

圖1-4 IPv6手動隧道組網圖

 

3. 配置步驟

說明

在開始下麵的配置之前,請確保Switch A和Switch B上已經創建相應的VLAN接口,且兩者之間IPv4報文路由可達。

 

(1)     配置Switch A

# 使能IPv6轉發功能。

<SwitchA> system-view

[SwitchA] ipv6

# 配置接口Vlan-interface100的地址。

[SwitchA] interface vlan-interface 100

[SwitchA-Vlan-interface100] ip address 192.168.100.1 255.255.255.0

[SwitchA-Vlan-interface100] quit

# 配置接口Vlan-interface101的IPv6地址。

[SwitchA] interface vlan-interface 101

[SwitchA-Vlan-interface101] ipv6 address 3002::1 64

[SwitchA-Vlan-interface101] quit

# 配置手動隧道。

[SwitchA] interface Tunnel 0

[SwitchA-Tunnel0] ipv6 address 3001::1/64

[SwitchA-Tunnel0] source vlan-interface 100

[SwitchA-Tunnel0] destination 192.168.50.1

[SwitchA-Tunnel0] tunnel-protocol ipv6-ipv4

[SwitchA-Tunnel0] quit

# 配置從Switch A經過Tunnel0接口到Group 2的靜態路由。

[SwitchA] ipv6 route-static 3003:: 64 Tunnel 0

(2)     配置Switch B

# 使能IPv6轉發功能。

<SwitchB> system-view

[SwitchB] ipv6

# 配置接口Vlan-interface100的地址。

[SwitchB] interface vlan-interface 100

[SwitchB-Vlan-interface100] ip address 192.168.50.1 255.255.255.0

[SwitchB-Vlan-interface100] quit

# 配置接口Vlan-interface101的IPv6地址。

[SwitchB] interface vlan-interface 101

[SwitchB-Vlan-interface101] ipv6 address 3003::1 64

[SwitchB-Vlan-interface101] quit

# 配置手動隧道。

[SwitchB] interface Tunnel 0

[SwitchB-Tunnel0] ipv6 address 3001::2/64

[SwitchB-Tunnel0] source vlan-interface 100

[SwitchB-Tunnel0] destination 192.168.100.1

[SwitchB-Tunnel0] tunnel-protocol ipv6-ipv4

[SwitchB-Tunnel0] quit

# 配置從Switch B經過Tunnel0接口到Group 1的靜態路由。

[SwitchB] ipv6 route-static 3002:: 64 Tunnel 0

4. 驗證配置結果

完成以上配置之後,分別查看Switch ASwitch BTunnel接口狀態如下:

[SwitchA] display ipv6 interface Tunnel 0

Tunnel0 current state :UP

Line protocol current state :UP

IPv6 is enabled, link-local address is FE80::C0A8:6401

  Global unicast address(es):

    3001::1, subnet is 3001::/64

  Joined group address(es):

    FF02::1:FF00:0

    FF02::1:FF00:1

    FF02::1:FFA8:6401

    FF02::2

    FF02::1

  MTU is 1480 bytes

  ND reachable time is 30000 milliseconds

  ND retransmit interval is 1000 milliseconds

  Hosts use stateless autoconfig for addresses

IPv6 Packet statistics:

  InReceives:                    55

……(略)

[SwitchB] display ipv6 interface Tunnel 0

Tunnel0 current state :UP

Line protocol current state :UP

IPv6 is enabled, link-local address is FE80::C0A8:3201

  Global unicast address(es):

    3001::2, subnet is 3001::/64

  Joined group address(es):

    FF02::1:FF00:0

    FF02::1:FF00:1

    FF02::1:FFA8:3201

    FF02::2

    FF02::1

  MTU is 1480 bytes

  ND reachable time is 30000 milliseconds

  ND retransmit interval is 1000 milliseconds

  Hosts use stateless autoconfig for addresses

IPv6 Packet statistics:

  InReceives:                    55

……(略)

# Switch A上可以Ping通對端的Vlan-int101接口的IPv6地址:

[SwitchA] ping ipv6 3003::1

  PING 3003::1 : 56  data bytes, press CTRL_C to break

    Reply from 3003::1

    bytes=56 Sequence=1 hop limit=64  time = 1 ms

    Reply from 3003::1

    bytes=56 Sequence=2 hop limit=64  time = 1 ms

    Reply from 3003::1

    bytes=56 Sequence=3 hop limit=64  time = 1 ms

    Reply from 3003::1

    bytes=56 Sequence=4 hop limit=64  time = 1 ms

    Reply from 3003::1

    bytes=56 Sequence=5 hop limit=64  time = 1 ms

 

  --- 3003::1 ping statistics ---

    5 packet(s) transmitted

    5 packet(s) received

    0.00% packet loss

    round-trip min/avg/max = 1/1/1 ms

1.5  配置IPv4兼容IPv6自動隧道

1.5.1  配置準備

設備上存在已經配置IP地址、能夠進行正常通訊的接口(如VLAN接口,Ethernet接口,Loopback接口等),該接口將作為Tunnel接口的源接口。

1.5.2  配置IPv4兼容IPv6自動隧道

表1-5 配置IPv4兼容IPv6自動隧道

操作

命令

說明

進入係統視圖

system-view

-

使能IPv6報文轉發功能

ipv6

必選

缺省情況下,關閉IPv6報文轉發功能

創建Tunnel接口並進入Tunnel接口視圖

interface tunnel number

必選

缺省情況下,設備上無Tunnel接口

設置Tunnel接口的IPv6地址

配置IPv6全球單播地址或站點本地地址

ipv6 address { ipv6-address prefix-length | ipv6-address/prefix-length }

二者必選其一

缺省情況下,Tunnel接口上沒有設置IPv6全球單播地址或站點本地地址

ipv6 address ipv6-address/prefix-length eui-64

配置IPv6鏈路本地地址

ipv6 address auto link-local

可選

缺省情況下,當接口配置了IPv6全球單播地址或站點本地地址後,會自動生成鏈路本地地址

ipv6 address ipv6-address link-local

配置隧道模式為IPv4兼容IPv6自動隧道模式

tunnel-protocol ipv6-ipv4 auto-tunnel

必選

缺省情況下,為GRE over IPv4隧道模式

在隧道的兩端應配置相同的隧道模式,否則可能造成報文傳輸失敗

設置Tunnel接口的源端地址或接口

source { ip-address | interface-type interface-number }

必選

缺省情況下,Tunnel接口上沒有設置源端地址或接口

配置隧道接口的IPv6 MTU值

ipv6 mtu mtu-size

可選

缺省情況下,IPv6 MTU的值為1480

 

注意

·     IPv4兼容IPv6自動隧道不需要配置目的地址,因為隧道的目的地址可以通過IPv4兼容IPv6地址中嵌入的IPv4地址自動獲得。

·     對於自動隧道,使用同種封裝協議的Tunnel接口不能同時配置完全相同的源地址。

 

1.5.3  配置舉例

說明

缺省情況下,以太網接口、VLAN接口及聚合接口處於DOWN狀態。如果要對這些接口進行配置,請先使用undo shutdown命令使接口狀態處於UP狀態。

 

1. 組網需求

圖1-5所示,兩台具有雙協議棧的交換機Switch A和Switch B通過IPv4網絡連接。在某些情況下,網絡管理員希望建立IPv4兼容IPv6自動隧道,使得這兩台設備能夠通過IPv6協議互通。

2. 組網圖

圖1-5 IPv4兼容IPv6自動隧道組網圖

 

3. 配置步驟

說明

在開始下麵的配置之前,請確保Switch A和Switch B上已經創建相應的VLAN接口,且兩者之間IPv4報文路由可達。

 

(1)     配置Switch A

# 使能IPv6轉發功能。

<SwitchA> system-view

[SwitchA] ipv6

# 配置接口Vlan-interface100的地址。

[SwitchA] interface vlan-interface 100

[SwitchA-Vlan-interface100] ip address 192.168.100.1 255.255.255.0

[SwitchA-Vlan-interface100] quit

# 配置自動隧道。

[SwitchA] interface Tunnel 0

[SwitchA-Tunnel0] ipv6 address ::192.168.100.1/96

[SwitchA-Tunnel0] source vlan-interface 100

[SwitchA-Tunnel0] tunnel-protocol ipv6-ipv4 auto-tunnel

(2)     配置Switch B

# 使能IPv6轉發功能。

<SwitchB> system-view

[SwitchB] ipv6

# 配置接口Vlan-interface100的地址。

[SwitchB] interface vlan-interface 100

[SwitchB-Vlan-interface100] ip address 192.168.50.1 255.255.255.0

[SwitchB-Vlan-interface100] quit

# 配置自動隧道。

[SwitchB] interface Tunnel 0

[SwitchB-Tunnel0] ipv6 address ::192.168.50.1/96

[SwitchB-Tunnel0] source vlan-interface 100

[SwitchB-Tunnel0] tunnel-protocol ipv6-ipv4 auto-tunnel

4. 驗證配置結果

完成以上配置之後,分別查看Switch ASwitch BTunnel接口狀態如下:

[SwitchA] display ipv6 interface Tunnel 0

Tunnel0 current state :UP

Line protocol current state :UP

IPv6 is enabled, link-local address is FE80::C0A8:6401

  Global unicast address(es):

    ::192.168.100.1, subnet is ::/96

  Joined group address(es):

    FF02::1:FFA8:6401

    FF02::1:FF00:0

    FF02::2

    FF02::1

  MTU is 1480 bytes

  ND reachable time is 30000 milliseconds

  ND retransmit interval is 1000 milliseconds

  Hosts use stateless autoconfig for addresses

IPv6 Packet statistics:

  InReceives:                    65

……(略)

[SwitchB] display ipv6 interface Tunnel 0

Tunnel0 current state :UP

Line protocol current state :UP

IPv6 is enabled, link-local address is FE80::C0A8:3201

  Global unicast address(es):

    ::192.168.50.1, subnet is ::/96

  Joined group address(es):

    FF02::1:FFA8:3201

    FF02::1:FF00:0

    FF02::2

    FF02::1

  MTU is 1480 bytes

  ND reachable time is 30000 milliseconds

  ND retransmit interval is 1000 milliseconds

  Hosts use stateless autoconfig for addresses

IPv6 Packet statistics:

  InReceives:                    65

……(略)

# Switch A上可以Ping通對端的IPv4兼容IPv6地址:

[RouterA] ping ipv6 ::192.168.50.1

  PING ::192.168.50.1 : 56  data bytes, press CTRL_C to break

    Reply from ::192.168.50.1

    bytes=56 Sequence=1 hop limit=64  time = 1 ms

    Reply from ::192.168.50.1

    bytes=56 Sequence=2 hop limit=64  time = 1 ms

    Reply from ::192.168.50.1

    bytes=56 Sequence=3 hop limit=64  time = 1 ms

    Reply from ::192.168.50.1

    bytes=56 Sequence=4 hop limit=64  time = 1 ms

    Reply from ::192.168.50.1

    bytes=56 Sequence=5 hop limit=64  time = 1 ms

 

  --- ::192.168.50.1 ping statistics ---

    5 packet(s) transmitted

    5 packet(s) received

    0.00% packet loss

    round-trip min/avg/max = 1/1/1 ms

1.6  配置6to4隧道

1.6.1  配置準備

設備上存在已經配置IP地址、能夠進行正常通訊的接口(如VLAN接口,三層以太網接口,Loopback接口等),該接口將作為Tunnel接口的源接口。

1.6.2  配置6to4隧道

表1-6 配置6to4隧道

操作

命令

說明

進入係統視圖

system-view

-

使能IPv6報文轉發功能

ipv6

必選

缺省情況下,關閉IPv6報文轉發功能

進入Tunnel接口視圖

interface tunnel number

必選

缺省情況下,設備上無Tunnel接口

設置Tunnel接口的IPv6地址

配置IPv6全球單播地址或站點本地地址

ipv6 address { ipv6-address prefix-length | ipv6-address/prefix-length }

二者必選其一

缺省情況下,Tunnel接口上沒有設置IPv6全球單播地址或站點本地地址

ipv6 address ipv6-address/prefix-length eui-64

配置IPv6鏈路本地地址

ipv6 address auto link-local

可選

缺省情況下,當接口配置了IPv6全球單播地址或站點本地地址後,會自動生成鏈路本地地址

ipv6 address ipv6-address link-local

配置隧道模式為6to4隧道模式

tunnel-protocol ipv6-ipv4 6to4

必選

缺省情況下,為GRE over IPv4隧道模式

在隧道的兩端應配置相同的隧道模式,否則可能造成報文傳輸失敗

設置Tunnel接口的源端地址或接口

source { ip-address | interface-type interface-number }

必選

缺省情況下,Tunnel接口上沒有設置源端地址和接口

退回係統視圖

quit

-

 

注意

·     6to4隧道不需要配置目的地址,因為6to4隧道的目的地址可以通過6to4 IPv6隧道地址中嵌入的IPv4地址自動獲得。

·     如果封裝前IPv6報文的目的IPv6地址與Tunnel接口的IPv6地址不在同一個網段,則必須配置通過Tunnel接口到達目的IPv6地址的轉發路由,以便需要進行封裝的報文能正常轉發。對於自動隧道,用戶隻能配置靜態路由,指定到達目的IPv6地址的路由出接口為本端Tunnel接口或下一跳為對端Tunnel接口地址,不支持動態路由。在隧道的兩端都要進行轉發路由的配置,配置的詳細情況請參見“三層技術-IP路由配置指導”中的“IPv6靜態路由”。

·     對於自動隧道,使用同種封裝協議的Tunnel接口不能同時配置完全相同的源地址。

 

1.6.3  配置6to4隧道舉例

說明

缺省情況下,以太網接口、VLAN接口及聚合接口處於DOWN狀態。如果要對這些接口進行配置,請先使用undo shutdown命令使接口狀態處於UP狀態。

 

1. 組網需求

圖1-6所示,兩個6to4網絡通過網絡邊緣6to4 switch(Switch A和Switch B)與IPv4網絡相連。在Switch A和Switch B之間建立6to4隧道,實現6to4網絡中的主機Host A和Host B之間的互通。

2. 組網圖

圖1-6 6to4隧道組網圖

 

3. 配置思路

為了實現6to4網絡之間的互通,除了配置6to4隧道外,還需要為6to4網絡內的主機及6to4 router配置6to4地址。

·     Switch A上接口Vlan-int100的IPv4地址為2.1.1.1/24,轉換成IPv6地址後使用6to4前綴2002:0201:0101::/48。對此前綴進行子網劃分,Tunnel0使用2002:0201:0101::/64子網,Vlan-int101使用2002:0201:0101:1::/64子網。

·     Switch B上接口Vlan-int100的IPv4地址為5.1.1.1/24,轉換成IPv6地址後使用6to4前綴2002:0501:0101::/48。對此前綴進行子網劃分,Tunnel0使用2002:0501:0101::/64子網,Vlan-int101使用2002:0501:0101:1::/64子網。

4. 配置步驟

說明

在開始下麵的配置之前,請確保Switch A和Switch B上已經創建相應的VLAN接口,且兩者之間IPv4報文路由可達。

 

(1)     配置Switch A

# 使能IPv6轉發功能。

<SwitchA> system-view

[SwitchA] ipv6

# 配置接口Vlan-interface100的地址。

[SwitchA] interface vlan-interface 100

[SwitchA-Vlan-interface100] ip address 2.1.1.1 24

[SwitchA-Vlan-interface100] quit

# 配置接口Vlan-interface101的地址。

[SwitchA] interface vlan-interface 101

[SwitchA-Vlan-interface101] ipv6 address 2002:0201:0101:1::1/64

[SwitchA-Vlan-interface101] quit

# 配置6to4隧道。

[SwitchA] interface tunnel 0

[SwitchA-Tunnel0] ipv6 address 2002:201:101::1/64

[SwitchA-Tunnel0] source vlan-interface 100

[SwitchA-Tunnel0] tunnel-protocol ipv6-ipv4 6to4

[SwitchA-Tunnel0] quit

# 配置到目的地址2002::/16,下一跳為Tunnel接口的靜態路由。

[SwitchA] ipv6 route-static 2002:: 16 tunnel 0

(2)     配置Switch B

# 使能IPv6轉發功能。

<SwitchB> system-view

[SwitchB] ipv6

# 配置接口Vlan-interface100的地址。

[SwitchB] interface vlan-interface 100

[SwitchB-Vlan-interface100] ip address 5.1.1.1 24

[SwitchB-Vlan-interface100] quit

# 配置接口Vlan-interface101的地址。

[SwitchB] interface vlan-interface 101

[SwitchB-Vlan-interface101] ipv6 address 2002:0501:0101:1::1/64

[SwitchB-Vlan-interface101] quit

# 配置6to4隧道。

[SwitchB] interface tunnel 0

[SwitchB-Tunnel0] ipv6 address 2002:0501:0101::1/64

[SwitchB-Tunnel0] source vlan-interface 100

[SwitchB-Tunnel0] tunnel-protocol ipv6-ipv4 6to4

[SwitchB-Tunnel0] quit

# 配置到目的地址2002::/16,下一跳為Tunnel接口的靜態路由。

[SwitchB] ipv6 route-static 2002:: 16 tunnel 0

5. 驗證配置結果

完成以上配置之後,Host A與Host B可以互相Ping通。

D:\>ping6 -s 2002:201:101:1::2 2002:501:101:1::2

 

Pinging 2002:501:101:1::2

from 2002:201:101:1::2 with 32 bytes of data:

 

Reply from 2002:501:101:1::2: bytes=32 time=13ms

Reply from 2002:501:101:1::2: bytes=32 time=1ms

Reply from 2002:501:101:1::2: bytes=32 time=1ms

Reply from 2002:501:101:1::2: bytes=32 time<1ms

 

Ping statistics for 2002:501:101:1::2:

    Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),

Approximate round trip times in milli-seconds:

    Minimum = 0ms, Maximum = 13ms, Average = 3ms

1.6.4  配置6to4中繼舉例

說明

缺省情況下,以太網接口、VLAN接口及聚合接口處於Down狀態,如果要對這些接口進行配置,請先使用undo shutdown命令使這些接口處於UP狀態。

 

1. 組網需求

圖1-7所示,Switch A為6to4交換機,其IPv6側的網絡使用6to4地址。Switch B作為6to4中繼交換機,它和IPv6網絡(2001::/16)相連。要求在Switch A和Switch B之間配置6to4隧道,使得6to4網絡中的主機與IPv6網絡中的主機互通。

2. 組網圖

圖1-7 6to4中繼組網圖

 

3. 配置步驟

說明

·     在開始下麵的配置之前,請確保Switch A和Switch B上已經創建相應的VLAN接口,且兩者之間IPv4報文路由可達。

·     6to4中繼交換機的配置與6to4交換機的配置相同,但為實現6to4網絡與IPv6網絡的互通,需要在6to4交換機上配置到IPv6網絡的路由。

 

(1)     配置Switch A

# 使能IPv6轉發功能。

<SwitchA> system-view

[SwitchA] ipv6

# 配置接口Vlan-interface100的地址。

[SwitchA] interface vlan-interface 100

[SwitchA-Vlan-interface100] ip address 2.1.1.1 255.255.255.0

[SwitchA-Vlan-interface100] quit

# 配置接口Vlan-interface101的地址。

[SwitchA] interface vlan-interface 101

[SwitchA-Vlan-interface101] ipv6 address 2002:0201:0101:1::1/64

[SwitchA-Vlan-interface101] quit

# 配置6to4隧道。

[SwitchA] interface tunnel 0

[SwitchA-Tunnel0] ipv6 address 2002:0201:0101::1/64

[SwitchA-Tunnel0] source vlan-interface 100

[SwitchA-Tunnel0] tunnel-protocol ipv6-ipv4 6to4

[SwitchA-Tunnel0] quit

# 配置到6to4中繼的靜態路由。

[SwitchA] ipv6 route-static 2002:0601:0101:: 64 tunnel 0

# 配置到純IPv6網絡的缺省路由。

[SwitchA] ipv6 route-static :: 0 2002:0601:0101::1

(2)     配置Switch B

# 使能IPv6轉發功能。

<SwitchB> system-view

[SwitchB] ipv6

# 配置接口Vlan-interface100的地址。

[SwitchB] interface vlan-interface 100

[SwitchB-Vlan-interface100] ip address 6.1.1.1 255.255.255.0

[SwitchB-Vlan-interface100] quit

# 配置接口Vlan-interface101的地址。

[SwitchB] interface vlan-interface 101

[SwitchB-Vlan-interface101] ipv6 address 2001::1/16

[SwitchB-Vlan-interface101] quit

# 配置6to4隧道。

[SwitchB] interface tunnel 0

[SwitchB-Tunnel0] ipv6 address 2002:0601:0101::1/64

[SwitchB-Tunnel0] source vlan-interface 100

[SwitchB-Tunnel0] tunnel-protocol ipv6-ipv4 6to4

[SwitchB-Tunnel0] quit

# 配置到目的地址2002::/16,下一跳為Tunnel接口的靜態路由。

[SwitchB] ipv6 route-static 2002:: 16 tunnel 0

4. 驗證配置結果

完成以上配置之後,Host A可以Ping通Host B。

D:\>ping6 -s 2002:201:101:1::2 2001::2

 

Pinging 2001::2

from 2002:201:101:1::2 with 32 bytes of data:

 

Reply from 2001::2: bytes=32 time=13ms

Reply from 2001::2: bytes=32 time=1ms

Reply from 2001::2: bytes=32 time=1ms

Reply from 2001::2: bytes=32 time<1ms

 

Ping statistics for 2001::2:

    Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),

Approximate round trip times in milli-seconds:

    Minimum = 0ms, Maximum = 13ms, Average = 3ms

1.7  配置ISATAP隧道

1.7.1  配置準備

設備上存在已經配置IP地址、能夠進行正常通訊的接口(如VLAN接口,Ethernet接口,Loopback接口等),該接口將作為Tunnel接口的源接口。

1.7.2  配置ISATAP隧道

表1-7 配置ISATAP隧道

操作

命令

說明

進入係統視圖

system-view

-

使能IPv6報文轉發功能

ipv6

必選

缺省情況下,IPv6報文轉發功能處於關閉狀態

進入Tunnel接口視圖

interface tunnel number

必選

缺省情況下,設備上無Tunnel接口

設置Tunnel接口的IPv6地址

配置IPv6全球單播地址或站點本地地址

ipv6 address { ipv6-address prefix-length | ipv6-address/prefix-length }

二者必選其一

缺省情況下,Tunnel接口上沒有設置IPv6全球單播地址或站點本地地址

ipv6 address ipv6-address/prefix-length eui-64

配置IPv6鏈路本地地址

ipv6 address auto link-local

可選

缺省情況下,當接口配置了IPv6全球單播地址或站點本地地址後,會自動生成鏈路本地地址

ipv6 address ipv6-address link-local

配置隧道模式為ISATAP隧道模式

tunnel-protocol ipv6-ipv4 isatap

必選

缺省情況下,為GRE over IPv4隧道模式

在隧道的兩端應配置相同的隧道模式,否則可能造成報文傳輸失敗

設置Tunnel接口的源端地址或接口

source { ip-address | interface-type interface-number }

必選

缺省情況下,Tunnel接口上沒有設置源端地址和接口

退回係統視圖

quit

-

 

注意

·     ISATAP隧道不需要配置目的地址,因為隧道的目的地址可以通過ISATAP地址中嵌入的IPv4地址自動獲得。

·     如果封裝前IPv6報文的目的IPv6地址與Tunnel接口的IPv6地址不在同一個網段,則必須配置通過Tunnel接口到達目的IPv6地址的轉發路由,以便需要進行封裝的報文能正常轉發。對於自動隧道,用戶隻能配置靜態路由,指定到達目的IPv6地址的路由出接口為本端Tunnel接口或下一跳為對端Tunnel接口地址,不支持動態路由。在隧道的兩端都要進行轉發路由的配置,配置的詳細情況請參見“三層技術-IP路由配置指導”中的“IPv6靜態路由”。

·     對於自動隧道,使用同種封裝協議的Tunnel接口不能同時配置完全相同的源地址。

 

1.7.3  配置舉例

說明

缺省情況下,以太網接口、VLAN接口及聚合接口處於Down狀態,如果要對這些接口進行配置,請先使用undo shutdown命令使這些接口處於UP狀態。

 

1. 組網需求

圖1-8所示,IPv6網絡和IPv4網絡通過ISATAP交換機相連,在IPv4網絡側分布著一些IPv6主機。要求將IPv4網絡中的IPv6主機通過ISATAP隧道接入到IPv6網絡。

2. 組網圖

圖1-8 ISATAP隧道組網圖

 

3. 配置步驟

說明

在開始下麵的配置之前,請確保Switch上已經創建相應的VLAN接口,且Switch的Vlan-interface101和ISATAP host之間IPv4報文路由可達。

 

(1)     配置Switch

# 使能IPv6轉發功能。

<Switch> system-view

[Switch] ipv6

# 配置各接口地址。

[Switch] interface vlan-interface 100

[Switch-Vlan-interface100] ipv6 address 3001::1/64

[Switch-Vlan-interface100] quit

[Switch] interface vlan-interface 101

[Switch-Vlan-interface101] ip address 1.1.1.1 255.0.0.0

[Switch-Vlan-interface101] quit

# 配置ISATAP隧道。

[Switch] interface tunnel 0

[Switch-Tunnel0] ipv6 address 2001::5efe:0101:0101 64

[Switch-Tunnel0] source vlan-interface 101

[Switch-Tunnel0] tunnel-protocol ipv6-ipv4 isatap

# 取消對RA消息發布的抑製,使主機可以通過交換機發布的RA消息獲取地址前綴等信息。

[Switch-Tunnel0] undo ipv6 nd ra halt

[Switch-Tunnel0] quit

# 配置到ISATAP主機的靜態路由。

[Switch] ipv6 route-static 2001:: 16 tunnel 0

(2)     配置ISATAP主機

ISATAP主機上的具體配置與主機的操作係統有關,下麵僅以Windows XP操作係統為例進行說明。

# 在主機上安裝IPv6協議。

C:\>ipv6 install

# 在Windows XP上,ISATAP接口通常為接口2,隻要在該接口上配置ISATAP交換機的IPv4地址即可完成主機側的配置。先看看這個ISATAP接口的信息:

C:\>ipv6 if 2

Interface 2: Automatic Tunneling Pseudo-Interface

  Guid {48FCE3FC-EC30-E50E-F1A7-71172AEEE3AE}

  does not use Neighbor Discovery

  does not use Router Discovery

  routing preference 1

  EUI-64 embedded IPv4 address: 0.0.0.0

  router link-layer address: 0.0.0.0

    preferred link-local fe80::5efe:2.1.1.2, life infinite

  link MTU 1280 (true link MTU 65515)

  current hop limit 128

  reachable time 42500ms (base 30000ms)

  retransmission interval 1000ms

  DAD transmits 0

  default site prefix length 48

# 它自動生成了一個ISATAP格式的link-local地址(fe80::5efe:2.1.1.2)。我們需要設置這個接口上的ISATAP交換機的IPv4地址:

C:\>ipv6 rlu 2 1.1.1.1

# 隻需要這麼一個命令,這就完成了主機的配置,我們再來看看這個ISATAP接口的信息:

C:\>ipv6 if 2

Interface 2: Automatic Tunneling Pseudo-Interface

  Guid {48FCE3FC-EC30-E50E-F1A7-71172AEEE3AE}

  does not use Neighbor Discovery

  uses Router Discovery

  routing preference 1

  EUI-64 embedded IPv4 address: 2.1.1.2

  router link-layer address: 1.1.1.1

    preferred global 2001::5efe:2.1.1.2, life 29d23h59m46s/6d23h59m46s (public)

    preferred link-local fe80::5efe:2.1.1.2, life infinite

  link MTU 1500 (true link MTU 65515)

  current hop limit 255

  reachable time 42500ms (base 30000ms)

  retransmission interval 1000ms

  DAD transmits 0

  default site prefix length 48

# 對比前後的區別,我們可以看到主機獲取了2001::/64的前綴,自動生成地址2001::5efe:2.1.1.2,同時還會發現這麼一行“uses Router Discovery”表明主機啟用了路由器發現,這時ping一下交換機上隧道接口的IPv6地址,可以ping通,這時候表明ISATAP隧道已經成功建立。

C:\>ping 2001::5efe:1.1.1.1

 

Pinging 2001::5efe:1.1.1.1 with 32 bytes of data:

 

Reply from 2001::5efe:1.1.1.1: time=1ms

Reply from 2001::5efe:1.1.1.1: time=1ms

Reply from 2001::5efe:1.1.1.1: time=1ms

Reply from 2001::5efe:1.1.1.1: time=1ms

 

Ping statistics for 2001::5efe:1.1.1.1:

    Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),

Approximate round trip times in milli-seconds:

    Minimum = 1ms, Maximum = 1ms, Average = 1ms

4. 驗證配置結果

完成以上配置之後,ISATAP主機就可訪問IPv6網絡中的主機。

1.8  隧道顯示和維護

在完成上述配置後,在任意視圖下執行display命令可以顯示IPv6隧道配置後的運行情況,通過查看顯示信息驗證配置的效果。

在用戶視圖下執行reset命令可以清除Tunnel接口的統計信息。

表1-8 隧道顯示和維護

操作

命令

顯示Tunnel接口的相關信息

display interface [ tunnel ] [ brief [ down ] ] [ | { begin | exclude | include } regular-expression ]

display interface [ tunnel [ number ] ] [ brief [ description ] ] [ | { begin | exclude | include } regular-expression ]

顯示Tunnel接口的IPv6相關信息

display ipv6 interface tunnel [ number ] [ brief ] [ | { begin | exclude | include } regular-expression ]

清除Tunnel接口的統計信息

reset counters interface [ tunnel [number ] ]

 

1.9  常見錯誤配置舉例

故障現象:在Tunnel接口上配置了相關的參數後(例如隧道的起點、終點地址和隧道模式)仍未處於up狀態。

故障排除:可以按照如下步驟進行。

(1)     Tunnel接口未處於up狀態的最常見原因是隧道起點的物理接口沒有處於up狀態。使用display interface tunneldisplay ipv6 interface tunnel命令查看隧道起點的物理接口狀態為up還是down。如果物理接口狀態是down,請檢查網絡連接。

(2)     Tunnel接口未處於up狀態的另一個可能的原因是隧道的終點地址不可達。使用display ipv6 routing-tabledisplay ip routing-table命令查看是否終點地址通過路由可達。如果路由表中沒有保證隧道通訊的路由項,請配置相關路由。

不同款型規格的資料略有差異, 詳細信息請向具體銷售和400谘詢。H3C保留在沒有任何通知或提示的情況下對資料內容進行修改的權利!

BOB登陆
官網
聯係我們