2009年11月13日 星期五

在windows xp的動態ip(dhcp)設定多個虛擬ip

先說明我目前的網路配置,我用的是giga的adsl,有一個固定ip及16個動態ip,而giga並不是採用pppoe撥接的方式,它是直接用dhcp動態配置ip。也就是說在網路配置上,除了區域網路之外,沒有多出一個撥接的網路介面。

以前我使用的是seednet的adsl,因為它多出一個撥接的網路介面,負責配置上網的實際ip,剩下的真實網卡,也就是windows xp網路上所稱的「區域連線」,我就用來設定為192.168的內部ip,用來作為內部多台電腦網路芳鄰的資料通訊,除了安全的考量還有速度的優勢,有時候用它來測試內部的網路情況,也很方便。hinet 的小烏龜(adsl router)的ip是192.168.1.1,設成同一個網段,也可以用來直接管理它。

但是giga的網路配置已經把「區域連線」給佔用了,就沒有多餘的網路介面來配置內部ip了。在不想購買多餘的網路設備的情況下(如ip分享器),只能從軟體上動手。

這如果在linux,是很容易解決的。linux可以很容易在一張網卡上,建立多個虛擬ip,熟悉linux的人都知道,eth0代表第一個真實的網路介面,而eth0:1就是一個虛擬介面,您可以設定eth0:2,eth0:3,eth0:4...等二個或多個網路介面,非常容易解決虛擬網卡及虛擬ip的問題。

但在windows xp系統,如果是固定ip,建立虛擬ip是很簡單,但如果是動態ip,那可真是一件麻煩的差事,我試過很多方法,都無法成功。
後來發現這個討論區文章:
http://www.pczone.com.tw/vbb3/thread/29/142652/

發現有人有和我一樣的需求。用 "dhcp static ip at the same time",作關鍵字去google找,終於發現了解決的方法,原來要修改windows的登錄值,在登錄值裡dhcp ip address,與static ip address是可以同時存在的。pczone討論區的作者,表示他測試該方法,有些網卡會失敗(包含Realtek的網卡),但經過我測試三台電腦(均為不同網卡,包含Realtek rtl8139也沒問題),及用virtualbox虛擬出來的電腦,均可成功設定。在此分享給有同樣需求的網友。

在此聲明,我所有的系統都是在windows xp下測試的,windows 98,2000,vista均未測試。國外的原文,有些有提到這些系統均可測試成功。 windows 7我測試過失敗,參考許多網友的經驗,目前還沒有成功的記錄,所以大概windows 7應該不能這樣用 。另外我假設有此需求的網友,應該都很熟悉,如何進入網路設定的基本步驟,所以這些我就不提了,只講關鍵的部分。


固定ip,新增虛擬ip

首先如果是固定ip,要設定虛擬ip是很簡單的,選tcp/ip→內容→進階,在ip設定的地方,新增一組ip即可。

virtual_ip_001.jpg

virtual_ip_000.jpg


動態ip,新增虛擬ip

因為是動態ip,所以在下面tcp/ip的設定,都必須要採用自動取得ip (dhcp)的方式。
virtual_ip_002.jpg

下圖這裡雖然可以再設一組ip,但實際上是不能對外連線的。但用途是什麼,我也不清楚,好像是原來的dhcp如果配置失敗,會用這裡的設定。這裡請選擇「採用自動私人ip定址」。
(這個其他設定,查了一下資料,說是當dhcp伺服器無法配置ip時,會改以此處的設定,也就是說兩者是無法同時存在的。)
virtual_ip_003.jpg


到dos模式下(開始→執行,打「cmd」),下ipconfig /all指令,你可以看到,網路卡是amd pcnet family pci ethernet adapter ,事實上是virtualbox下的虛擬網卡。另外要注意的是你目前dhcp配置的ip address,這個位址等一下識別網路登錄值時會用到。
virtual_ip_004.jpg

接下來就是重頭戲了,在執行命令的地方,打regedit進入修改登錄值(開始→執行,打「regedit」)。
依序找到
HKEY_LOCAL_MACHINE→SYSTEM→CurrentControlSet→Services→Tcpip→Parameters→Interfaces

你可以看到許多類似{BDF058FE-237C-402A-ABAB-8DEB342026BC}這樣的key。找到其中每一個,看看右方有DhcpIPAddress的地方,有沒有在上圖看到相同的ip address,如果有,那就是你要修改的key。
virtual_ip_005.jpg

往下看到IPAdress,雙擊滑鼠,進入修改模式,增加一組虛擬ip,你可以增加兩個或多個虛擬ip。

virtual_ip_006.jpg


往下再看到SubnetMask,雙擊滑鼠,進入修改模式,增加一組Mask值,你可以配合上面的ip,增加兩個或多個Mask。

virtual_ip_007.jpg

改完後,離開regedit,先停用再啟用網路,先ping 一下自己,再ping 別台同網段電腦,如果可以ping到,就表示增加的虛擬ip,可以成功運作了,如果不成功請重開機再試。

virtual_ip_008.jpg

結論

這個虛擬網卡的問題在我改換isp為giga時,我就很想解決,但花了很多時間,都找不到解法。直到最近,我把系統升級成windows 7時,發現在設定網路的芳鄰的時候,總是無法成功連線。在windows xp我是增加NWLink ipx/spx的通訊協定來解決。但在windows 7,ipx/spx已經不支援了, 用一些網路上非正式的方法安裝ipx/spx也無法在windows 7正常使用網路芳鄰 。當然我還不確定問題出在那裡,於是又把windows 7還原成windows xp(其實使用windows 7我還遇到一些很不順利的問題)。想說如果單純透過同一網段的tcp/ip,是否可以解決windows 7的網路芳鄰的問題,等以後再安裝一次windows 7再測試看看。

  © Blogger templates Psi by Ourblogtemplates.com 2008

Back to TOP