【轉】非教育網中IPv4網絡訪問IPv6資源


1. 背景知識

隨着個人電腦、移動終端、乃至物聯網的不斷發展,有很大的IP地址需求。由於IPv4協議設計時沒有料到日后網絡會如此發達,IPv4網絡中的IP數量相對今天的需求來說,顯得捉襟見肘。加上IPv4地址資源分配得不平均,造成部分國家的IP地址資源非常緊張,將壓抑需求旺盛的互聯網的發展。雖然NAT技術的出現在較大程度上緩解了IPv4資源緊張的問題,但使用地址資源更為豐富的IPv6網絡仍是大勢所趨。由於IPv6協議與IPv4協議的數據包頭不一致,使得原有的能解析IPv4數據包的設備不能很好地解析IPv6數據包,從而造成IPv4網絡與IPv6網絡不能互通。IPv6網絡與IPv4網絡的不可兼容,給IPv6網絡的推進,造成了極大的阻礙。一方面,用戶因為IPv6網絡中沒有足夠豐富的網絡資源而沒有動力使用IPv6;另一方面,網絡內容提供商因為大部分用戶都使用IPv4網絡,而僅在IPv4網絡中提供服務。目前,國家、科研機構以及網絡服務提供商正在積極推進IPv4網絡向IPv6網絡的演進。

2. IPv4網絡訪問IPv6網絡

因為本人不在教育網,無法使用教育網中的IPv6資源。所以試驗了以下三種方式來訪問IPv6網絡。在win7下嘗試了2.1和2.2中的方法,都訪問成功;2.3方法暫時未成功,可能與網絡速度和hosts有關。在ubuntu下嘗試了2.4方法,可以訪問IPv6網絡。

2.1 借助ipv4.sixxs.org訪問IPv6網絡

這個方法非常簡單。只用在需要訪問的IPv6網站名加上.ipv4.sixxs.org即可訪問該IPv6網站。即使在沒有安裝IPv6協議的XP系統上,該方法也仍然有效。例如:訪問ipv6.baidu.com。如果從IPv4網絡訪問,則網頁返回錯誤;如果訪問http://ipv6.baidu.com.ipv4.sixxs.org/,則可正確顯示網頁內容。

2.2 windows系統中使用第三方軟件訪問IPv6互聯網

由於沒有公網的IPv4地址,所以無法使用ISATAP、6to4訪問IPv6;而Teredo方式因為找不到可用的hosts資源,所以也無法訪問IPv6。於是,只剩下最后一種方法:使用第三方軟件。

目前可用的第三方軟件有:六飛Venogogo6等。 我試用了以上3個軟件,發現就六飛還能用,不過訪問速度較慢。六飛和Veno都是國內公司開發的,有免費的使用時間,過了時間后就需要收費了。有網友提 到,六飛交費后的網絡還可以接受。瞄了下,似乎也不太貴。本人目前未試驗,有機會再來試試。試用了gogo6,由於總是連不上IPv6的gateway, 所以也沒有成功訪問IPv6網絡。

如何知道自己已經成功訪問了IPv6網站呢?有一個有意思的測試網站:http://www.kame.net/  如果訪問其IPv6的網頁,則網頁上的小龜會動;如果訪問其IPv4網頁,則網頁上的小龜不會動。呵呵,還挺有意思的。

三款軟件具體如何使用,還請大家自尋。

(以下內容主要來自:http://kms.lenovots.com/kb/article.php?id=13397)

2.3 Win7上使用Teredo隧道協議訪問IPv6資源

Teredo的原理請見:http://www.ipv6bbs.cn/thread-144-1-1.html 。理論上講,使用私有IPv4地址的主機是可以通過Teredo隧道協議訪問IPv6資源的,但在我的實踐中沒有成功,有可能是由於網速不好的原因。只要不是太老的windows系統中應都可能使用Teredo隧道協議訪問IPv6資源。winXP中默認未安裝IPv6協議,網絡中都說可以使用命令安裝IPv6。但非常遺憾,我的winXP未能成功安裝,不知原因為何……以下僅詳細介紹win7上如何使用teredo隧道協議。

2.3.1確認操作系統已安裝IPv6協議

使用ipconfig /all命令可以查看系統是否已安裝IPv6協議。Windows Vista與Windows 7、2008則默認已經安裝了IPv6協議,無需再次安裝。winXP系統需要安裝IPv6協議。Windows XP與Windows 2003操作系統默認是沒有安裝IPv6協議,需要手工安裝IPv6協議族。 可通過如下命令進行安裝:netsh interface ipv6 install

2.3.2 確認已分配到可用的全球單播IPv6地址

可使用命令ipconfig /all 或 netsh interface ipv6 show address來查看自己的IPv6地址。如果IPv6地址以2001::,則此IPv6地址可用來訪問IPv6互聯網。若只有以fe80::開頭的地址,則僅表示已接入IPv6網絡,但這只是系統安裝IPv6協議后自動產生的鏈路本地地址,無法訪問IPv6互聯網。

本地網卡無法自動獲取到可用的2001::開頭的全球單播IPv6地址時,只能通過隧道或第三方軟件來接入IPv6,請參考本站其他帖子。 一般高校教育網的用戶可以直接通過DHCPv6協議或IPv6無狀態地址自動配置、ISATAP、隧道等方式接入,來自動獲取2001::開頭的IPv6地址。

通過Teredo隧道接入的用戶在ipconfig /all信息中是沒有默認網關的,是通過IPv4網絡進行來傳輸IPv6數據,需要修改hosts文件。

2.3.3 確認可以ping通IPv6網站

使用命令:

ping -6 ipv6.google.com
ping -6 www.kame.net
ping -6 www.6rank.edu.cn

 來測試是否可以連接這些純IPv6網站。如果返回結果中至少有一行顯示reply from 200XXX::XXX...的信息,則表明可以訪問IPv6網絡。如果全都是request time out則是請求超時,代表IPv6網絡不通,可能存在其它故障。

2.3.4 通過隧道方式接入IPv6

請首先明確采用何種隧道接入IPv6網絡,僅需開啟一種隧道服務即可。 

其次請確認多種隧道服務沒有同時開啟,確認ipconfig /all信息中的不同網卡(或隧道接口)只有一個網卡存在全球單播的IPv6地址存在,如果多個網卡均存在2001::開頭的地址(比如本地網卡直接獲取IPv6地址、Teredo、ISATAP、6to4等隧道均同時開啟了)或多個網卡同時存在2001::開頭的地址與2002::開頭的地址,此時請關閉不必要的隧道服務,或直接將三種隧道全部禁用,重新配置。 

另外僅有Teredo隧道可以使用私網IP地址穿越NAT(路由器共享上網)設備,ISATAP、6to4等隧道均必須使用全球唯一的公網IPv4地址,如隧道接入不成功請嘗試清除所有IPv6和隧道相關配置,並再次參考站內各種隧道接入的具體教程。

運行如下命令可以清除所有IPv6及隧道相關的配置,恢復系統默認值,建議IPv6網絡故障時使用此命令恢復默認值,然后再次重新配置IPv6接入。可使用命令:netsh interface ipv6 reset來恢復默認值。Win 7及Vista用戶需要管理員權限執行此命令。

當多種隧道或多個IPv6地址存在時,采用如下命令將不使用的隧道服務單獨禁用: 

1. netsh  interface [ipv6] 6to4     set state disable
2. netsh  interface [ipv6] isatap  set state disable
3. netsh  interface [ipv6] teredo  set state disable

2.3.5 使用Teredo隧道接入方式訪問IPv6互聯網

使用Teredo方式時,必須修改本機的hosts文件,將常用的IPv6網站地址已添加到本機hosts文件中,然后才可以通過瀏覽器直接訪問該類hosts中指定的網站。無hosts的IPv6網站也將無法訪問,請務必注意。hosts文件地址: C:\Windows\System32\drivers\etc\hosts。

我在互聯網上搜索了很多有IPv6網絡地址的host文件,但試用之后發現大多數還是不可連接。具體原因不明,但可能原因有:1. 網絡太慢,連接不上。2. 網站被牆,無法連接。

2.4 Ubuntu上使用Teredo隧道協議訪問IPv6資源 (實踐證明,使用miredo不能訪問ipv6網絡中的中國教育網的ipv6網絡,但可訪問ipv6網絡中非中國的教育網)

轉自:http://blog.felixc.at/2010/04/install-teredo-ipv6/

使用如下命令安裝miredo:

sudo apt-get install miredo

安裝完后,使用ifconfig命令可查看到ubuntu系統中多了一個網絡接口:teredo。其中一個inet6 addr以2001打頭,說明系統得到了一個可以訪問IPv6網絡資源的IP。此時可使用以下命令測試是否可訪問IPv6資源:

ping6 ipv6.google.com
ping6 2001:470:20::2

  如果返回結果顯示的IP地址為IPv6地址,則說明可訪問IPv6資源。如果僅能ping6通IPv6網絡地址,說明設置的dns無法解析IPv6域名。因為我使用的ubuntu12.10,所以看到了的dns地址是127.0.0.1,暫無法確知解析時使用的是哪一個dns服務器。

2.5 centos上使用Teredo隧道協議訪問IPv6資源(實踐證明,使用miredo不能訪問ipv6網絡中的中國教育網的ipv6網絡,但可訪問ipv6網絡中非中國的教育網)

我使用的是centos5.5系統。使用命令:yum install miredo時,系統告訴我,沒有可能用的安裝包……我就自己下載了一個miredo的rpm安裝包,結果安裝的時候,提示有libJudy.so.1/libcap.so.2/rpmlib(FileDigests)/rpmlib(PayloadIsXz)這些基礎包都沒有,所以我又使用yum去安裝這些包,結果都提示找不到可用的安裝包。很無奈……於是我繼續找如何能在centos5.5上安裝miredo。終於被我發現了:使用epel。(以下內容來自:http://blog.51yip.com/linux/1337.html)epel是什么? 如果既想獲得 RHEL 的高質量、高性能、高可靠性,又需要方便易用(關鍵是免費)的軟件包更新功能,那么 Fedora Project 推出的 EPEL(Extra Packages for Enterprise Linux)正好適合你。EPEL(http://fedoraproject.org/wiki/EPEL) 是由 Fedora 社區打造,為 RHEL 及衍生發行版如 CentOS、Scientific Linux 等提供高質量軟件包的項目。

首先,安裝epel。

32位系統選擇:
rpm -ivh http://dl.fedoraproject.org/pub/epel/6/i386/epel-release-6-8.noarch.rpm (centos6適用)
rpm -ivh http://dl.fedoraproject.org/pub/epel/5/i386/epel-release-5-4.noarch.rpm (centos5適用)

64位系統選擇: 
rpm -ivh http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm  (centos6適用)
rpm -ivh http://dl.fedoraproject.org/pub/epel/5/x86_64/epel-release-5-4.noarch.rpm (centos5適用)

  

 然后,安裝yum-priorities。

yum install yum-priorities

 最后,可以安裝並使用miredo了。

yum install miredo
service miredo-client start
ping6 ipv6.google.com

 

 


免責聲明!

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



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