虚拟机如何设置IP和宿主机的IP在同一网段内?

我想让虚拟机中的IP和宿主机的IP在同一网段内,并且外部机器能访问到,但设置了桥接之后,发现虚拟机无法上网了,要换成自动获取才能上网,但这样IP就不在同一网段内了,这个该如何设置?宿主机的IP:192.168.1.107       ... 展开
匿名
我有更好的答案
推荐于2017-09-24 12:43:47 最佳答案
 . 关于桥接网络. . . ,来与Guest 进行通信,但是VMware Network Adapter VMnet8 虚拟网卡仅仅是用于和VMnet8 网段通信用的,它并不为VMnet8 网段提供路由功能,处于虚拟NAT 网络下的Guest 是使用虚拟的NAT 服务器来连接到Internet 的。VMware 功能非常强大,在NAT 网络下: Broadcom NetXtreme 57xx Gigabit Controller
Physical Address. ,网关为192.168.0.1,那么我的Guest 就应该和我的Host 处于同一个网段. . .0
Default Gateway . .100. . . . !我的VMware Network Adapter VMnet8 虚拟网卡的IP 地址配置如下:Ethernet adapter 本地连接:

Ethernet adapter VMware Network Adapter VMnet8:

Connection-specific DNS Suffix . :
Description . . . . . . . . . . . : VMware Virtual Ethernet Adapter for VMnet8
Physical Address. . . . . . . . . : 00-50-56-C0-00-08
Dhcp Enabled. . . . . . . . . . . : No
IP Address. . . . . . . . . . . . : 192.168.153.1
Subnet Mask . . . . . . . . . . . : 255.255.255.0
Default Gateway . . . . . . . . . :

IP地址是手工填写的,但却不是由我来指定的,而是VMware 在安装的时候自动随机指定的一个IP 地址(注意,不要修改VMware Network Adapter VMnet8 虚拟网卡所在的网络ID,这样的话会造成Host 和Guest 无法通信)。那么,我的NAT 网络的虚拟机的IP 地址也为192.168.153.0 这个网段,其IP 地址配置为:

Windows IP Configuration
Host Name . . . . . . . . . . . . : Lineage
Primary Dns Suffix . . . . . . . :
Node Type . . . . . . . . . . . . : Unknown
IP Routing Enabled. . . . . . . . : no
WINS Proxy Enabled. . . . . . . . : No

Ethernet adapter NAT:
Connection-specific DNS Suffix . :
Description . . . . . . . . . . . . . . . : VMware PCI Ethernet Adapter
Physical Address. . . . . . . . . . . . . : 00-50-56-C0-00-08
Dhcp Enabled. . . . . . .. . . . . . . . : Yes
Autoconfigureration Enanble. . . . :Yes
IP Address. . . . . . . .. . . . . . . . : 192.168.153.10
Subnet Mask . . . . . . .. . . . . . . . : 255.255.255.0
Default Gateway . . . .. . . . . . . . . :192.168.153.2
DHCP Server. . . . . . .. . . . . . . . . :192.168.153.254.....................

可以看到,它的IP 地址分是由DHCP 服务器分配的的,DHCP 服务器的地址为192.168.85.254,那为什么会有DHCP 服务器存在呢?

这是因为VMware 安装之后,会有一台虚拟的DHCP 服务器为虚拟机来分配IP 地址,这个DHCP 服务器,你可以ping 通它,但是无法进行访问,因为实际上它就是一个系统服务而已,在开始——>运行中输入services.msc,就会看到这个服务
此时可以看到,Guest 的网卡和Host 上的VMware Network Adapter VMnet8 虚拟网卡拥有相同的网络ID,这样的话,在Guest 中,ping 通Host 就没有问题了:

Pinging 192.168.153.1 with 32 bytes of data:
Reply from 192.168.153.1: bytes=32 time<1ms TTL=64
Reply from 192.168.153.1: bytes=32 time<1ms TTL=64
Reply from 192.168.153.1: bytes=32 time<1ms TTL=64
Reply from 192.168.153.1: bytes=32 time<1ms TTL=64

Ping statistics for 192.168.153.1:
Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
Minimum = 0ms, Maximum = 0ms, Average = 0ms

有一点需要说明的是,在NAT 方式的网络中,Guest 的Gateway 都指向了192.168.X.2,在本例中,X=153,也就是那个虚拟的NAT 服务器的地址,这个服务器是一台虚拟的NAT 服务器,可以ping 通它,但是却无法访问到这台虚拟机,因为这同样也是一个系统服务:这时候,我的Guest 和Host 就可以实现互访了,并且如果我的Host 此时已经连接到了Internet,那么我的Guest 也就可以连上Internet 了。那么Host 上的VMware Network Adapter VMnet8 虚拟网卡在这里扮演了一个什么角色呢?它仅仅是为Host 和NAT 虚拟网络提供了一个通信接口,所以,即便在Host 中Disable 掉这块虚拟网卡,Guest 仍然是可以上网的,只是Host 无法再访问VMnet8 网段,也即是无法访问Guest 而已。

关于Host-Only网络

在Host-Only 网络中,Host-Only 网络被用来设计成一个与外界隔绝的(isolated)网络,其实Host-Only 网络和NAT 网络非常相似,唯一不同的地方就是在Host-Only 网络中,没有用到NAT 服务,没有服务器为VMnet1 网络做路由,它当然就没有办法访问Internet 啦,可是如果此时我的Host 要和Guest 通信怎么办呢?当然就要用到VMware Network Adapter VMnet1 这块虚拟网卡了。

如下图,这是我的Host 上的VMware Network Adapter VMnet1 虚拟网卡的配置,同样,VMware 也为我自动随机分配好了它的IP:

Ethernet adapter VMware Network Adapter VMnet1:

Connection-specific DNS Suffix . :
Description . . . . . . . . . . . : VMware Virtual Ethernet Adapter for VMnet1
Physical Address. . . . . . . . . : 00-50-56-C0-00-01
Dhcp Enabled. . . . . . . . . . . : No
IP Address. . . . . . . . . . . . : 192.168.201.1
Subnet Mask . . . . . . . . . . . : 255.255.255.0
Default Gateway . . . . . . . . . :

那么如果我把Guest 的网络设置成了Host-Only 的话,把它的IP 获取方式设置为DHCP,它会到虚拟的DHCP 服务器上拿到IP,这个DHCP 服务器仍然是一个虚拟的DHCP 服务器(仅仅是一个系统服务而已),而且在下图中,可以看到,这个DHCP 服务器的IP 地址仍然是192.168.X.254,这里X=201,因为要和我的VMnet1 的网络ID 相同。所以,Guest 所获得的IP和我的Host 的VMware Network Adapter VMnet1 虚拟网卡的IP 使用同一个网络ID:
Windows IP Configuration
Host Name . . . . . . . . . . . . : Lineage
Primary Dns Suffix . . . . . . . :
Node Type . . . . . . . . . . . . : Unknown
IP Routing Enabled. . . . . . . . : no
WINS Proxy Enabled. . . . . . . . : No

Ethernet adapter Host-Only:
Connection-specific DNS Suffix . :
Description . . . . . . . . . . . . . . . : VMware PCI Ethernet Adapter
Physical Address. . . . . . . . . . . . . : 00-50-58-C0-50-0d
Dhcp Enabled. . . . . . .. . . . . . . . : Yes
Autoconfigureration Enanble. . . . :Yes
IP Address. . . . . . . .. . . . . . . . : 192.168.201.10
Subnet Mask . . . . . . .. . . . . . . . : 255.255.255.0
Default Gateway . . . .. . . . . . . . . :
DHCP Server. . . . . . .. . . . . . . . . :192.168.153.254.....................

可以看到,在Host-Only 网络下,Guest 的Default Gateway 被设置为NULL,这是由于没有默认路由器为它到外部网络提供路由的缘故,也即是上边说到的Host-Only 网络没有NAT 服务器!如果使用route add 命令加上某个地址做为它的路由器,它仍然不能访问Internet(实际上也没有地址可加)。这样,我的Guest 虽然没有办法访问Internet,但是仍然可以和我的Host进行通信,这正是因为我的Host 上的VMware Network Adapter VMnet1 虚拟网卡起到了作用,它负责和VMnet1 网络相连,为我访问Host-Only 网络下的Guest 提供了通信接口。下图显示了在Host-Only 网络中的Guest 与我的Host 的通信情况:

Pinging 192.168.201.1 with 32 bytes of data:
Reply from 192.168.201.1: bytes=32 time<1ms TTL=64
Reply from 192.168.201.1: bytes=32 time<1ms TTL=64
Reply from 192.168.201.1: bytes=32 time<1ms TTL=64
Reply from 192.168.201.1: bytes=32 time<1ms TTL=64

Ping statistics for 192.168.201.1:
Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
Minimum = 0ms, Maximum = 0ms, Average = 0ms

至于为何要把Host-Only 网络设置为没有Default Gateway 的方式,这是VMware 的设计使然,它就是让我们建立一个与外界隔离(isolated)的网络时而使用的。事实上,如果我足够BT,也可以在Host 上来为VMware Network Adapter VMnet1 虚拟网卡来做路由。比如,我可以用Windows 2000 的RRAS 来做,这样的话,处于Host-Only 网络下的Guest 就又可以上网了,它们只需要使用route add 命令把自己的Default Gateway 指向Host 上的VMware Network Adapter VMnet1 虚拟网卡即可,不过这样做不推荐,也没有必要.

至此,VMware 的3 种网络,就应该可以理解可以看到,如果想要Guest 上网,在3 种网络模型中,
最为简单的方式就是NAT,因为它不需要任何的网卡设置,IP 地址也可以从虚拟的DHCP 服务器来获得,要做的仅仅就是把它的网络设置为NAT 方式即可。

至于Bridged 模式,则需要额外的IP 地址,这有可能会实现不了,因为并不是每个ISP 都那么大方。
如果是Host-Only,则又需要设置RRAS,没有几个人会愿意为了让虚拟机上网而换OS 的,所以就用NAT 最好了。

在这里要强调的一点是,如果设置了Host-Only 网络,非要为VMnet1 做路由,一定要用RRAS,而不要用Windows XP 或者2000 的ICS,因为它会自动把内网的接口地址改为192.168.0.1。你在安装虚拟机的时候,VMware 不会正好给你的VMware Network AdapterVMnet1 虚拟网卡分配为192.168.0.1 的地址吧?这样的话会造成VMware Network Adapter VMnet1 虚拟网卡和VMnet1 网段的网络ID 不一致,自然,你的Guest 就没有办法和Host 通信了!

实际上经常还会遇到这样的情况:比如VMware 为我分配的网络ID 在将来会被我用到,或者嫌VMware 为你分配的网络不好(比如它给你分了个192.168.148.0 的网络ID),那么可以到这里来修改:
单击VMware 的“Host”菜单,选择“Virtual Network Settings ...”

选择“Host Virtual Network Mapping”中,VMnet1 所在的虚拟网络,单击后边的按钮,选择“Subnet”菜单,即可以调整你的网络ID。. . .10: bytes=32 time<1ms TTL=64

Ping statistics for 192.168.100.10.100. . . :
Connection-specific DNS Suffix . :
Description :
Minimum = 0ms. .168.168. . . . : 192.168.0.1

Pinging 192. . . ,它的配置可为:
Ethernet adapter 本地连接:

Connection-specific DNS Suffix .255: No
IP Address,
Approximate round trip times in milli-seconds.10: bytes=32 time<1ms TTL=64
Reply from 192. .0
Default Gateway . : 192.168.0.1

IP 地址为手工指定方式,网关为192. ,存在DHCP 服务器,那么Host 和Guest 都可以把IP 地址获取方式设置为DHCP 方式。

关于NAT网络

在NAT 网络中,会使用到VMnet8 虚拟交换机, Maximum = 0ms, Average = 0ms

当然. :

Connection-specific DNS Suffix . :
Description . .0.168. . .255. :
Packets.168. .168. .255,我的物理网卡和Guest 的虚拟网卡(注:这个虚拟网卡不等于VMware Network Adapter VMnet1 或者VMware Network Adapter VMnet8)处于同等地位,此时的Guest 就好像我的Host 所在的一个网段上的另外一台机器. . . . . ,Guest 所配置的IP 地址一定要在192.168.0 网段没有被占用,而且我的网络管理员允许我来使用这个IP 地址.0,那么我的Guest 就应该和我的Host 处于同一个网段,它的配置为:

Ethernet adapter Bridged.168,来把Host 的某一个TCP 或者UDP 端口映射到Guest 上.255. . .0
Default Gateway . . . , Lost = 0 (0% loss). . , Received = 4. . . . . . . .168. . . : Broadcom NetXtreme 57xx Gigabit Controller
Physical Address: 00-1A-A0-A9-DC-1B
Dhcp Enabled. . . . . . . . . . . : No
IP Address. . . . . . . . . . . . . : 192:
Description . . . . . . . . . . . : Broadcom NetXtreme 57xx Gigabit Controller
Physical Address. . . . . . . . . : 00-1A-A0-A9-DC-1B
Dhcp Enabled. .10
Subnet Mask . . . . . . . . . . . : 255,IP 地址为192: 192.168.0.1

同样,IP 地址也为手工指定方式,网关也为192.168.0.1,这样的话: Sent = 4. . .100.1. . . . . . . ,我们甚至可使用Port Forwarding 功能.10 with 32 bytes of data:

Reply from 192. 。我的Host 的物理网卡配置如下:IP 地址为手工指定方式. . .0.100.10: bytes=32 time<1ms TTL=64
Reply from 192. . . . . . . ,Host 上的VMware Network Adapter VMnet8 虚拟网卡被连接到VMnet8交换机上. . : 00-1A-A0-A9-DC-1B
Dhcp Enabled. . . . . . . . . . . : No
IP Address. . . . . . . . . . . . . : 192.255.10
Subnet Mask . . . . . . . . . . . : 255. .0. : 192.168.0.2
Subnet Mask . . . . . . . . . . . : 255.100. . . 。如果在192.168.0 网段. .255. . . .10: bytes=32 time<1ms TTL=64
Reply from 192:

]Host 的物理网卡和Guest 的网卡在VMnet0 交换机上通过虚拟网桥进行桥接. ,这也就是说. .168.2 的Host 和IP 地址为
192.168.0.10的Guest 就可以互通了:
Ethernet adapter Bridged.168.

其他回答

持网桥模式,就109、110。:192.1,自动获取的是虚拟机自己的DHCP信息,不在一个段。
根据你上边的信息.168,随便找个不冲突的就行)
掩码.255:255:192.0
网关,虚拟机你可以设置为
ip.1,给你的虚拟机手动指定ip信息吧.168.108(如果提示有冲突。。这样的顺延选下去.255
今世缘网络 | 发布于2011-12-09
评论
网桥
星顶网专业建站 | 发布于2011-12-08
评论

为您推荐:

×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消