2014年3月11日 星期二

VMware 如何得到實體IP?

網路架設為

中華電視modem -> AP(asus n-12) -> 電腦主機A(僅一張網卡)


電腦主機A 裝VMware Workstation 9(並產生一台虛擬主機B)

VMware網路部份 Bridge、NAT、Host only 三種設定都已經試過


還是無法讓電腦主機A和虛擬主機B 得到兩個不同的"實體"IP

對外顯示的IP均為電腦主機A


有辦法使用VMware 設定得到 對外的實體IP嗎?
還是一定要兩張實體網卡才能達成? 謝謝

直接看圖吧


linux下单一网卡设置多个IP的方法

MikroTik ROS里的网卡无法设置多个IP段(只有通过实体网卡进行分段管理),但是海蜘蛛的网卡可以实现多个IP段的扩展,偶尔的情况下看了一下海蜘蛛里面的网络卡的配置,
hisprit
Linux下可以实现单一网卡设置多个IP,具体的设置如下:
这里以ubuntu为例,实际地为单一网卡设置多个IP地址:
leekwen@git:~$ lspci
00:00.0 Host bridge: Intel Corporation 440BX/ZX/DX - 82443BX/ZX/DX Host bridge (rev 01)
00:01.0 PCI bridge: Intel Corporation 440BX/ZX/DX - 82443BX/ZX/DX AGP bridge (rev 01)
00:07.0 ISA bridge: Intel Corporation 82371AB/EB/MB PIIX4 ISA (rev 08)
00:07.1 IDE interface: Intel Corporation 82371AB/EB/MB PIIX4 IDE (rev 01)
00:07.3 Bridge: Intel Corporation 82371AB/EB/MB PIIX4 ACPI (rev 08)
00:07.7 System peripheral: VMware Virtual Machine Communication Interface (rev 10)
00:0f.0 VGA compatible controller: VMware SVGA II Adapter
00:10.0 SCSI storage controller: BusLogic BT-946C (BA80C30) [MultiMaster 10] (rev 01)
00:11.0 PCI bridge: VMware PCI bridge (rev 02)
00:15.0 PCI bridge: VMware PCI Express Root Port (rev 01)
00:15.1 PCI bridge: VMware PCI Express Root Port (rev 01)
00:15.2 PCI bridge: VMware PCI Express Root Port (rev 01)
00:15.3 PCI bridge: VMware PCI Express Root Port (rev 01)
00:15.4 PCI bridge: VMware PCI Express Root Port (rev 01)
00:15.5 PCI bridge: VMware PCI Express Root Port (rev 01)
00:15.6 PCI bridge: VMware PCI Express Root Port (rev 01)
00:15.7 PCI bridge: VMware PCI Express Root Port (rev 01)
00:16.0 PCI bridge: VMware PCI Express Root Port (rev 01)
00:16.1 PCI bridge: VMware PCI Express Root Port (rev 01)
00:16.2 PCI bridge: VMware PCI Express Root Port (rev 01)
00:16.3 PCI bridge: VMware PCI Express Root Port (rev 01)
00:16.4 PCI bridge: VMware PCI Express Root Port (rev 01)
00:16.5 PCI bridge: VMware PCI Express Root Port (rev 01)
00:16.6 PCI bridge: VMware PCI Express Root Port (rev 01)
00:16.7 PCI bridge: VMware PCI Express Root Port (rev 01)
00:17.0 PCI bridge: VMware PCI Express Root Port (rev 01)
00:17.1 PCI bridge: VMware PCI Express Root Port (rev 01)
00:17.2 PCI bridge: VMware PCI Express Root Port (rev 01)
00:17.3 PCI bridge: VMware PCI Express Root Port (rev 01)
00:17.4 PCI bridge: VMware PCI Express Root Port (rev 01)
00:17.5 PCI bridge: VMware PCI Express Root Port (rev 01)
00:17.6 PCI bridge: VMware PCI Express Root Port (rev 01)
00:17.7 PCI bridge: VMware PCI Express Root Port (rev 01)
00:18.0 PCI bridge: VMware PCI Express Root Port (rev 01)
00:18.1 PCI bridge: VMware PCI Express Root Port (rev 01)
00:18.2 PCI bridge: VMware PCI Express Root Port (rev 01)
00:18.3 PCI bridge: VMware PCI Express Root Port (rev 01)
00:18.4 PCI bridge: VMware PCI Express Root Port (rev 01)
00:18.5 PCI bridge: VMware PCI Express Root Port (rev 01)
00:18.6 PCI bridge: VMware PCI Express Root Port (rev 01)
00:18.7 PCI bridge: VMware PCI Express Root Port (rev 01)
02:00.0 USB Controller: Intel Corporation 82371AB/EB/MB PIIX4 USB
02:01.0 Ethernet controller: Advanced Micro Devices [AMD] 79c970 [PCnet32 LANCE] (rev 10)
02:02.0 USB Controller: VMware USB2 EHCI Controller
leekwen@git:~$ ifconfig eth0
eth0      Link encap:Ethernet  HWaddr 00:0c:29:e4:30:eb
          inet addr:192.168.2.6  Bcast:192.168.2.255  Mask:255.255.255.0
          inet6 addr: fe80::20c:29ff:fee4:30eb/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:69541 errors:3 dropped:0 overruns:0 frame:0
          TX packets:70750 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:28858018 (28.8 MB)  TX bytes:7091220 (7.0 MB)
          Interrupt:19 Base address:0x2000


leekwen@git:~$ sudo vi /etc/network/interfaces
[sudo] password for leekwen:
leekwen@git:~$ cat /etc/network/interfaces
auto lo
iface lo inet loopback
auto eth0
iface eth0 inet static
address 192.168.2.6
gateway 192.168.2.1
netmask 255.255.255.0
network 192.168.2.0
broadcast 192.168.2.255
###Add VM eth0:0 netcard####
auto eth0:0
iface eth0:0 inet static
address 192.168.10.2
netmask 255.255.255.0
network 192.168.10.0
broadcast 192.168.10.255


leekwen@git:~$ sudo /etc/init.d/networking restart
[sudo] password for leekwen:
 * Reconfiguring network interfaces...            
 RTNETLINK answers: No such process
                                                          [ OK ]
leekwen@git:~$ ifconfig -a
eth0      Link encap:Ethernet  HWaddr 00:0c:29:e4:30:eb
          inet addr:192.168.2.6  Bcast:192.168.2.255  Mask:255.255.255.0
          inet6 addr: fe80::20c:29ff:fee4:30eb/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:70050 errors:3 dropped:0 overruns:0 frame:0
          TX packets:71159 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:28909729 (28.9 MB)  TX bytes:7137583 (7.1 MB)
          Interrupt:19 Base address:0x2000 

eth0:0    Link encap:Ethernet  HWaddr 00:0c:29:e4:30:eb
          inet addr:192.168.10.2  Bcast:192.168.10.255  Mask:255.255.255.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          Interrupt:19 Base address:0x2000 

lo        Link encap:Local Loopback
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          RX packets:92 errors:0 dropped:0 overruns:0 frame:0
          TX packets:92 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:9008 (9.0 KB)  TX bytes:9008 (9.0 KB) 

leekwen@git:~$ ping 192.168.10.2
PING 192.168.10.2 (192.168.10.2) 56(84) bytes of data.
64 bytes from 192.168.10.2: icmp_seq=1 ttl=64 time=0.785 ms
64 bytes from 192.168.10.2: icmp_seq=2 ttl=64 time=0.057 ms
^C
--- 192.168.10.2 ping statistics ---
2 packets transmitted, 2 received, 0% packet loss, time 1002ms
rtt min/avg/max/mdev = 0.057/0.421/0.785/0.364 ms
leekwen@git:~$ ping 192.168.2.6
PING 192.168.2.6 (192.168.2.6) 56(84) bytes of data.
64 bytes from 192.168.2.6: icmp_seq=1 ttl=64 time=0.077 ms
64 bytes from 192.168.2.6: icmp_seq=2 ttl=64 time=0.029 ms
^C
--- 192.168.2.6 ping statistics ---
2 packets transmitted, 2 received, 0% packet loss, time 1000ms
rtt min/avg/max/mdev = 0.029/0.053/0.077/0.024 ms
leekwen@git:~$ route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
192.168.2.0     0.0.0.0         255.255.255.0   U     0      0        0 eth0
192.168.10.0    0.0.0.0         255.255.255.0   U     0      0        0 eth0
169.254.0.0     0.0.0.0         255.255.0.0     U     1000   0        0 eth0
0.0.0.0         192.168.2.1     0.0.0.0         UG    100    0        0 eth0

Solaris 10 (X86) 单网卡配置多IP(VMware虚拟机实现)

Solaris 10 (X86) 的一个网卡可以配置多个IP,现在以VMware虚拟机中实现为例进行介绍
solaris10可以使用ifconfig命令进行临时配置多IP(设置后立即生效,关机或重启后又回到原来的配置,即失效)
也可以使用编辑/etc/host 和/etc/hostname文件的方法来永久设置IP(关机或重启后,依然生效)

1、首先查看机器网卡名字:ifconfig -a
网卡为 e1000g0 (上图一个虚拟网卡lo0和一个物理网卡e1000g0,并且IPv4和IPv6各两个,因此你看到了4个网卡)

2、使用ifconfig 命令,给单网卡临时配置多个IP(关机或重启后失效)[root@solaris-x86 /]# ifconfig e1000g0:1 plumb   (启用e1000g0:1网卡)
[root@solaris-x86 /]# ifconfig e1000g0:1 9.5.1.79 netmask 255.255.0.0 up   (配置第二个ip地址)

通过ping命令,进一步验证配置是否成功

如上图,验证正确,配置成功!

3、使用ifconfig 命令,给单网卡永久配置多个IP(关机或重启后将依然失效)需要配置的文件如下:
添加新文件: /etc/hostname.e1000g0:1
编辑新文件: /etc/hostname.e1000g0:1
编辑文件:/etc/inet/hosts
编辑文件:/etc/inet/netmasks
具体添加、编辑文件步骤如下:
1、添加新文件,直接复制已有文件 /etc/hostname.e1000g0 即可,复制命令如下:
[root@solaris-x86 /]# cp /etc/hostname.e1000g0 /etc/hostname.e1000g0:1
2、编辑新文件,
vi  /etc/hostname.e1000g0:1 
solaris-x86-2 (修改文件的主机名hostname,如:solaris-x86-2)
3、编辑文件 /etc/inet/hosts,配置IP
 vi  /etc/inet/hosts


添加上图红线部分(是自己需要的配置的网段而定,如9.5.1.79)
其中需要注意, solaris-x86-2 便是在步骤2 /etc/hostname.e1000g0:1 配置的主机名,需保持一致
3、编辑文件 /etc/inet/netmasks,配置子网掩码
vi  /etc/inet/netmasks

这样就配置完了
重新启动,验证配置是否永久生效,验证方法如下:

如上图,红色部分,即为新添加的网卡 9.5.1.79 ,配置成功!
另一种验证方式,直接ping自己的ip地址,操作方式如下:
 
如上图,红色部分,即为新添加的网卡 9.5.1.79 ,配置成功!
最后,我们还能不能上网
本示例Solaris 10是通过VMware网桥方式(Bridged)访问外网的,关于如何具体配置网桥,请参照我先前写的一篇配置文章 
http://wenku.baidu.com/view/a5873f140b4e767f5acfcec9.html

 如果您能看到上面大图,通过 FireFox 浏览器访问百度主页,那么恭喜您,大功告成!配置成功!OK
 =========================================================================================
配置完了,简单总结一下:
solaris 和 linux、windows系统一样,都可以配置单网卡绑定多IP
并且还可以实现单网卡跨网段访问,如上面 192.168.*.* 和 9.5.*.* 两个网段
这样就可以实现单网卡同时访问公司内网和外部网络,工作、娱乐劳逸结合啦,哈哈
关于windows、linux(ubuntu、red hat)如何配置单网卡绑定多IP,请参照我在CSDN的博客
windows、ubuntu、Red Hat、Solaris 单网卡绑定多个IP

[經驗分享] 你用 VMware Workstation + Ubuntu + Bridged Mode,無法連上網路嗎?

這個問題很久之前就一直困擾我。基於一個「懶」字,我一直用其它方法迴避它。直到今天,我心一橫,上了 Google 查一個多小時,試過好多網友的方法無效後,自己無意中發現解答。而這個解答簡單到讓我大笑不止(喃喃自語:「早知這麼簡單,之前ㄍㄧㄥ一下不就解決了 嗎?」)。不忍藏私,所以就為文分享,以饕讀者。



先描述一下我的問題:為了製作「嵌入式系統」的講義,我裝了如下的測試環境:


  • 實體機
    • 硬體:Lenovo X200 筆電,Intel Core 2 Duo, P8400, 2.26 GHz, 2GB RAM
    • 作業系統:Windows 7 SP1, 64 bits
    • 網路連線:無線網路 802.11 b/g(使用 192.168.11.x 網段)
  • 虛擬機
    • VMware: VMware Workstation 7.0
    • Ubuntu (@VMware): 10.04 LTS,消耗 512 MB 主記憶體
    • Ubuntu 虛擬機網路連線模式:NAT(使用 192.168.58.x 網段)
  • 開發板
    • 長高科技 DMA-6410L
    • 處理器:Samsung S3C6410
    • 記憶體:256 MB NAND Flash + 128 MB SDRAM
    • 安裝軟體:Android 2.1
    • 網路連線方式:固接網路(使用 192.168.11.x 網段,與實體機網段相同)

裝到這裡,都還算順利!在虛擬機內也可以用瀏覽器連上網路。若對 NAT 這個名詞不熟悉的讀者,可以參考維基百科中「NAT 的名詞解釋」。

後來,我的開發板需要執行一些與 Ubuntu 同網段才能測試的實驗。既然實體機與開發板都使用 192.168.11.x ,我就想乾脆把生存於 VMware 虛擬機內的 Ubuntu,從原來的 192.168.58.x 網段,轉換到 192.168.11.x ,比較一勞永逸。玩過 VMware 的朋友們或許知道,只要把虛擬機內的「網路連線模式」,從「NAT Mode」,換成「Bridged Mode」,就能讓虛擬機與實體機平起平坐,使用相同的 192.168.11.x 網段。

問題從此就開始了!我將虛擬機的網路連線模式,從 NAT 換成 Bridge 後,從此虛擬機就無法連上網路了!右上角會有個「無線網路」的圖示,加上紅色的驚嘆號,並出現「Wired Disconnected」字樣(如圖一所示)。無論我怎麼調整,就是無法網路連線。

VMware-Ubuntu Disconnected
圖一:VMware 使用 Bridged Mode,無法使 Ubuntu 連線

以前我遇到這種狀況,乾脆使用另一台桌機。那台桌機是直接安裝 Ubuntu 的,並非使用虛擬機,當然不會有什麼 NAT 或 Bridged 的問題。反正講義能做出來不就好了(我夠懶吧)?
但懶人也是有尊嚴的(哈哈),今天不知道哪根筋不對,就是想在我的筆電內的虛擬機,使用 Bridged Mode 連上網路(實情是,筆電可以拿著到處走,還能到客廳邊看電視邊做講義… 吐舌頭 )。所以 Google 了一下,大家說的解法都不脫下列幾點:

  • Ubuntu 內的無線網卡驅動程式太舊!更換一下就可以了。原 Po 還提供 Patch 檔讓人下載,並解說如何安裝。
  • 不要用 DHCP 自動取得 IP 位址。改用靜態網址,並增加「靜態路由(Static Routing)」設定,好讓它連上實體機的網路。
  • VMware Tools 設定不對,請執行 vmware-config.pl 重新設定。
  • 換掉 VMware,改用 VirtualBox(我就是喜歡 VMware,怎樣?你咬我啊!)

上述幾個方法,除了最後一個太白爛我不想做外,其它我都做過了。沒一個有效。後來某網友提到,VMware 的 NAT Mode 使用 VMnet8 這張虛擬網卡,而 Bridged Mode 使用 VMnet0 這張虛擬網卡(如圖二所示)。既然用 NAT可以連上網路,而 Bridged 不行,會不會是 VMnet0 的設定有問題?

VMware-Ubuntu VMnet8
圖二:NAT 所使用的 VMnet8 虛擬網卡(ipconfig 指令執行結果)

那位仁兄雖然沒有講出答案,不過倒是給我一個靈感:「VMware Workstation 內應該有 VMnet0 網卡的設定視窗,查查看說不定有什麼結果」。沒想到被我找到「VMware Workstation 選單 > Edit > Virtual Network Editor…」這個設定視窗(如圖三所示)。將 VMnet0 的 Bridged 設定,從「Automatic」改為「11b/g Wireless LAN Mini PCI Express Adapater III」(您的機器應該會出現您使用的固接或無線網卡名稱,不一定與我的相同),就…連上了(如圖四所示)!!!(內牛滿面哪~~)

VMware-Ubuntu VMnet0 Config
圖三:Virtual Network Editor 的畫面
VMware-Ubuntu Connected
圖四:VMware 內的 Ubuntu 終於使用 Bridged Mode 連上網路

靠!早知道這麼簡單,我就不用去下載什麼 Patch 檔、設定什麼靜態路由、還跑什麼 vmware-config.pl 了!好吧!我承認是我個人網路除錯能力太弱,怪不得別人… 害羞

VMware 的 Bridged, Host-only 和 NAT 網路型態

VMware Player 的 host OS 和 guest OS 之間有三種網路型態:

Bridged Networking

在這種網路型態之下,guest OS 是透過一個 virtual bridge 和 host OS 所在的 Ethernet 相連,請參考 VMware 的官方 示意圖

對 於與 host OS 同在一個 Ethernet 上的機器來說,guest OS 和 host OS 是兩台獨立的電腦,都可以透過同一個 Ethernet 介面連接,並無法分辨出這兩個 OS 其實是在同一台機器上執行。甚至當 Ethernet 連線出問題時,guest OS 和 host OS 也不能互通 (即使是在同一台機器之內)。

換句話說,當你把接到 host OS 的網路線拔掉時,這兩個 OS 就無法溝通。因此,想把 VMware Player 灌在 notebook 上帶著跑的人,這種網路型態是不太合適的。

Host-Only Networking

在 這種網路型態之下,guest OS 和 host OS 是在一個與世隔絕的虛擬網路上。此虛擬網路有一個 DHCP server,可以分配 IP address 給 guest OS 和 host OS (分配給一個虛擬的介面)。因此,guest OS 和 host OS 可以互通。請參考 VMware 的官方 示意圖

對 於與 host OS 同在一個 Ethernet 上的機器來說,guest OS 是看不見的。guest OS 對外聯繫的唯一管道就是 host OS。因此,guest OS 若想連上外部網路或 Internet,就必須在 host OS 安裝 routing 或 NAT 的服務。

這種架構不會受到實體網路的影響,即使把網路線拔掉,host OS 和 guest OS 還是可以互通。

Network Address Translation (NAT)

此種網路型態與 host-only networking 的架構很像,但是在虛擬網路上多了一台 NAT router。請參考 VMware 的官方 示意圖

因為有了這台虛擬的 NAT router,guest 雖然與外界隔離,但仍然可以很方便地透過連接在 host OS 的網路連接 Internet。

這種架構也不會受到實體網路的影響,即使把網路線拔掉,host OS 和 guest OS 還是可以互通。若連接到 host OS 的 Internet 連線沒有問題,guest OS 也一樣可以連接到 Internet。

VMWare Workstation 網路設定二三事 - Bridge 篇

1.  一般而言在大多數的情況下,不需要去更改VMWare的網路設定。在設定成Bridge Mode情況下,有兩種情況可能會使用到:當安多張網卡時,或者是有裝其它的VM軟體,像是:Oracle Virtual Box。由於VMWare預設的Bridge to是設定成Automatic,當遇到上述的狀況時,我們可以稍微修改一下Virtual Network的設定,請執行【Edit】>【Virtual Network Editor...】


2. VMnet0是預設的Bridge網路介面,按下【Bridge to:】下拉式選單可以指定要連接之預設的實體網卡,若想讓VM一Bridge某張網卡,最快的方式就是將【Bridge to:】設定成所要的網卡,另外,若是Autmatic若指定的網卡並非我們所要的,也可以利用此方式來強制VM Bridge到特定的網卡


3. 也可以按下【Automatic Setting】來勾選Automatic只會選擇的網卡


4. 大家要有一個觀念,若是VM要連接到多個實體網路的網段,電腦上就要有多少個實體的網路卡。此時,我就可以建立一個新的Bridge VMnet,VMWare Workstation提供了7個自訂的VMnet。有一點要特別注意:機器上至少有兩張網卡,接著請在步驟2將【Bridge to:】設定成一個實體的網卡,

5. 請按下【Add Network...】來指定要設定的VMnet


6. 為新增的VMnet指定【Bridge to:】的網卡後,按下【OK】按鈕


7. 最後,將設定好的VMnet新增到VM中就大功告成了 ^^ ~






相關資料:
VMWare網路設定-預設網路介面篇


VM/vnet.

[求助] 【求助】VM10 怎么弄桥接上网

有虚拟机系统: Linux ; Win2003 ; WinXP  ; Ubuntu  怎么弄成一个网段 并且都可以上网?? ....

百度上的桥接文章折腾了半天也还是没弄好,Ping 自己虚拟机的 ip 可以, 但是别的 ip不行,真实机子 也不行,

求 大牛 远程协助..   (Nat 模式可以,但是只有一台能上网,    其他系统都不行。)


桥接这种东西真是折腾... 


NAT模式是支持同一网段多台虚拟机的。。。