Jan 032011
 

目前的IPv6隧道形式有好幾种,不同的用途各有不同的連接方式。我自己曾經使用過其中的兩种隧道:Teredo和6to4。

1. 設定IPv6

6to4適合電腦直接使用公共IP的用戶,祗要你符合以下上網方式,一般都直接獲得公共IP:

  • 撥號上網用戶
  • 用自己的電腦直接連接ADSL,不用路由器
  • 公共無綫上網(對於大陸地區,須中國電信或中國聯通)

若還不確定,在Command Prompt(命令提示符/命令提示字元)輸入ipconfig,若能看到公共IP地址就表明你已經可以用6to4了。一般情況下,Windows Vista及Windows 7無須配置,系統本身就已經幫你設定好6to4隧道了,可以直接連上IPv6。禁用了IPv6的祗需要重新開啓即可。XP用戶可以用ipv6 install命令安裝IPv6,但6to4的設定方法我暫時不知道,手頭沒XP的電腦。若要知道是不是已經開啓了IPv6隧道,祗要用你的瀏覽器打開ipv6.google.com就可以驗證了。若能順利打開看到Google首頁,就表明一切正常。

若是使用Router(路由器)共享上網,或者是單位用戶,大多數情況下電腦都是使用私有IP地址(10.0.0.0/8、172.16.0.0/12、192.168.0.0/16)。在Command Prompt輸入Ipconfig,若看到以下地址範圍——192.168.0.0 ~ 192.168.255.255、172.16.0.0 ~ 172.31.255.255、10.0.0.0 ~ 10.255.255.255——此時就只能用Teredo了。

若是使用Windows Vista和Windows 7,本来Windows本身就已經配置好Teredo的了,不过很可惜的是大陸的電訊運營商把微軟的Teredo隧道封掉,無法起作用。現在要做的就是重新配置Teredo。以下設定均適合Windows Vista及Windows 7。

以系統管理員身分打開Command Prompt(右鍵單擊就會看到“以系統管理員身分”或“以管理員身份”),打開後標題會多出“管理員:”的字樣,鍵入netsh並回車。此時就會進入netsh環境(顯示netsh>)。

按順序鍵入下列命令:

interface teredo
set state enterpriseclient teredo.remlab.net.
set mode online

注意,teredo.remlab.net後邊有个點號,不要漏了。teredo.remlab.net是Teredo的其中一個隧道接入服務器,相應的其他還有:

teredo.autotrans.consulintel.com
teredo.ngix.ne.kr
teredo.managemydedi.com

可以選擇使用。

現在用你的瀏覽器打開ipv6.google.com,如無意外,應該已經能夠看到Google首頁了。

2. 修改Hosts内容

有一些網站既有IPv6地址又有IPv4地址,這個時候電腦有可能會優先用IPv4。萬一該IPv4地址是被墻的,那就等於無法訪問了。現在要做的就是“告訴”電腦對某些網站必須用IPv6地址。

該步驟其實不多,僅僅是修改Hosts文檔的内容(位置:Windows\system32\drivers\etc\hosts)。網絡上已經有修改好的Hosts可供下載,若有需要,請自行下载

如果上述下載失效,可以用我現在正在用的:點擊此處下載

Windows Vista、Windows 7用戶自行編輯Hosts的方法:在剛才的“管理員:”命令提示,輸入notepad \Windows\system32\drivers\etc\hosts,回車之後就可以修改了。

如果是要用下載回來的hosts,CTRL+C、CTRL+V直接覆蓋就可以了。

轉載請註明: 轉載自http://www.still-c.com/
本文URL: http://www.still-c.com/archives/166.html

Linux透過Teredo連接IPv6 Inernet

 Linux, 網絡  Comments Off on Linux透過Teredo連接IPv6 Inernet
Jan 022011
 

在Windows配置IPv6非常簡單,主要是因爲Windows已經內置了多種接入方式,需要的時候直接配置就行了。而Linux則比較特别,發行版多,各個版本内置的接入方式不一,只能因地制宜。

爲甚麼會有那麼多接入方式呢,原因是,在Native IPv6網絡未普及之時,根據各種不同的Internet連接方式分別採用不同的IPv6隧道建立方式。例如,需要通過NAT方式連接Internet的,就要用Teredo了。

我用的是Mandriva Linux 2010.2(剛升級的),安裝時已經開啓IPv6功能,不過連接方式有限,不包含Teredo。此時,唯有安裝Miredo了。

下載好Miredo,解包。文檔説明寫著需要按照常規編譯安裝方式來安裝。OK,那就編譯吧。CTRL+ALT+F1,打開控制臺,以root身份登入。進入對應文件夾,開始按照步驟來做:

# ./configure
# make
# su
# make install

但在第一步 ./configure 就卡住了:

checking for Judy.h usablity... no
checking for Judy.h presence... no
checking for Judy.h... no

Judy乃何方神聖?Google之,得答案:“Judy is a C library that provides a state-of-the-art core technology that implements a sparse dynamic array.”簡單地說,就是一個提供動態數組的C庫。

好吧,下載Judy,編譯並安裝:

./configure --enable-64-bit
make
make check
make install

需要注意的是,安裝Judy時一定要根據自己的Linux版本選擇對應的參數,64 bit的要選擇 --enable-64-bit,32 bit的要選擇 --enable-32-bit,不要輸錯!

然後可以重新編譯安裝Miredo了。重新輸入命令,整個過程一切順利。安裝完成后,回到圖形界面(CTRL+ALT+F8),用瀏覽器打開 ipv6.google.com,Google搜索頁出現了!至此,Teredo終于安裝完成!

轉載請註明: 轉載自http://www.still-c.com/
本文URL: http://www.still-c.com/archives/159.html

Dec 312010
 

前邊在《一個支持IPv6的免費VPN》曾經提到過IPv6,網絡上也有很多人在爭論到底要不要把OS的IPv6功能關掉。那麼,何爲是IPv6、有何用途呢?本文簡單介紹下。

IPv6是下一代IP標準,目的是爲了解決我們現在正在使用的IPv4數量嚴重不足的問題。我們目前使用的IPv4能夠提供了大約43億個地址,其中大約37億地址是可供分配使用的,剩下的被保留使用。何謂“保留”?這保留的地址中,有一部分被用作私有地址,即我們常見的10.0.0.0、172.16.0.0~172.31.0.0、192.168.0.0這幾段;有一部分用作組播地址(不懂組播沒關係,很少人能用得上);還有一部分用作IPv4向IPv6過渡時使用。

IPv4的這37億個地址按照地球人的總數(按60億來算)平均分配下來,平均每人只能得到0.6個,顯然不夠用。後來因爲劃分出私有地址,因此使得多人可以共享一個公共IP地址連接Internet,問題得到緩解。不過,該來的總會來的,推遲後它還會來。在2011年,IPv4地址就會被逐漸用完。

而這個IPv6,對於中國大陸有很特殊的意義。

中國大陸的IP地址已經非常緊缺,近年來更是到處購買國外其他運營商的IP地址。現在,IPv6已經在教育網得到大規模應用,但是普通公衆暫時還沒大規模推開,僅僅在某些地區做試驗。

另一方面,中國大陸有一個衆所周知、臭名昭著的Firewall,知道這東西的人不用我解釋都知道它的用途,不知道的人請自己找資料。這個Firewall功能強大,但只對IPv4能起作用,對於IPv6幾乎無能爲力。這也能理解爲何在公衆網絡中遲遲未能推開。

在教育網中,IPv6好處多多。國外資源任意使用,不再受限制,而且不會受到Firewall的干擾,平時不能去的、不能用的網站、網絡服務,在IPv6下全部恢復正常。可以說,這比爬牆軟件更好用,簡直就是一道暢通無阻的大門。更重要的是,教育網中的IPv6並非建立隧道連接,直接就是Native IPv6 Unicast地址,電腦本身既能正常使用平常的IPv4網站與服務,又能用IPv6的資源與服務。

對於大陸公眾網的用戶而言,可以通過建立IPv6隧道的方式來使用IPv6服務,順便穿墻,而且不會像爬墻軟件那樣影響到部份程序的使用。

在要不要關閉IPv6功能的問題上,我個人認爲,沒必要關閉。該功能開著的時候不會影響平時的正常使用,也不會佔用多少系統資源。可以說,開著IPv6有好處沒壞處。

轉載請註明: 轉載自http://www.still-c.com/
本文URL: http://www.still-c.com/archives/153.html

一個結合Ping、Traceroute (tracert)的工具:pathping

 網絡  Comments Off on 一個結合Ping、Traceroute (tracert)的工具:pathping
Dec 032010
 

平時我們會用到Ping來檢測鏈路是否連通、或者看看對方主機是否Down掉,用traceroute (tracert)來查看鏈路的路由路徑。有時候我們會遇到這種情況:想看看經過路徑的路由器列表,同時又想Ping中間的每一個路由器。有些人會想到,那就手工一個一個ping,或者有人會想找甚麼網絡輔助工具來幫忙。

其實,用一個叫做pathping的命令就可以做到了。

Pathping同時具備了Ping和tracert的功能,它會先像Traceroute那樣取得路徑中轉發路由器的列表,然後再統計從每個路由器返回的結果。

Pathping命令:
Usage: pathping [-g host-list] [-h maximum_hops] [-i address] [-n]
[-p period] [-q num_queries] [-w timeout]
[-4] [-6] target_nameOptions:
-g host-list     Loose source route along host-list.
-h maximum_hops  Maximum number of hops to search for target.
-i address       Use the specified source address.
-n               Do not resolve addresses to hostnames.
-p period        Wait period milliseconds between pings.
-q num_queries   Number of queries per hop.
-w timeout       Wait timeout milliseconds for each reply.
-4               Force using IPv4.
-6               Force using IPv6.

其中,使用 -n 參數相當於在tracert命令使用 -d 參數一樣,不把IP地址反向解析爲主機名。對於一些雙棧主機而言,參數 -4 和 -6 都比較有用。個人習慣使用 / 代替 - 。

以我的電腦爲例,用pathping測試google.com。我使用了IPv6,並且在Hosts文件中強行指定Google用IPv6連接,因此pathping默認會用IPv6測試Google.com。

C:\>pathping /n www.google.comTracing route to www.google.com [2404:6800:8005::68]
over a maximum of 30 hops:
0  2001:0:53aa:64c:188e:6ff:8ebe:a1ee
1  2001:470:0:163::2
2  2001:470:0:163::1
3  2001:7fa:0:1::ca28:a10a
4  2001:4860::1:0:1063
5  2001:4860::2:0:119b
6  2001:4860:0:1::e3
7  2404:6800:8005::68Computing statistics for 175 seconds...
Source to Here   This Node/Link
Hop  RTT    Lost/Sent = Pct  Lost/Sent = Pct  Address
0                                           2001:0:53aa:64c:188e:6ff:8ebe:a1ee
0/ 100 =  0%   |
1  335ms     0/ 100 =  0%     0/ 100 =  0%  2001:470:0:163::2
0/ 100 =  0%   |
2  336ms     0/ 100 =  0%     0/ 100 =  0%  2001:470:0:163::1
0/ 100 =  0%   |
3  ---     100/ 100 =100%   100/ 100 =100%  2001:7fa:0:1::ca28:a10a
0/ 100 =  0%   |
4  338ms     1/ 100 =  1%     1/ 100 =  1%  2001:4860::1:0:1063
0/ 100 =  0%   |
5  335ms     1/ 100 =  1%     1/ 100 =  1%  2001:4860::2:0:119b
0/ 100 =  0%   |
6  339ms     1/ 100 =  1%     1/ 100 =  1%  2001:4860:0:1::e3
0/ 100 =  0%   |
7  334ms     0/ 100 =  0%     0/ 100 =  0%  2404:6800:8005::68

Tracoe complete.

一目瞭然,可以看到經過了哪些地方,在哪些地方丟包、丟了多少。

其中,0號是本機地址。對於大多數電腦而言,主要用的還是IPv4,即使同時存在IPv6,Windows默認依然會用IPv4去連接,除非被強行指定使用IPv6鏈路(比如訪問某些網站時DNS祗給出IPv6地址,或者Hosts綁定),pathping默認使用IPv4去測試。

轉載請註明: 轉載自http://www.still-c.com/
本文URL: http://www.still-c.com/archives/75.html

猜想Google的“IP隐藏”

 Google, 網絡  Comments Off on 猜想Google的“IP隐藏”
Nov 232010
 

曾經有篇文章說過,Google spider很會“隱藏”IP地址,不管是從哪裏來的spider(例如來自香港的spider、俄羅斯的spider),從被爬的站點看來,那些IP都是來自加利福尼亞。Google是如何做到的呢?個人做個簡單的分析。

我們知道Google擁有大量的申請到的IP地址、有自己的數據中心,那麼Google爲了連接分布于各地的分支機構,而又爲了讓外界看起來自己的所有IP都是位于加利福利亞,可以用幾個很簡單但有效的辦法。我猜測,Google的做法會是這樣:

  • 全部的分支機構都是用Google自己申請到的IP地址,而不是從當地運營商再申請一批新的地址;
  • Google擁有自己的Autonomous system (AS) Number,這樣就可以既爲Google自身網絡的連接提供獨立的路由,而又可以根據分支機構的不同位置采用不同的路由來連接當地網絡。

僅僅使用這兩種做法,就可以讓外界以爲Google隱藏了IP地址。

不過,這僅僅是個人猜測,也許與真實情況有出入。

轉載請註明: 轉載自http://www.still-c.com/
本文URL: http://www.still-c.com/archives/19.html