花了点时间,研究了下VM上的linux虚拟机的网络配置问题。
1.环境
主机:winXP SP2,家庭宽带,局域网连到路由器,ip地址为192.168.1.101。
虚拟机:centOS(redhat linux的开源免费版本),纯文本模式。
在VM安装了了CentOS后,发现在主机上多了两个网络连接:VMNet1和VMNet8。每个网络连接都设有ip地址和子网掩码。
VMNet1的是:192.168.229.1/255.255.255.0
VMNet8的是:192.168.30.1/255.255.255.0
2.接下来,想让centOS访问互联网。
一开始,把VM中的网络连接设置为briged。启动centOS后,执行ifconfig命令发现,eth0的ip地址设置成为了和主机同一个网段的ip地址:192.168.1.102。同时,使用ssh能够连上centOS,但是centOS上ping不通主机,也ping不通www.baidu.com。查看配置文件发现,centOS上的router是主机的router,dns也是主机的dns。
为了用briged方式上网,百度了很多资料,试着去做,都没有用。没办法只好修改为NAT方式,重启后发现可以上网了。同时注意到,使用ssh连centOS,似乎要更快一些。
修改为NAT后,执行ifconfig命令发现,centOS的ip地址是主机VMnet8中的ip地址192.168.30.128。 而DNS也变成了VMnet8下的192.168.30.2。
根据网上的资料来看,briged方式上网,是直接连接到机器的物理网卡。此时centOS虚拟机,相当于和主机处于同一个局域网的一台机器。而采用NAT方式上网,centOS和主机是客户端/服务器的关系。主机提供VMnet8给centOS,对于centOS来说,VMnet8相当于一个网关或者路由器,而centOS相当于VMnet8所负责的局域网内的一台机器。