IPV6技術筆記
IPv6地址入門概念
什么是IPv6?
IPv6,全稱Internet Protocol version 6,即網際協議版本6,也叫互聯網通信協議第六版。是互聯網工程任務組(IETF)設計的用於替代IPv4的下一代IP協議,其地址數量號稱可以為全世界的每一粒沙子編上一個地址。由於IPv4最大的問題在於網絡地址資源有限,嚴重制約了互聯網的應用和發展。IPv6的使用,不僅能解決網絡地址資源數量的問題,而且也解決了多種接入設備連入互聯網的障礙。
IPv4地址困境解決方案:
- nat(靜態一對一,動態地址池多對多,pat),但是nat非常消耗資源建議使用在防火牆上面
- 子網划分
- 動態dhcp地址分配
- cidr(無類地址地址划分)無類域間路由
- enfroced better address managerment(加強地址管理)
IPv6地址的優點
- ipv6 支持更大的地址空間, 2^128次方數量
- 多宿主(Multihoming),一個ip可以配置在多個接口上面
- 自動配置,無狀態的,網絡設備(路由器)自動配置IP地址
- 即插即用
- end to end without nat(不需要nat技術) 實現了端到端傳輸
- ipv6中取消了廣播地址而代之的以任意播地址
- 路由更加的快捷,轉發更加快速
- 沒有廣播也沒有arp,也沒有了2層的網絡病毒和網絡風暴
- 沒有校驗和,因為2層幀和上層TCP/IP 已經有校驗了
- 擴展頭部
- ipv6強制使用ipsec安全技術
- ipv6支持雙棧技術兼容(ipv4和ipv6),支持ipv6和ipv4之間數據轉換
IPv6地址的格式
IPv6地址的長度為128位,相比IPv4地址長度32位變的更長,因此IPv6地址采用每4位組合起來轉換成16進制的方式,每4個16進制數再以冒號分隔成8段,例如:2001:0000:0001:00a2:0000:0000:0000:0ec3。每一節中起始的0可以省略,全是0的使用一個0表示。
省略前:2001:0000:0001:00a0:0000:0000:0000:0ec3
省略后:2001:0:1:a2:0:0:0:ec3
然后,用雙冒號替代一組聯續出現的0,只能取代一組,所以選最長的一組。
取代前:2001:0:1:a2:0:0:0:ec3
取代后:2001:0:1:a2::ec3
最終,2001:0000:0001:00a2:0000:0000:0000:0ec3 = 2001:0:1:a2::ec3
ipv6 地址的表示方法分為三種,分別是:
- 首選格式
- 首選格式的表示方法就是講ipv6中的128位
- 壓縮表示
- 一個完整的ipv6地址中,經常性的出現許多個0,將不影響地址結構的0給省略不寫表示方法,稱為壓縮格式。
- 第一種情況:
- 一個完整的ipv6地址如果連續多個段都為0,那么將多個段都使用雙冒號來表示,在壓縮IPv6的地址時,一個地址只能出現一個::。
- 第二種情況:
- 表示ipv6地址時,允許將一個段中前導部分的0省略不寫,因為不影響結構。
- 第三種情況:
結合前兩種方法,即將整段的4個字符全為0的部分寫成::,也將無意義的0省略不寫,結構就可以出現最方便的表示方法。
- 第一種情況:
- 一個完整的ipv6地址中,經常性的出現許多個0,將不影響地址結構的0給省略不寫表示方法,稱為壓縮格式。
- ipv4是內嵌在ipv6中
在網絡還沒有全部從ipv4過渡到ipv6時,就可能出現某些設備即連接了ipv4網絡,又連接了ipv6網絡,對於這樣的情況,就需要一個地址既可以表示ipv4地址,又可以表示ipv6地址。在表示是,定義了兩類攜帶ipv4地址的ipv6地址,他們是“ipv4兼容的ipv6地址”和“ipv4映射的ipv6地址”。- ipv4兼容的ipv6地址
在“ipv4兼容的ipv6地址”中使用的ipv4地址必須是全球為一個ipv4單播地址。 - ipv4映射 的ipv6地址
定義了第二類含內嵌的ipv4地址的ipv6地址。這個地址類型用於將ipv6的節點表示ipv6地址。
- ipv4兼容的ipv6地址
ipv6協議基本包頭
參考:https://ccie.lol/knowledge-base/ipv4-and-ipv6-packet-header/
ipv6擴展頭
- IPv6基礎頭
- 逐跳選項頭
- 目的地選項頭(應用於ipv6目的地址字段的第一個目的地和選路頭中所列的附加目的地中)
- 選路頭
- 分段頭
- 身份驗證頭
- ESP頭
- 目的地選項頭
- 上層頭
使用IPv6擴展頭,必須按照上面的順序來進行排序,從以上順序可知,再同一個IP包中只有目的地選項擴展頭可以出現多次,並且僅限於保重包含選路擴展頭的情況。
ipv6定義了六大選項擴展:
- 逐跳選項頭
- 選路頭
- 分段頭
- 目的地選項頭
- 身份驗證頭
- 封裝安全性
IPv6地址分配情況
ipv6前綴 | 地址分配情況 | 所占地址比例 | 備注 |
---|---|---|---|
::0/8 | Reserved by IETF | 1/256 | [1] |
0200::/7 | Reserved by IETF | 1/128 | [2] |
2000::.3 | Global unicast | 1/8 | |
FE80::/10 | Link-local unicast | 1/1024 | [3] |
FEC0::/10 | Ressrved by IETF(formely Site-local unicast) | ||
FC00::/7 | Unique local ipv6 address | 1/128 | |
FF00::/8 | Multicast | 1/256 | |
Others | Reserved by IETF |
IPv6三種地址類型
IPv6主要有三種類型的地址:單播地址、組播地址和任播地址。
單播地址:用來唯一標識一個接口,類似於IPv4的單播地址。發送到單播地址的數據報文將被傳送給此地址所標識的接口。
在單播尋址模式下,IPv6接口(host)在網段中唯一標識。 IPv6數據包包含源IP地址和目標IP地址。 主機接口配備有在該網絡段中唯一的IP地址。當網絡交換機或路由器接收到注定到單個主機的單播IP分組時,它發出其連接到該特定主機的輸出接口之一 。
多播(組播)地址:用來標識一組接口(通常這組接口屬於不同的節點),類似於IPv4的組播地址。發送到組播地址的數據報文被傳送給此地址所標識的所有接口。
IPv6組播模式與IPv4相同。 目的地為多個主機的數據包在特殊的多播地址上發送。 所有對該組播信息感興趣的主機需要首先加入該組播組。 加入組的所有接口接收組播數據包並對其進行處理,而對組播數據不感興趣的其他主機則忽略組播信息。
任播地址:用來標識一組接口(通常這組接口屬於不同的節點)。發送到任播地址的數據報文被傳送給此地址所標識的一組接口中距離源節點最近(根據使用的路由協議進行度量)的一個接口。
IPv6引入了一種新型的尋址,稱為Anycast尋址。 在此尋址模式下,多個接口(host)被分配相同的任播IP地址。 當主機希望與配備有任播IP地址的主機通信時,它發送單播消息。 在復雜的路由機制的幫助下,在路由成本方面,該單播消息被遞送到最接近發送方的主機。
IPv6不使用廣播地址,廣播地址的功能由多播地址代替。
IPv6的Prefix:
在IPv6網絡,路由器使用Prefix來判斷IPv6地址是否位於同一個網絡,比較普遍的方式是將128位的IPv6
地址切割成64位的Prefix和64位的Interface ID,IPv6 Prefix長度的表示方法是在地址后面加上/xx,
例如上圖中的::1/128,表示Prefix為128位。假設所有IPv6地址都使用64位Prefix,就可以擁有2^64個
網絡,每個網絡可以容納2^64個IP地址,2的64次方:18446744073709551616,這是個天文數字。所以在
IPv6網絡里,已經不需要再把網絡分成Subnet。
EUI-64地址:
基於IEEE EUI-64格式。該格式基於已存在的MAC地址來作為64位接口標識符,這樣的標識符在本地和全球都是唯一的。IPv6單播地址中的接口標識符用來標識鏈路上的一個唯一的接口。目前IPv6單播地址基本上都要求接口標
識符為64位。IEEE EUI-64格式的接口標識符是從接口的鏈路層地址(MAC地址)變化而來的。IPv6地址中
的接口標識符是64位,而MAC地址是48位,因此需要在MAC地址的中間位置(從高位開始的第24位后)插入
十六進制數FFFE(1111111111111110)。為了確保這個從MAC地址得到的接口標識符是唯一的,還要將Uni
versal/Local (U/L)位(從高位開始的第7位)設置為“1”。最后得到的這組數就作為EUI-64格式的接口標
識符。IPv6地址太長,如果要逐個端口配置IPv6地址是件很痛苦的事情,使用EUI-64就可以只設定Prefix
部份,然后接口就會用MAC地址自動生成Interface ID,大大減少工作量。
舉例,MAC地址:0012-3400-ABCD
中間插入FFFE使其成為EUI-64 Interface ID: 0012:34FF:FE00:ABCD
最后把第7位改成1:0212:34FF:FE00:ABCD
IPv6 Unicast Addressing(單播)
IPv6大致由前綴,子網ID,接口ID組成
前綴:相當於v4地址中的網絡ID
接口ID:相當於v4地址中的主機ID
IPv6有三種不同類型的單播地址方案:
單播中有全局單播地址(公網地址)、鏈路本地地址(同一鏈路上通信)、環回地址、未指定地址、唯一本地地址(私有地址)、內嵌Ipv4的地址。
Global Aggregatable Address (2000::/4—3fff::/4),一個接口可配置多個Global地址。(一個端口可以配置多個全球可聚合單播地址,但是一個端口只能配置一個FE80::/10 FE80鏈路本地地址),可以理解為IPv4公網地址
。提供給網絡服務提供商。這種地址類型允許路由前綴的聚合,從而限制了全球路由表項的數量。
- 2001::/4,ipv6的第一個商業網
- 2002::/4,6to4 tunnel
- 2003::/16 用於實驗用的地址
一般從運營商處申請到的IPv6地址空間為/48,三個最高有效位始終設置為001,再由自己根據需要進一步規划:
link-local (FE80::/10) 也稱為鏈路本地地址,本鏈路唯一的,用在ipv6的路由協議里面,作為通信地址,每個網卡只能配置一個。可以理解為標識符或者定位符
。鏈路本地地址的前10位為1111111010。此地址用於鄰居發現協議,也用於無狀態自動配置中本地鏈路上節點之間的通信。使用鏈路本地地址作為源或目的地址的數據報文不會被轉發到其他鏈路上。通常使用FE80::/10表示。
Stateless Address Autoconfiguration(SLAAC),無狀態地址自動配置。在IPv4網絡中,我們可以通
過DHCP讓端口自動獲取到IP地址,而在IPv6網絡里,則通過Auto-configuration來獲取IP地址。前面我們
說過EUI-64可以自動產生Interface ID,所以現在要解決的就是如何自動獲得Prefix。IPv6使用的是Stat
eless Address Autoconfiguration,Interface向Link-Local發出RS(Router Solicitation)多播
請求來獲取配置參數,IPv6 Router回應RA(Router Advertisement)包含Internet層配置參數的路由器
宣告報文進行回應。
site local (FEC0::/10) 用於站點的,存在一定的爭議,現在已經被收回了。
特殊地址
地址0:0:0:0:0:0:0:0/128不指定任何內容,稱為未指定地址。 簡化后,所有的0被壓縮為:: / 128。
在IPv4中,地址0.0.0.0與網絡掩碼0.0.0.0表示默認路由。 相同的概念也適用於IPv6,地址0:0:0:0:0:0:0:0,網絡掩碼全0表示默認路由。 應用IPv6規則后,此地址壓縮為:: / 0。
IPv4中的環回地址由127.0.0.1到127.255.255.255系列表示。 但在IPv6中,只有0:0:0:0:0:0:0:1/128表示環回地址。 環回地址后,可以表示為:: 1/128。
任意播地址(Anycast Address)
任播地址設計用來在多個主機或者節點提供相同的服務時提供冗余和負載分擔功能。任播地址九游這樣的性質:發送到任播地址的分組,被按照路由協議的側臉距離,路由到該任播地址的“最近的”接口。任意播又稱為泛播。
泛播對於提供某些類型的服務特別有用,尤其是對於客戶機和服務器之間不需要有特定關系的一些服務,錄入域名服務器和時間服務器,DNS等。MSDP的AnycastRP就是這樣的一種典型應用。
任播地址時根據單播地址空間分配的,因此任播地址在句法上不能與單播地址相互。當單播地址分配給與多於一個接口時,該單播地址轉化為任播地址。分得該地址的節點必須被顯示配置,以便知道該地址是任播地址。這個地址是由路由協議定義的,不能手工配置,任意播地址只能出現在路由器上,並且不能作為數據包的原地址來使用。
任播地址是根據單播地址空間分配的,使用任何已定義的單播地址格式。
節點和路由器必須具備的IPV6地址
組播地址
IPv6 多播(組播)地址是一組接口的標識符(典型在不同節點上)。一個接口可以屬於任何數目的多播組。
組播地址最高位前8位固定為全1,也就是“FFXX::/8”
永久分配的多播地址的“含義”獨立於范圍值。
例如,如果給“NTP服務器組”分配一個組ID 為101(16進制)的永久多播地址,那么
FF01:0:0:0:0:0:0:101意味着在相同接口(即,相同節點)上的所有NTP服務器(作為發送者)。
FF02:0:0:0:0:0:0:101意味着在相同鏈路上的所有NTP服務器(作為發送者)。
FF05:0:0:0:0:0:0:101意味着在相同站點內的所有NTP服務器(作為發送者)。
FF0E:0:0:0:0:0:0:101意味着在互聯網中的所有NTP服務器。
常見的組播地址
所有節點地址:
FF01:0:0:0:0:0:0:1 FF01::1
FF02:0:0:0:0:0:0:1 FF02::1
上述多播地址標識范圍1(接口本地)或范圍2(鏈路本地)內的所有IPv6節點組。
所有路由器地址:
FF01:0:0:0:0:0:0:2 FF01::2
FF02:0:0:0:0:0:0:2 FF02::2
FF05:0:0:0:0:0:0:2 FF05::2
上述多播地址標識范圍1(接口本地)、范圍2(鏈路本地)或范圍5(站點本地)內的所有IPv6路由器組。
IPv6組播地址的MAC地址映射
被請求節點組播地址Solicited-node
在IPv6組播地址中,有一種特別的組播地址,叫做Solicited-node地址(被請求節點組播地址)。
Solicited-node地址是一種特殊用途的地址.主要用於重復地址檢測(DAD)和替代IPv4中的ARP。
Solicited-node地址由前綴FF02::1:FF00:0 / 104和ipv6單播地址的最后24位組成。
一個IPv6單播地址對應一個Solicited-node地址。Solicited-node地址有效范圍為本地鏈路范圍。
地址格式: FF02:0:0:0:0:1:FFXX:XXXX,具體的對應關系如下:
IPv6 Tunneling
將互聯網完全從IPv4轉換到IPv6將會是一個及其漫長的過程,目前IPv4仍然占據重要地位。所以在這個轉
換的過程中,將會有相當長的一個時期IPv4與IPv6會共同存在於互聯網當中。如果兩張網完全各自獨立是
不現實的,所以就需要一種技術實現IPv4可以與IPv6網絡互通。IPv6 Tunneling可以讓IPv6報文包裹在
IPv4之中進行傳輸,IPv6 Tunneling有兩種技術,分別是ISATAP
和6to4 Tunnel
。
ISATAP
ISATAP(Intra-Site Automatic Tunnel Addressing Protocol)是一種IPv6轉換傳送機制,允許IPv6
數據包通過IPv4網絡上雙棧節點傳輸。它將IPv4地址夾入IPv6地址中,當兩台 ISATAP 主機通訊時,可自
動抽取出IPv4地址建立Tunnel即可通訊,且並不需透過其它特殊網絡設備,只要彼此間IPv4網絡通暢即可。
ISATAP分為Server與Client兩個角色,Client向Server請求IPv6地址並建立IPv6 Tunnel。這樣Client
便可以透過ISATAP Server與IPv6網絡通訊。
我們以下面的場景來演示一下ISATAP如何工作。
● R1和R2位於IPv4網絡中,R1(ISATAP Client)的default Route指向R2,無法與IPv6網絡進行通信。
● R2與R3跑EIGRP,讓R1可以與R3(ISATAP Server)通過IPv4進行通信。
● R3是ISATAP Server,充當中介的角色,連接IPv4和IPv6網絡。
● R3與R4跑OSPFv3。
● R4和R5位於IPv6網絡中,只有IPv6地址,沒有IPv4地址。
示例參考1:https://www.kclouder.cn/network-basic-ivp6/
6to4 Tunnel
ISATAP比較適合單機連接到IPv6網絡,並且現在大部分OS都支持ISATAP,比如Windows、Linux系統。如果
希望把兩個IPv6網絡通過IPv4連接起來,即點對點連接,則使用6to4比較合適。我們以下圖為例,這是一個
全路由網絡的示例 ,來演示一下如何配置6to4 Tunnel將兩個獨立的IPv6網絡通過IPv4網絡打通。
● R2和R3位於IPv4網絡中,配置6to4 tunnel。
● R1和R5位於IPv6網絡A中,通過R1連接到R2。
● R4和R6位於IPv6網絡B中,通過R4連接到R3。
示例參考2:https://www.kclouder.cn/network-basic-ivp6/
ICMPv6協議
ICMPv6由ipv6節點使用,用於報告在分組處理過程中出現的錯誤,以及執行其他網絡互連層功能。icmpv6是ipv6的整體部分,是基礎協議,在ipv6的next header取值為58.
消息通用格式:
類型: 指出消息類型。他的值決定其余數據格式。消息類型分為兩類:出錯消息和指示消息。
出錯消息由在它們的消息type字段的二進制值的高階位取0標識。於是,出錯消息的消息類型從0到127;指示消息的消息類型值從128到255.
代碼: 依賴於消息類型。它用於生產消息粒度的附加層。
校驗和:用戶檢測ICMPv6消息和ipv6首部部分中的數據錯誤。
ipv6數據報文
上圖顯示了icmpv6報文中的通用消息格式、差錯報文、通告報文
。
示例:
ping包時可以查看到回顯請求和應答請求。
Type:Echo(ping) reply (129)
Type: Echo(ping) request (128)
==========
ICMPv6與ICMPv4報文類型的比較
了解更多報文類型可以有助於理解原理。
NDP(neighbor discovery protocal) 功能
- DAD重復復制檢測
- 代替ARP
- 無狀態自動配置
- MTU發送
- ICMPv6重定向
- 發現臨近的,幫助轉發分組的路由器
- 跟蹤鄰居可達性,偵聽鄰居鏈路層地址。
ipv6地址組播
DHCPv6協議
DHCPv6使用組播,所有的DHCP服務器和中繼代理監聽多播地址(鏈路范圍的FF02::1:2),用於客戶端和相鄰的服務器及中繼代理的通信之用,站點內的所有DHCP服務器偵聽多播地址(站點范圍的FF05::1:3),用於中繼代理和服務器之間的通信。
DHCPv6使用UDP,DHCPv6客戶端監聽UDP端口546,而DHCPv6服務器和中繼代理監聽UDP端口547.
IPv6地址獲取原理
IPv6地址分配原理有2種,一種是快速分配DHCP地址,另一種是請求多個IPv6地址。
- 2個數據包交互情況
當客戶端並不需要服務器為其分配IP地址,而是需要獲取諸如DNS Server、NTP Server這樣的其他配置信息的時候,他只需要與服務器進行一個簡單的只包含兩個消息的交換即可。客戶端發送一個DHCP配置SOLICIT消息到一個特定多播地址,請求地址和其他配置信息,該信息提示服務器:客戶端可以接受一個立即的回應消息。而服務器以一個攜帶了被請求的配置信息的DHCP回應消息應答。所有配置給客戶端使用的地址都包括一個有效生存期和首選生存期,為了在生存期到期后繼續使用這些地址,客戶端向服務器發送DHCP更新消息,服務器通過DHCP回應消息通告新的生存期。
- 4個數據包交互情況
要請求一個或者多個IPv6地址,客戶端首先需要確定服務器的位置,然后再進行地址和配置新的請求。客戶端首先發送一個DHCP Solicit消息到一個特定多播地址,來查找可用的DHCP服務器。所有符合客戶單要求的服務器以DHCP Request消息來獲取地址和其他配置。
OSPFv3路由協議
OSPFv3證書標准是RFC2740.
OSPFv3使用的協議號與OSPFv2一樣,都是89.
OSPFv3協議報文的源IPv6除了虛連接外,依賴使用本地鏈路地址;目的IPv5地址則是選擇ALLSPFRouters、ALLDRouters以及鄰接路由器的本地鏈路地址(虛鏈路除外),ALLSPFRouters為組播IPv6地址FF02::5,ALLDRouters為組播IPv6地址FF02::6.
OSPFv3單area和DHCPv6配置示例
參考:https://www.kclouder.cn/huawei-ipv6/
實驗拓撲:
這里我們將主機演示一下在華為交換機或路由器上配置IPv6地址進行通信、配置DHCPv6、通過配置OSPFv3演示IPv6路由基礎、配置IPv6 over IPv4隧道以及配置IPv4 over IPv6隧道的方法。通過本篇文章,我們將掌握基本IPv6地址的配置方法、掌握OSPFv3路由協議的配置方法、掌握DHCPv6服務器功能的配置方法以及一些常見的IPv6命令的使用方法。
配置IPv6
1、我們以下圖中的拓撲為例,R1、R2、R3通過一台交換機互聯,我們需要在這三台路由器上配置IPv6地址,然后再啟用OSPFv3以及DHCPv6。
2、首先在三台服務器的環回接口上配置IPv6全球單播地址,在所有路由器的g0/0/0接口上配置鏈路本地地址(Link-local)。以下命令以R1為例,以相同的方式配置R2和R3。
# R1
ipv6
int loopback 0
ipv6 enable
ipv6 address 2001:1::a 64
int g0/0/0
ipv6 enable
ipv6 address fe80::1 link-local
# R2
ipv6
int loopback 0
ipv6 enable
ipv6 address 2001:1::b 64
int g0/0/0
ipv6 enable
ipv6 address fe80::2 link-local
# R3
ipv6
int loopback 0
ipv6 enable
ipv6 address 2001:1::c 64
int g0/0/0
ipv6 enable
ipv6 address fe80::3 link-local
3、配置完成后,查看並確認接口地址配置正確,並且是UP狀態。
display ipv6 int g0/0/0
display ipv6 int loo0
4、配置OSPFv3,在路由器上開啟OSPFv3進程,並指定三台路由器的router-id。然后在接口下使能OSPFv3進程並指定所屬區域。以下命令以R1為例,以相同的方式配置R2和R3。
# R1
ospfv3 1
router-id 1.1.1.1
int g0/0/0
ospfv3 1 area 0
int loo0
ospfv3 1 area 0
# R1
ospfv3 1
router-id 2.2.2.2
int g0/0/0
ospfv3 1 area 0
int loo0
ospfv3 1 area 0
# R1
ospfv3 1
router-id 3.3.3.3
int g0/0/0
ospfv3 1 area 0
int loo0
ospfv3 1 area 0
5、配置完成后,在路由器上查看OSPFv3的鄰居關系。可以看到OSPF鄰接關系已經形成,R1為DR,R2為BDR,R3為DROther。
display ospfv3 peer
6、使用Ping ipv6命令檢測鏈路本地地址和Loopback0接口的全球單地址是否可達。比如在R1上執行以下命令,如下圖可以看到網絡是可達的。
ping ipv6 fe80::2 -i g0/0/0
ping ipv6 2001:3::c
7、通過抓包可以看到ICMPv6類型的報文。
8、下面我們來配置DHCPv6,在R2上開啟DHCPv6服務器功能,然后創建IPv6地址池並指定地址池中IPv6地址的前綴長度,再配置IPv6地址池中不參與自動分配的IPv6地址(通常為需要保留的網關地址)以及DNS服務器的IPv6地址。
dhcp enable
dhcpv6 duid ll
dhcpv6 pool pool1
address prefix 2001:face::/64
dns-server 2001:444e:5300::1
excluded-address 2001:face::1
9、在g0/0/0接口配置IPv6地址為地址池中的網關地址,並配置DHCPv6服務器功能以及指定的地址池的名稱。
int g0/0/0
ipv6 address 2001:face::1 64
dhcpv6 server pool1
10、在R1和R3上配置DHCPv6客戶端功能,並在相應的接口下配置通過DHCPv6自動獲取IPv6地址功能。同時,我們再配置一台PC自動獲取IPv6地址。
dhcp enable
dhcpv6 duid ll
int g0/0/0
ipv6 address auto dhcp
11、在R2上查看DHCPv6地址池的信息,可以看到有三個地址通過DHCPv6分配了出去。
12、在R1和R3上查看通過DHCPv6獲取到的IPv6地址。
13、在PC上查看通過DHCPv6自動獲取到的IPv6地址,注意自動配置的網關為R2的G0/0/0的鏈路本地地址。
14、測試一下DHCPv6地址的連通性。PC ping R2, R1 ping PC,R3 ping R1。
15、在R2上查看IPv6的路由表,可以看到loopback0的地址通過OSPFv3進行路由。
鏈路聚合LACP配置示例
1、以下圖拓撲為例,兩台交換機通過LACP鏈路相連,同時在兩台交換機配置有兩個VLAN(VLAN 100和VLAN200)並對應有各自的主機相連接,兩台交換機再與R1相連用來訪問外網。
2、首先在兩台交換機上啟用IPv6,然后創建VLAN100和VLAN200,然后配置LACP。
# 兩台交換機同樣的配置方法
ipv6
vlan batch 100 200
int eth-trunk 1
mode lacp-static
port link-type trunk
port trunk-allow-pass vlan 200 300
int g0/0/1
eth-trunk 1
priority 100
int g0/0/2
eth-trunk 1
priority 100
lacp priority 100
3、上述基本配置完成以后,創建VLANIF 100和VLANIF 200,並配置IPv6地址。以SW1為例。
# LSW1 配置
int vlanif 100
ipv6 enable
ipv6 address fc00:1::1/64
int vlanif 200
ipv6 enable
ipv6 address fc00:2::1/64
# LSW2 配置
int vlanif 100
ipv6 enable
ipv6 address fc00:1::2/64
int vlanif 200
ipv6 enable
ipv6 address fc00:2::2/64
4、配置連接主機的接口,以SW1為例(SW2使用同樣的配置)。
int g0/0/3
port link-type access
port default vlan 100
int g0/0/4
port link-type access
port default vlan 100
5、配置連接路由器的接口,以SW1為例。
# SW1
interface g0/0/5
port link-type hybird
port hybrid pvid vlan 100
port hybrid untagged vlan 100
# SW2
interface g0/0/5
port link-type hybird
port hybrid pvid vlan 100
port hybrid untagged vlan 100
6、兩台交換機配置完成以后,為4台PC配置好對應的IPv6地址。
7、配置路由器,啟用IPv6並給兩個接口配置好IPv6地址。
8、配置完成,在PC1上分別ping PC2和路由器的接口地址。
9、在PC3上分別ping PC4和路由器的接口地址。
IPv4toIPv6隧道配置示例
配置IPv6 over IPv4
1、如下圖拓撲,R2與R3屬於邊界路由器,需要啟動IPv4/IPv6雙協議棧,並配置IPv6 over IPv4隧道。邊界路由器收到從IPv6網絡側發出來的報文后,如果報文目的地地址不是自身且下一跳接口為Tunnel接口,就把收到的IPv6報文的數據部分加上IPv4報頭,封裝成IPv4報文轉發到對端的邊界路由器上,對端路由器執行報文解封裝,去掉IPv4報頭,然后將解封后的IPv6報文發送到IPv6網絡中。
2、首先配置路由器使能IPv6,並配置IPv6地址。
R1:
ipv6
int g0/0/0
ipv6 enable
ipv6 address 2001::1/64
R2:
ipv6
int g0/0/0
ipv6 enable
ipv6 address 2001::2/64
int g0/0/1
ip address 119.1.1.2 24
R3:
ipv6
int g0/0/0
ipv6 enable
ipv6 address 2002::3/64
int g0/0/1
ip address 119.1.1.3 24
R4:
ipv6
int g0/0/0
ipv6 enable
ipv6 address 2002::4/64
3、在R2和R3上配置IPv6 over IPv4隧道。
R2:
int tunnel 0/0/1
ipv6 enable
ipv6 address 2020::2 /64
tunnel-protocol ipv6-ipv4
source 119.1.1.2
destination 119.1.1.3
R3:
int tunnel 0/0/1
ipv6 enable
ipv6 address 2020::3 /64
tunnel-protocol ipv6-ipv4
source 119.1.1.3
destination 119.1.1.2
4、隧道建立完成,為R1和R4上配置IPv6默認路由。
R1:
ipv6 route-static :: 0 2001::2
R4:
ipv6 route-static :: 0 2002::3
5、為R2和R3配置靜態路由,下一跳需要指向隧道對端IPv6地址。
R2:
ipv6 route-static 2002:: 64 2020::3
R3:
ipv6 route-static 2001:: 64 2020::2
6、在R1上PR4的IPv6地址,可以Ping通說明IPv6 over IPv4隧道建立成功。