花了点时间,研究了下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所负责的局域网内的一台机器。
nat上网过程如下
1、VMware网络连接选择的是NAT体式格局。
2、VMware网络设置里的NAT项中查看VMnet8,NAT的网关设置为192.168.X.2。
3、在windows中,查看所有的网络连接,你应该发明除开原本的网卡以外,又多了Vmnet1以及Vmnet8。vmnet1是hostonly的接口,而Vmnet8是就是我们要施用的NAT的网络接口。
4、在windows主机上用ipconfig查看VMnet8的IP地址,通常为192.168.X.1。此时VMnet8的设置应该是AUTO获取IP,此刻改成静态IP,并把此IP直接填入VMnet8里,不设网关。
5、在linux下把网卡IP设置成与VMnet8 同一个网段的IP(192.168.X.Y/255.255.255.0)
6.设置主机名称(通过vi编辑器打开/etc/sysconfig/network文件)
设定/etc/sysconfig/network
# vi /etc/sysconfig/network
NETWORKING=yes <==是否启动网络,当然是啦!
HOSTNAME=localhost <==主机名称,要确定呦!可以随时修改啦!
GATEWAY=192.168.X.2
7、设置网卡参数(通过vi编辑器打开/etc/sysconfig/network-scripts/ifcfg-eth0文件)
设定网络卡参数/etc/sysconfig/network-scripts/ifcfg-eth0
# vi /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0 <==设定装置的名称,这个要跟文件名称对应!
ONBOOT=yes <==是否在开机的的时候启动网络卡
BOOTPROTO=dhcp <==启动的时候的 IP 取得的协定,static是固定的,如果是 Cable 的话,这里要改成 dhcp 才行。
8、设置DNS(通过vi编辑器打开/etc/resolv.conf文件)
[root@hostname root]# vi /etc/resolv.conf
vi /etc/resolv.conf
nameserver 192.168.X.2
9、 重启网络配置
[root@hostname root]# reboot //重新启动
[root@hostname root]# ifconfig //可以查看centos已经自动被赋予了ip为192.168.X.Z
service network restart //网关重启
10、在linux下ping 192.168.x.1,在windows下ping 192.168.x.z 成功后证实主机以及虚拟机已可以互相访问了,此刻也能够使虚拟机共享主机ip上网了。
发表评论