系统:XP

虚拟机:Mware® Workstation7.0

虚拟机系统:redhatlinux9

 

最近在学习linux系统,今天打开后突然想到用它来上网,所以就在网上查了哈,最后我选了host-only方式 来实现 :以下是详细过程:

例如 vmnet1 ip :192.168.0.1 (我的XP系统把VM1共享进本地连接后自动成这个网段,具体的系统可能有不同之处)
虚拟机设置: ip :192.168.0.2 gateway : 192.168.0.1
这样就实现了虚拟机<--->主机 通信,但是 虚拟机<--->互联网 仍无法通信
1
)选择VMwareHost-only

 

 

Liunx虚拟机上网_上网

 

 

 

2)主机的本地连接

 

Liunx虚拟机上网_虚拟系统_02

 

3)本地连接共享Internet

 

Liunx虚拟机上网_linux_03

 

 

3)在虚拟机linux里,设置网络

 

Liunx虚拟机上网_虚拟系统_04

虚拟机的网关是192.168.0.1,DNS不用设置

 

数据包走向:从eth0出来后将数据包扔给:192.168.0.1,192.168.0.1和本地连接是共享上网的,所以192.168.0.0/24网段的数据包到了本地连接后,本地的网卡会把源IP和源MAC改成本地电脑的真实IP和MAC,然后扔给网关。

 

为了验证上面我猜想,在虚拟机上ping www.baidu.com,再在本地PC上运行抓包软件wireshark,截图如下:

Liunx虚拟机上网_上网_05

 

本地网卡是192.168.1.102,虚拟机  eth0 IP:192.168.0.2 ,由上图可以看到不是虚拟机所在的网段与公网IP交互报文。