作為向下一代互聯(lián)網(wǎng)絡(luò)協(xié)議過渡的重要步驟,國(guó)際的IPv6試驗(yàn)網(wǎng)--6bone在1996年成立了。現(xiàn)在,6bone已經(jīng)擴(kuò)展到全球50多個(gè)國(guó)家和地區(qū),成為IPv6研究者、開發(fā)者和實(shí)踐者的主要平臺(tái)。CERNET國(guó)家網(wǎng)絡(luò)中心于1998年6月加入6bone,同年11月成為其骨干網(wǎng)成員。電子科大作為教育網(wǎng)的西南主節(jié)點(diǎn),在得到Nokia的IPv6路由器之后,積極參與IPv6技術(shù)研究,我們先查閱研究了大多數(shù)與IPv6有關(guān)的RFC文檔和相關(guān)技術(shù)資料,并且在此基礎(chǔ)上進(jìn)行了很多網(wǎng)絡(luò)實(shí)驗(yàn)。該文先簡(jiǎn)單闡述了IPV6的必要性和IPV4到IPV6升級(jí)轉(zhuǎn)換的機(jī)制,然后詳細(xì)闡明了在Linux操作系統(tǒng)下進(jìn)行的IPv6網(wǎng)絡(luò)實(shí)驗(yàn)及其結(jié)論,并附有相關(guān)參考文獻(xiàn)書目。
一、使用IPv6的必要性 現(xiàn)在運(yùn)行的因特網(wǎng)協(xié)議IPv4存在其固有的局限性,一是地址問題,IPv4的地址只有32位,這意味著總的地址數(shù)大約是40億,并且還有許多地址是不可用的。按照目前網(wǎng)絡(luò)的發(fā)展趨勢(shì),到2005和2015年之間IPv4的地址就會(huì)耗盡,必須用另一種地址方案來替代它,二是IPv4提供的服務(wù)局限性,IPv4盡它的最大努力來傳送信息包,但是它不會(huì)保證提供給上層的服務(wù)是可靠的,沒有QoS(服務(wù)質(zhì)量)的概念。這些問題都是IPv4的薄弱環(huán)節(jié),致命弱點(diǎn),另外因特網(wǎng)不斷提出對(duì)移動(dòng)性、安全性以及多媒體業(yè)務(wù)的支持等問題,IPv4都無法解決,這樣就迫使我們必須引入下一帶因特網(wǎng)協(xié)議--IPv6。
二、IPv4和IPv6的互操作 要將現(xiàn)在的IPV4網(wǎng)絡(luò)升級(jí)到IPV6網(wǎng)絡(luò),不可能所有的機(jī)器在同時(shí)啟用IPV6協(xié)議棧,配置好IPV6地址,安裝好IPV6應(yīng)用程序,所以必須實(shí)現(xiàn)IPV4網(wǎng)絡(luò)與IPV6網(wǎng)絡(luò)之間的互操作及平滑升級(jí)機(jī)制。IPv4到IPv6的升級(jí)轉(zhuǎn)換機(jī)制的首要條件是允許IPv6和IPv4主機(jī)互操作;其次是在相互依賴性很小的情況下使IPv6的主機(jī)和路由器能在因特網(wǎng)中快速發(fā)展;第三是轉(zhuǎn)換對(duì)端用戶,系統(tǒng)管理員和網(wǎng)絡(luò)實(shí)施者來說易于理解和執(zhí)行。IPv6轉(zhuǎn)換機(jī)制是一套主機(jī)和路由器執(zhí)行的協(xié)議機(jī)制,有一套定址和配置的操作指導(dǎo)方案,盡可能減少轉(zhuǎn)換過程中造成的破壞。IPv6轉(zhuǎn)換機(jī)制的主要目標(biāo)如下:
· 可增加的升級(jí)和擴(kuò)展性:單個(gè)IPv4的主機(jī)和路由器可在不需要其它的主機(jī)和路由器同時(shí)升級(jí)的情況下單獨(dú)升級(jí)成IPv6,新的IPv6主機(jī)和路由器可以后再一臺(tái)臺(tái)的安裝成IPv6。
·最小的升級(jí)依賴性。將主機(jī)升級(jí)成IPv6的唯一先決條件是域名服務(wù)器必須先升級(jí)以處理IPv6地址記錄。
·方便的尋址。當(dāng)IPv4的主機(jī)和路由器升級(jí)到IPv6后,他們必須繼續(xù)用原來的地址。他們不需要指定新的地址。管理者不需制定新的地址分配方案。
·很低的啟動(dòng)開銷。將IPv4系統(tǒng)升級(jí)成IPv6很少或幾乎不需要準(zhǔn)備工作。
IPv6轉(zhuǎn)換機(jī)制確保IPv6主機(jī)能和任何因特網(wǎng)上的IPv4通信,直到IPv4被淘汰,并在那時(shí)允許在小范圍內(nèi)互相通信。這個(gè)特征保護(hù)了用戶已經(jīng)在IPv4上的巨大投入并使得IPv6不會(huì)將IPv4孤立。
基于以上原因,IPv4主機(jī)和路由器上與Ipv6主機(jī)和路由器現(xiàn)在廣泛采用了如下兩種互操作的機(jī)制:隧道技術(shù)和雙IP協(xié)議棧技術(shù)。
A.隧道技術(shù): 隧道提供了一種利用IPv4路由基礎(chǔ)上傳輸IPv6包的方法。隧道應(yīng)用于下面幾種應(yīng)用中:路由器到路由器、主機(jī)到路由器、主機(jī)到主機(jī)和路由器到主機(jī)。
路由器到路由器和主機(jī)到路由器隧道技術(shù)都是將IPv6包傳到路由器,隧道的終點(diǎn)是中間路由器,必須將IPv6包解出,并且轉(zhuǎn)發(fā)到它的目的地。隧道終點(diǎn)的地址必須由配置隧道節(jié)點(diǎn)的配置信息獲得,這種類型的隧道稱作人工配置隧道。
當(dāng)利用隧道到達(dá)IPv6的主干網(wǎng)時(shí),如果一個(gè)在IPv4網(wǎng)絡(luò)和IPv6網(wǎng)絡(luò)邊界的IPv4/IPv6路由器的IPv4地址已知時(shí),那么隧道的端點(diǎn)可以配置為這個(gè)路由器。這個(gè)隧道的配置可以被寫進(jìn)路由表中作為"缺省路由"。這就是說所有IPv6目的地址符合此路由的都可以使用這條隧道,這種隧道就是默認(rèn)配置的隧道。
主機(jī)到主機(jī)和路由器到主機(jī)隧道技術(shù)都是將IPv6包傳到主機(jī)的,可以用IPv6包的信息獲得終點(diǎn)地址。隧道入口創(chuàng)建一個(gè)IPv4封裝頭并傳送包,隧道出口解包,去掉IPv4頭,更新IPv6頭,處理IPv6包。隧道入口節(jié)點(diǎn)需要保存隧道信息如MTU等。如果用于目的節(jié)點(diǎn)的IPv6地址是與IPv4兼容的地址,隧道的IPv4地址可以自動(dòng)從IPv6地址繼承下來,因此也就不需要人工配置。這種隧道也就稱為自動(dòng)隧道。
IPv4兼容的IPv6地址格式如下:
B.雙IP協(xié)議棧方式 雙協(xié)議棧方式包括提供IPv6和IPv4協(xié)議棧的主機(jī)和路由器。雙協(xié)議棧工作方式的簡(jiǎn)單描述如下:
·如果應(yīng)用程序使用的目的地址是IPv4地址,那么將使用IPv4協(xié)議棧;
·如果應(yīng)用程序使用的目的地址是兼容IPv4的IPv6地址,那么IPv6就封裝到IPv4中;
·如果目的地址是另一種類型的IPv6地址,那么就使用IPv6地址,可能封裝在默認(rèn)配置的隧道中。
雙協(xié)議棧的缺省IP包發(fā)送算法為:
a. 如果IP包的目的地址是IPv4地址:
如果目的站點(diǎn)在可達(dá)鏈路上,直接發(fā)送;
如果目的站點(diǎn)不可達(dá),要么送往在線路由器,要么不可達(dá)。
b. 如果IP包的目的地址是IPv4兼容的IPv6地址:
如果目的站點(diǎn)在可達(dá)鏈路上,直接發(fā)送IPv6包;
如果目的站點(diǎn)處于off-link,(1)如果有可達(dá)IPv4路由器,則封裝在IPv4包中發(fā)往IPv4路由器;(2)如果有可達(dá)IPv6路由器,則不封裝,直接發(fā)送;(3)如果沒有可達(dá)路由器,則不可達(dá)。
c. 如果IP包的目的地址是純IPv6地址:
如果目的站點(diǎn)在 可達(dá)鏈路上,直接發(fā)送IPv6包;
如果目的站點(diǎn)處于off-link,(1)如果有可達(dá)IPv6路由器,則直接發(fā)送到路由器;(2如果目的地通過手動(dòng)隧道可達(dá),并且鏈路上有可達(dá)IPv4路由器,則封裝成IPv4包,目的IP地址為隧道終點(diǎn)地址,鏈路地址為可達(dá)路由器的鏈路地址。(3)否則為不可達(dá)。
d. 在線/離線的確定
IPv4使用子網(wǎng)掩碼確定,IPv6使用鄰居發(fā)現(xiàn)協(xié)議。兩者共同使用的是:如果目的地址是IPv4地址,則使用 RFC1122比較兩者的掩碼;如果目的地址是IPv4兼容的IPv6地址,則使用低32位目的地址的子網(wǎng)掩碼比較;如果是 IPv6純地址,則使用鄰居發(fā)現(xiàn)協(xié)議。
三、Linux下IPv6網(wǎng)絡(luò)研究實(shí)驗(yàn) 我們?cè)谘芯苛舜罅縄Pv6協(xié)議(主要的IPv6 RFC文檔)之后,進(jìn)行了一系列的IPv6研究實(shí)驗(yàn)?,F(xiàn)詳細(xì)敘述如下:
1.Pv6研究實(shí)驗(yàn)平臺(tái)的選擇 在國(guó)內(nèi)有幾所大學(xué)已經(jīng)或正在進(jìn)行IPv6實(shí)驗(yàn)研究,并且建立了CERNET IPv6實(shí)驗(yàn)床,我們?cè)谂cCERNET IPv6實(shí)驗(yàn)床的老師和同學(xué)取得聯(lián)系并進(jìn)行了交流,實(shí)驗(yàn)床網(wǎng)絡(luò)中心最初的組網(wǎng)是通過主機(jī)配置FreeBSD來完成的,1998年開始用的是FreeBSD2.2.8,現(xiàn)在是FreeBSD3.2,3.4,4.0都有,此外有些科研人員也開始采用linux進(jìn)行實(shí)驗(yàn),路由器現(xiàn)在采用的是Nokia的IP650,還有FreeBSD+Mrtd的主機(jī)。電子科大作為教育網(wǎng)西南地區(qū)的主節(jié)點(diǎn),也得到了Nokia捐贈(zèng)的IPv6路由器。在此基礎(chǔ)之上,我們通過分析比較研究各種操作系統(tǒng),最后選定用linux作為IPv6主機(jī)和路由器研究實(shí)驗(yàn)平臺(tái)。具體原因如下:
A. Linux作為開放的操作系統(tǒng),其原代碼完全公開,具有很強(qiáng)的靈活性,現(xiàn)在有很多自由軟件聯(lián)盟為L(zhǎng)inux免費(fèi)開發(fā)如件,故Linux具有很強(qiáng)的生命力和活力,而其他大部分由個(gè)別公司開發(fā)的操作系統(tǒng),一方面原代碼不公開,無法根據(jù)自己的要求修改內(nèi)核,其公司的發(fā)展的興衰,很大程度上影響該操作系統(tǒng)的發(fā)展。
B. Linux操作系統(tǒng)很先進(jìn),一直跟蹤關(guān)注網(wǎng)絡(luò)的發(fā)展,用Linux組建Internet網(wǎng)絡(luò),建立網(wǎng)站,進(jìn)行網(wǎng)絡(luò)開發(fā)研究,都是很好的選擇。并且其內(nèi)核從2.2.0開始,就已經(jīng)開始支持IPv6技術(shù)了,這等于就為我們提供了IPv6協(xié)議棧原代碼, 我們可以利用其共享代碼做IPv6的研究開發(fā)。
2.Linux主機(jī)IPv6協(xié)議支持技術(shù)研究 在選定了實(shí)驗(yàn)平臺(tái)之后,我們就著手進(jìn)行一系列的IPv6實(shí)驗(yàn),主要針對(duì)在已大量安裝了IPv4的主機(jī)和路由器情況下,如何成功地兼容地升級(jí)到IPv6,如何運(yùn)用在IPv6主機(jī)和路由器上,與Ipv4主機(jī)和路由器成功互操作,以及如何建立配置IPv6主機(jī)和路由器。在進(jìn)行IPv6實(shí)驗(yàn)之前,我們根據(jù)網(wǎng)上查詢資料及對(duì)Linux內(nèi)核分析,研究了如何建立IPv6主機(jī),包括安裝協(xié)議棧,網(wǎng)絡(luò)工具及網(wǎng)絡(luò)程序,現(xiàn)以Redhat 6.1 Linux為例,詳細(xì)說明其具體步驟如下:
A.支持IPv6協(xié)議的新內(nèi)核的編譯 要讓操作系統(tǒng)支持IPv6,就要安裝IPv6協(xié)議棧,Redhat6.1的內(nèi)核為2.2.12版本,可支持IPv6,但是安裝缺省不支持,由于協(xié)議棧在操作系統(tǒng)中是處于核心地位的,必須重新編譯新的內(nèi)核才能安裝上新的協(xié)議棧,其具體步驟如下:
1)以root身份登陸,進(jìn)入源碼所在的目錄:cd /usr/src/linux
2)運(yùn)行 make clean,清除一些可能過期的中間代碼。
3) 然后配置內(nèi)核選項(xiàng):make menuconfig 或者 make xmenuconfig運(yùn)行make menuconfig后,將下面的支持IPv6的選項(xiàng)選上,其他內(nèi)核選項(xiàng)請(qǐng)根據(jù)系統(tǒng)的具體情況作出符合系統(tǒng)的選擇。
Code maturity level options
Prompt for development and/or incomplete code/drivers Yes.
Networking options
Packet socket yes
Unix domain sockets yes
TCP/IP networking yes
The IPv6 protocol yes
IPv6: enable EUI-64 token format yes
IPv6: disable provider based address yes
File systems
/ procfilesystem support yes
4)然后運(yùn)行make dep; make clean; make bzImage
5)沒有錯(cuò)誤,現(xiàn)在已經(jīng)編譯成功了支持IPv6協(xié)議的內(nèi)核了。將該內(nèi)核拷貝到Linux的啟動(dòng)目錄下。
cp arch/i386/boot/zImage /boot/vmlinuz-IPv6
6)編輯etc/lilo.conf使新的內(nèi)核成為boot的選擇。
7) 重啟系統(tǒng): reboot
在重啟系統(tǒng)之后,在登陸之前會(huì)發(fā)現(xiàn)有支持IPv6的內(nèi)核信息出現(xiàn),這下該主機(jī)就是純IPv6主機(jī)啦,但是現(xiàn)在的主機(jī)只是安裝的IPv6協(xié)議棧,并沒有IPv6網(wǎng)絡(luò)配置工具如hostname, netstat, arp, ifconfig, rarp, route等,還不能配置網(wǎng)絡(luò),不能檢測(cè)調(diào)試發(fā)送IPv6包,因此我們必須進(jìn)行如下操作。
B.編譯net-tools Linux的網(wǎng)絡(luò)配置,基本上是通過ifconfig和route等命令實(shí)現(xiàn)的,需要安裝編譯新版本的支持IPv6的net-tools,我們采用了net-tools-1.52。其安裝過程如下:
1)解開軟件包:tar xzf your-path/net-tools-1.52.tar.gz -C /usr/src
2)進(jìn)入源碼所在目錄:cd /usr/src/net-tools
3)make config時(shí)選擇下面的內(nèi)容,其他選項(xiàng)內(nèi)容請(qǐng)根據(jù)自己系統(tǒng)情況選擇:
編譯主選項(xiàng) 子選項(xiàng) 選擇
GNU gettext Yes( 如果使用的是glibc2)
Protocol Families UNIX protocol family Yes
INET (TCP/IP) protocol family Yes
INET6 (IPv6) protocol family Yes
Device hardware types SIT (IPv6-inIPv4) support Yes
4)然后編譯:make;安裝:make install。再重啟。
現(xiàn)在我們就可以使用ifconfig和route等命令配置查看網(wǎng)絡(luò)了。運(yùn)行ifconfig,我們可以看到在每個(gè)網(wǎng)絡(luò)接口,都生成了一個(gè)IPv6地址,這是它的本地鏈路地址,我們還需要配置其相應(yīng)的全球地址和路由信息。最后我們的IPv6主機(jī)就建立起來了。兩臺(tái)機(jī)器均如此操作,通過絞線相連的最簡(jiǎn)單的純IPv6網(wǎng)絡(luò)就搭建好啦。
但是我們沒有IPv6的應(yīng)用程序來檢測(cè)我們的IPv6網(wǎng)絡(luò),但是怎么知道我們的主機(jī)在網(wǎng)絡(luò)中是否能夠與其他主機(jī)通信呢,這還得需要有IPv6的應(yīng)用程序檢測(cè)我們的網(wǎng)絡(luò)。
C.編譯Inet6-applications 編譯新版本的支持IPv6的網(wǎng)絡(luò)應(yīng)用程序我們采用的是inet6-apps-0.36,其編譯過程如下:
1) 解開軟件包:tar xzf your-path/inet6-apps-0.36.tar.gz -C /usr/src
2) 為編譯程序建立必要的鏈接:
ln -sf /usr/src/inet6-apps-0.36 /usr/src/inet6-apps
3) 進(jìn)入源碼所在目錄: cd /usr/src/inet6-apps
4)這個(gè)版本的inet6工具的icmp.c有個(gè)小Bug,編譯時(shí)需要一個(gè)補(bǔ)丁(inet6-apps-0.36-glibc21-rh60-patch.txt.gz)。將補(bǔ)丁程序加上然后編譯:make clean; make ; make install。重啟系統(tǒng)。
現(xiàn)在我們就有了如finger[d], ftp[d], inetd, ping, tftp, libinet6等網(wǎng)絡(luò)應(yīng)用程序就可以進(jìn)行主機(jī)間的IPv6測(cè)試了。
3.Linux下IPv6主機(jī)和路由器配置技術(shù)研究 在研究了Linux IPv6主機(jī)建立技術(shù)之后,我們?cè)贚inux主機(jī)上進(jìn)行了如下的進(jìn)行IPv6主機(jī)和路由網(wǎng)絡(luò)實(shí)驗(yàn)研究:
A.IPv6主機(jī)通信實(shí)驗(yàn) 為了了解如何建立IPv6主機(jī),如何在Linux操作系統(tǒng)中,建立IPv6協(xié)議棧,收發(fā)純的IPv6數(shù)據(jù)包,我們最開始建立了如圖1所示的一個(gè)最簡(jiǎn)單的IPv6網(wǎng)絡(luò)實(shí)驗(yàn)環(huán)境:
我們安裝了兩臺(tái)以Redhat6.1 Linux為操作系統(tǒng)的主機(jī),并且通過絞線相連。對(duì)于每臺(tái)主機(jī),編譯新的內(nèi)核支持IPv6,由于缺省支持IPv4,故該主機(jī)為IPv6/IPv4雙協(xié)議棧主機(jī)。為了研究純IPv6主機(jī)通信,我們只配置主機(jī)的IPv6網(wǎng)絡(luò)信息,未配置其IPv4地址和網(wǎng)絡(luò)。作為西南地區(qū),網(wǎng)絡(luò)中心分配的IPv6地址前綴是3ffe:3203:1001::/48,故利用ifconfig配置Host1和Host2的全球IPv6地址分別為3ffe:3203:1001::218/52和3ffe:3203:1001::218/52,命令格式為:ifconfig interface add IPv6-address,用route添加缺省網(wǎng)關(guān)分別為對(duì)方IPv6地址,然后利用IPv6的應(yīng)用程序ping對(duì)方的IPv6地址,得到連續(xù)的對(duì)方主機(jī)返回ICMPv6響應(yīng)報(bào)文,安裝成功了。
B.IPv6/IPv4主機(jī)隧道通信實(shí)驗(yàn) 因?yàn)楝F(xiàn)在的IPv6主機(jī)在整個(gè)IPv4網(wǎng)絡(luò)中,象一個(gè)孤島,許多路由器不支持IPv6,故在IPv4網(wǎng)絡(luò)中經(jīng)過了純IPv4路由器相連的兩個(gè)IPv6主機(jī)是不能直接通信的,要采用RFC1933所說的隧道技術(shù)(tunnel)。在Linux下的IPv6協(xié)議棧是支持隧道技術(shù)的。為研究IPv6主機(jī)如何在IPv4網(wǎng)絡(luò)中通信的,我們建立了圖2所示的實(shí)驗(yàn)環(huán)境。
與實(shí)驗(yàn)1一樣,配置好Host1和Host2的IPv6地址,并且按照實(shí)際IPv4網(wǎng)絡(luò)情況,配置好網(wǎng)絡(luò)接口的IPv4地址。之后,我們需要分別為Host1和Host2配置隧道,兩隧道的端地址分別為Host1和Host2的IPv4地址。具體配置命令格式如下:
ifconfig sit0 up ↙
ifconfig sit0 inet6 tunnel ::202.115.12.218 ↙
ifconfig sit1 up ↙
route -inet6 add 3ffe:3203:1001::/48 dev sit1 ↙
其中第二步中的tunnel地址是與對(duì)方主機(jī)的IPv4兼容的IPv6地址,最后一步添加的網(wǎng)絡(luò)為對(duì)方主機(jī)網(wǎng)絡(luò)接口所在網(wǎng)絡(luò),這樣,相互的隧道就連通了。隧道0(sit0)為自動(dòng)隧道(Automatic Tunneling),隧道1(sit1)為手動(dòng)隧道(Configured Tunneling),在啟動(dòng)了sit0之后,可以直接ping通對(duì)方主機(jī)的IPv4兼容IPv6地址,但是不能ping通對(duì)方的全球IPv6地址,因?yàn)镮Pv4 Router不負(fù)責(zé)轉(zhuǎn)發(fā)IPv6報(bào)文,只有在手動(dòng)配置了sit1之后,跨越了IPv4網(wǎng)絡(luò)的IPv6主機(jī)之間才能進(jìn)行通信。
C.IPv6/IPv4主機(jī)接入6bone網(wǎng)絡(luò) 我們?cè)谕瓿梢陨蠈?shí)驗(yàn)的基礎(chǔ)上,具有了IPv6主機(jī)和網(wǎng)絡(luò)配置基本理論和實(shí)踐經(jīng)驗(yàn),就準(zhǔn)備接入IPv6實(shí)驗(yàn)網(wǎng)6bone,首先通過主機(jī)與電子科大網(wǎng)絡(luò)中心的IPv6路由器相接,連入CERNET IPv6實(shí)驗(yàn)床,再通過該網(wǎng)絡(luò)與世界IPv6實(shí)驗(yàn)網(wǎng)6bone相接。根據(jù)網(wǎng)絡(luò)分析,我們制定了如圖3所示的網(wǎng)絡(luò)接入方案:
首先配置好Host1和Host2的IPv4網(wǎng)絡(luò)信息,再向電子科大網(wǎng)絡(luò)中心申請(qǐng)分配全球IPv6地址,申請(qǐng)隧道,網(wǎng)絡(luò)中心按照Host1和Host2的IPv4地址,手動(dòng)配置分配兩隧道,并設(shè)置了靜態(tài)路由信息。按照實(shí)驗(yàn)2的配置步驟,分別為Host1和Host2配置好IPv6地址,并且與網(wǎng)絡(luò)中心的Nokia IPv6路由器建立好隧道,基本操作與實(shí)驗(yàn)2相似。完成如上所述配置操作之后,我們首先ping電子科大網(wǎng)絡(luò)中心IPv6路由器的IPv6地址,實(shí)驗(yàn)成功,IPv6網(wǎng)絡(luò)連通了,然后ping CERNET IPv6實(shí)驗(yàn)網(wǎng)的主機(jī),利用finger6,F(xiàn)TP6瀏覽6bone網(wǎng)絡(luò)中其他網(wǎng)絡(luò)資源,實(shí)驗(yàn)成功,我們與CRENET IPv6實(shí)驗(yàn)床和國(guó)際IPv6實(shí)驗(yàn)網(wǎng)6bone實(shí)現(xiàn)了連網(wǎng)。
D.Pv6/IPv4路由器研究 在成功配置了IPv6主機(jī)并且接入了國(guó)際IPv6之后,我們嘗試組建自己的IPv6網(wǎng)絡(luò),具體組網(wǎng)如圖4所示:
由于沒有現(xiàn)成的IPv6路由器,就嘗試?yán)肔inux操作系統(tǒng),配置成IPv6路由器,具體工作如下:我們就在支持IPv6的Linux主機(jī)上,配置多個(gè)網(wǎng)卡,為每個(gè)網(wǎng)卡設(shè)置好IPv6地址,在操作系統(tǒng)中編輯新的配置文件和Script文件,主要為network-ip6、 network-ip6.conf 、network-ip6.init、tunnels-ip6.init和radvd.init幾個(gè)文件。具體編輯細(xì)節(jié)參看Peter Bieringer 2000-05-19所著的IPv6 & Linux - HowTo 3.14版。之中較為關(guān)鍵的是 /etc/sysconfig/network-ip6文件,需要設(shè)置IP6FORWARDING=yes,IP6GATEWAYCONFIG=yes,IP6ROUTEFILE=/etc/sysconfig/network-ip6.conf,這樣設(shè)置之后,從一個(gè)網(wǎng)絡(luò)接口發(fā)送來的IPv6報(bào)文就可以轉(zhuǎn)發(fā)到另外的網(wǎng)絡(luò)接口,完成路由轉(zhuǎn)發(fā)功能,完成路由器基本功能,再啟動(dòng)其他路由協(xié)議,完成相關(guān)工作,到此,我們的IPv6路由器就安裝成功了,如果還要安裝其他的IPv6路由協(xié)議,可以參照相應(yīng)的文檔。