2008年11月2日 星期日

在沒有LAN的狀況下讓host與VPC以網路通訊

不知道從幾年前開始,VPC從消遣打發時間的玩具,升級成我每天工作必備的開發/測試工具,雖著VPC使用的時間越多,其中的應用也越來越多元化。

一般來說,我的工作地點都有無線網路可以使用,我的作法會是讓host(我的主機, 也就是NB),跟VPC各拿一個IP,儘管用的是同一張網卡(VPC設定為一張網卡, 對應到host上的真實網卡),但是由於各自有一個真實IP,因此資料傳輸上沒有任何問題。

這個需求不是用來複製檔案,複製檔案從host拖曳到VPC裡面即可,不用繞來繞去透過網路那麼辛苦,這個需求多半是開發Client-Server之間的應用程式以及測試,因此會需要實際有兩個IP進行互動。

但是,在很多情況下我抓取不到兩個IP:
1. 根本沒有無線網路,連一個IP都沒有
2.有無線網路,但是並不是DHCP,連線也有限制,典型像WiFly,你沒辦法讓VPC有一個獨立的IP, VPC還是可以透過NAT方式上網,但是沒辦法和host以IP對IP的方式溝通。

碰到這種情況,殺手鐧就要來了,前陣子跟Michael學到一招不錯,記下來和大家分享,首先,你可以在host上安裝一張虛擬的網卡,名稱為:Microsoft Loopback Adapter:


接著設定這張網卡為固定IP,例如192.168.20.10:


然後將VPC的虛擬網卡設定,增加成兩張網卡(你可以一張設為NAT,一張設為Microsoft Loopback Adapter):


接著把VPC裡面,對應到Microsoft Loopback Adapter的那張網卡IP設定為同一個網段的固定IP,例如192.168.20.20:

你也可以順手把VPC中的另一張網卡設為DHCP。

接著,回到host,試著ping 192.168.20.20,你會發現host已經可以透過網路方式連線到VPC裡面的IP位置:


這樣的做法,可以讓我們在沒有LAN的環境下,在VPC中架設Server,然後從host當中進行存取,或是相關的測試。

2 則留言:

tomexou 提到...

非常感謝,這也解決多數人在nat下的ip ping問題。

匿名 提到...

在沒有LAN的狀況下讓host與VPC以網路通訊
http://studyhost.blogspot.com/2008/11/lanhostvpc.html

讀過閣下以上的文章﹐我現在的 vpc 情況是這樣﹕
煩請給點意見。

現在有 host (xp), guest 1 (win98), guest 2 (win98), guest 3 (win98)

關聯是這樣的﹕

host + guest 1 能在網路芳鄰互見﹔
(應該是 bridged networking)
guest 1 是以 host 分享連線上網 (ICS)
host ip = 192.168.0.1
guest ip = 自動分配 (192.168.x.x)
guest gateway = 192.168.0.1
guest DHCP server = 192.168.0.1
大致上是這樣。
其它兩個 guests 都是用同樣方法﹐


全部可以同時上網﹐也能同時和 host 溝通﹐
但 guest 與 guest 之間是不互通﹐
guest 之間的溝通現時是經 host﹐
是否不可同時也設定 vpc 的 (adapter 1) bridged networking and (adapter 2) local net (for communications between VMs only)
guest 與 guest 之間互通是否可行﹖
有否可改進的地方﹖


William,Hongkong