最近用虚拟机了解一些关于虚拟机联网的原理和联网遇到的问题。
VMware 虚拟机支持两种上网模式,一种是桥接,一种是NAT模式。
桥接:直接让虚拟机的模拟网卡跟主机网卡绑定(这种情况会出现主虚直接不能通信,不能开启终端)
NAT:所有虚拟机构成局域网,联网时候先将虚拟机转换成真实IP再与广域网通信。
=======桥接模式========
今天在别的朋友电脑拷贝一个RedHat系统,部署到VMware虚拟机以后,连不上网,通过ifconfig命令,查看结果,如图所示:
然后,我想尝试一下,在虚拟机中ping 本地物理机地址,结果如图。
尝试了很多方法,花了2个小时的功夫。终于找到了原因。
以下是我解决问题的步骤,分享出来,帮助大家尽快解决问题,与同样遇到过这个问题的同胞共勉!
总结起来,主要有4步:
1、使用chkconfig iptables off 关闭Linux系统防火墙,并且确保windows防火墙一样关闭。
2、ctrl+D将network选项中默认的“NAT链接方式”改为“网桥链接”,如图所示。
3.root 用户登录,修改网络配置文件,命令如下
[root@zb ~]# vi /etc/sysconfig/network-scripts/ifcfg-eth0
然后,在window中通过cmd > ipconfig 可以看到 “以太网适配器 VMware Network Adapter VMnet8:” ip地址为 “192.168.139.1”
按照上图的ip地址修改配置文件,红色部分为修改过内容。
DEVICE="eth0" BOOTPROTO="static" // 静态设置ip,下面配置
BROADCAST=192.168.253.255 // 广播地址
*IPADDR=192.168.139.1* //(修改这里)ip地址,手动指定,避免每次动态分配
NETMASK=255.255.255.0 // 子网掩码
NETWORK=192.168.253.0 // 网络号
*GATEWAY=172.18.8.254* //(修改这里) 网关
HWADDR="00:0C:29:8D:07:8E" NM_CONTROLLED="yes" ONBOOT="yes" // 系统启动后,自动启动网卡
TYPE="Ethernet" UUID="73869271-edc7-45a1-bbc7-1691af066ae2"
4、修改完成以后,千万记住,还有一步,重启服务!
[root@zb ~]# service network restart
成功重启以后,测试效果如图:
测试结果,使用ifconfig查看,如下图所示,成功显示internet地址:
大功告成,祝贺大家!
更多RedHat相关信息见RedHat 专题页面 http://www.linuxidc.com/topicnews.aspx?tid=10
本文永久更新链接地址:http://www.linuxidc.com/Linux/2015-02/113119.htm
=======NAT模式========
在使用CentOS虚拟机时,出现了无法上网的情况,使用主机ping虚机地址可以ping通,而虚机ping不通主机,同时虚机也无法ping通其他的网址或ip,显示内容为Network is unreachable,后来经过在网上查找解决方法,解决问题,记录如下:
首先打开服务,在services.msc中将VMware的DHCP和NAT服务开启。并修改虚机的接入方式,可以在“编辑虚拟网络”中查看,如下图
打开后如下
VMnet0是桥接方式,VMnet1是Host-only方式,VMnet8是NAT方式,子网IP可以自己设置,见1,修改后,需要把2,3中的地址段同时对应修改。
这时候最好把除了NAT外其它两个连接方式停掉,将1上面,connect的勾去掉就可以了
之后需要在虚机设置中选择NAT连接方式,,如果没有网络连接方式需要自己添加一下。以上这些设置方法网上有很多,不再赘述。
之后仍旧无法联网的,需要打开虚机看看虚机的网络设置了。命令如下
#vi /etc/sysconfig/network-scripts/ifcfg-eth0
其中部分内容如下:
DEVICE=eth0 #设备名称
BOOTPROTO=dhcp #连接方式,dhcp会自动分配地址,此时不需要在下面设置ip和网关
HWADDR=00:0C:29:AD:66:9F #硬件地址,不要修改
ONBOOT=yes #yes表示启动就执行该配置,需要改为yes
网上会有些方法需要在这里添加ip地址,子网掩码,dns之类的,之前安装这些方法试验过,都不行,而且添加的这些内容后来还影响到了上网,所以,不建议采用那些方式添加这些内容。
修改完后需要重启网络设置,可以
# service network restart
或者
# /etc/init.d/network restart
此时如果还是无法连接网络,再回到物理主机,查看网络连接中的本地连接的共享是否打开,在状态->属性->共享中查看,如果没有共享选项卡,就找百度。如果共享已经打开,将Host-Only Network和VMnet8中的ipv4和ipv6服务停掉,前面的勾去掉
至此,我的虚机网络连接正常了