15年的时候,写过一篇博客:VMware中网络设置之Bridged 也是关于linux下vmware桥接模式、静态ip上外网的配置,不过当时更多的是用图形界面来实现的,通用性不强。生产环境,极少有linux安装图形界面的。索性原博客也不修改了,重新来一篇得了。这里我用的是CentOS6.5的最小系统来演示。当前了,因为CentOS属于红帽系列,所以本文所讲的方法对于redhat系列的linux网络配置同样适用。
一、桥接模式之VMware设置:
VMware->【Edit】->【Virtual Network Edit】
二、桥接模式之虚拟机设置:
三、桥接模式之设置静态ip地址
配置成桥接网络连接模式的虚拟机就当作主机所在以太网的一部分,虚拟系统和宿主机器的关系,就像连接在同一个Hub上的两台电脑,可以像主机一样可以访问以太网中的所有共享资源和网络连接,可以直接共享主机网络的互联网接入线路访问互联网。主机与虚拟机之间,以及各虚拟机之间都可以互访。对应虚拟机就被当成主机所在以太网上的一个独立物理机来看待,各虚拟机通过默认的VMnet0网卡与主机以太网连接,虚拟机间的虚拟网络为VMnet0。这时你的虚拟机就像局域网中的一个独立的物理机一样。虚拟机中的操作系统可以PING通别的主机,反过来别的主机也可以PING虚拟机。想让它们相互通讯,你就需要为虚拟系统配置IP地址和子网掩码,否则就无法通信。
所以配置之前,我要先看一下物理主机的ip地址:(我这里物理主机采用无线上网卡wifi上网)
1. ipconfig 查看物理主机的ip地址(上外网用的那个网卡的ip地址)
2. 根据物理主机的ip地址,设置linux虚拟机的ip地址:
vim /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0 #虚拟机网卡名称。
TYPE=Ethernet
ONBOOT=yes #开机启用网络配置。
NM_CONTROLLED=yes
BOOTPROTO=static #static,静态ip,而不是dhcp,自动获取ip地址。
IPADDR=192.168.31.77 #设置我想用的静态ip地址,要和物理主机在同一网段,但又不能相同。
NETMASK=255.255.255.0 #子网掩码,和物理主机一样就可以了。
GETWAY=192.168.31.1 #和物理主机一样
DNS1=8.8.8.8 #DNS,写谷歌的地址就可以了。
HWADDR=:0c::::4c
IPV6INIT=no
USERCTL=no
我用xshell连接的linux,这样看起来比较清晰:
重启网络服务:
[root@xiaolyu77 ~]# service network restart
3. 在网络配置文件 /etc/sysconfig/network 中添加网关地址。
[root@xiaolyu77 ~]# vim /etc/sysconfig/network NETWORKING=yes
HOSTNAME=xiaolyu77
GATEWAY=192.168.31.1 #网关地址,同物理主机的网关地址
4. 测试:
1)虚拟机 ping 物理主机:
[root@xiaolyu77 ~]# ping 192.168.31.160
2) 物理主机 ping 虚拟机
C:\Users\Administrator>ping 192.168.31.77
3) 虚拟机测试外网:
[root@xiaolyu77 ~]# ping www.baidu.com
OK,搞定!
5. 问题: 如果还是不能上外网,出现:"ping: unknown host www.baidu.com"
如果某台Linux服务器ping不通域名, 如下提示:
[root@xiaolyu75 ~]# ping www.baidu.com
ping: unknown host www.baidu.com
解决方案:
首先确定已经连接上路由器,并且路由器能够访问外网,可以通过访问网关进行确定
[root@xiaolyu75 ~]# ping 192.168.31.1
如果确定网络没问题的情况下, 可以通过如下步骤寻找解决办法:
1) 确定设置了域名服务器
没有的话, 建议设置Google的公共DNS服务, 它应该不会出问题的
[root@xiaolyu75 ~]# cat /etc/resolv.conf
将dns添加到该文件中,在测试过程中发现这个不是必要的,网管添加到该文件中也是可以的。
2) 确保网关已设置
[root@xiaolyu75 ~]# grep GATEWAY /etc/sysconfig/network-scripts/ifcfg*
我的xiaolyu75机器不能上外网,是因为网管设置的不对,我设置成了GETWAY=192.168.31.1.
如果未设置, 则通过如下方式增加网关:
[root@xiaolyu75 ~]# route add default gw 192.168.31.1
或者手工编写/etc/sysconfig/network-scripts/ifcfg*文件后, 重启network服务:
[root@xiaolyu75 ~]# service network restart
/etc/sysconfig/network-scripts/ifcfg-eth0:GATEWAY=192.168.31.1
3) 确保可用dns解析
[root@xiaolyu75 ~]# grep hosts /etc/nsswitch.conf
#hosts: db files nisplus nis dns
hosts: files dns
4)测试:
[root@xiaolyu75 ~]# ping -c 3 www.baidu.com
OK,搞定!