关于VMware虚拟机产品下的网卡配置,总结一下个人的经验
首先设置虚拟机硬件的时候给虚拟额外添加一块网卡(默认只有一块),一块设置为NAT模式,一块设置为仅主机模式
具体硬件信息如下:
原因很简单,一块网卡用于上网,一块网卡用于和宿主机通信,当然如果你保证NAT模式下的网卡和宿主机的网络处于同一网关,其实也可以通过NAT模式下的网卡的ip去连接虚拟机。但是个人觉得还是2块网卡比较好,原因就是如果仅仅只有NAT模式,如有一天你宿主机没有网络的情况下,那就连接不到虚拟机了。 但是如果仅仅只有仅主机模式下,虽然能保证宿主机能链接到虚拟机,但是这样你的虚拟机就不能上网了(ping不通www.baidu.com 这样的网络)
关于网卡参数和域名配置和域名服务:
DEVICE=eth0 #网卡名称
TYPE=Ethernet #网卡类型
UUID=e3f0b3e4-0bc4-45b9-ae85-19fcb4e89804 #UUID
ONBOOT=yes #是否激活网卡配置(yes 激活、no不激活)
NM_CONTROLLED=yes #网卡参数是否时实生效(需改网卡参数不需要重启,yes 时实生效、no重启生效)
BOOTPROTO=dhcp #获取ip的方式(dhcp 动态获取ip、static 静态获取ip、none 不指定ip)
DEFROUTE=yes #是否固定
IPV4_FAILURE_FATAL=yes # IPV4_
IPV6INIT=no #IPV6
NAME="System eth0" #系统名称
HWADDR=00:0C:29:36:5E:EF #网关
PEERDNS=yes #是否获取dns
PEERROUTES=yes #
IPADDR=192.168.7.106 #静态ip(ip设置为静态设置的时候有用)
GATEWAY=192.168.7.1 #默认网关
NATMASK=225.225.225.0 #子网掩码
DNS1=192.168.7.1 #NDS配置
DNS2=8.8.8.8 #NDS配置(一个网卡可以配置多个dns)
关于配置的组合:
默认的网卡是没有静态ip(安装的时候没有做任何设置的情况下)和网关和子网掩码以及显示的dns 解析地址的。如果想手动设置ip,网关,子网掩码,和dns的时候默认的获取ip方式属性必须设置为静态(static)或者none,还需要把自动获取dns设置为no,这样手动设置的ip,网关,子网掩码,才会生效,可以手动设置ip和网关和子网掩码,dns自动获取,此时启动虚拟机或者重启网络(service network restart) 回根据你设置的ip去获取指定的dns 此时你的dns服务地址被写入到了域名服务器文件(vi /etc/resolv.conf 可以查看),其实你手动设置dns服务器后,最后启动或者重启网络的时候会把你网卡中的dns写入该文件,如果手动修改该文件,重启以后会自动失效。还有一种方式的配置就是全部自动获取,这时候需要把ip设置为自动获取(网关,子网掩码都会自动获取),dns也自动获取(也可以指定dns,ip自动获取的情况下最后指定公共的dns解析服务,比如谷歌的8.8.8.8)
最佳配置:
设置2块网卡,第一块NAT模式,第二块仅主机模式,第一块(NAT可以上网的)里面的ip,dns全部自动获取,和一般的实体机一样或者ip,网关,子网掩码,和宿主机没有半毛钱关系,能上网就ok,不管是不是和宿主机在同一网关(就当做网络中的一台计算机),然后第二块(仅主机模式)ip动态获取,dns不要自动获取,也不需要设置,因为第二块网卡根本不需要上网,只需要和宿主机保持联通就ok了,相反的如果你设置了自动获取dns反而有可能掩盖第一块网卡的dns,而且仅主机模式下获取的dns肯定是不能上网的,所以第二块网卡只需要自动获取ip即可,不需要自动获取dns,这样你启动虚拟机或者重启网络后就能上网(ping通www,baidu,com) 又能和宿主机保持联系(宿主机可以通过工具连接虚拟机)
分析问题:
如果你连公网ip都瓶不通(比如百度ip,淘宝ip),那你的网络有问题(有可能没网卡,或者没有激活网卡,或者是仅主机模式)
如果能ping通公网ip(可以再实体机上ping百度,能知道百度ip) ,但是ping不通域名,说明是你的dns出问题了;
第一种情况很直接,你根本没有网,第二种情况分很多种,如果全部是自动获取(两块网卡)则有可能第二块(仅主机模式)的dns掩盖了第一块(NAT模式)的域名解析地址,也有可能是你手动配置的dns不可用(手动配置dns一定是手动设置ip,网关,子网掩码的,自动dns属性为no,解决第二种问题哈有一个简单的方式,手动修改或者添加dns(但是这种方式重启网络和虚拟机会失效),具体方式就是 vi /etc/resolv.conf 然后手动添加或者修改nameservice 属性,修改为可用的dns地址,个人建议添加,因为可以配置多个dns,解析的时候会依次解析,如果第一个服务地址解析不了,第二个会接着解析,如果2个都解析不了才会访问失败,当然可以添加三个四个都可以,也会依次解析