CentOS下VMware用桥接模式,静态ip上外网
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=00:0c:29:22:05: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,搞定!
评论
#1楼
#2楼[楼主]
#3楼
#4楼[楼主]
#5楼
#6楼[楼主]
#7楼
#8楼
#9楼[楼主]
那你设置的是dhcp模式了?其实不一定要静态IP的,自动获取也是可以的,如果你不行,试试静态IP。
#10楼[楼主]
哈哈,看到解决你的问题我也很开心。
#11楼
嗯,我用的是DHCP模式。我的问题有点奇怪。
我在家连接家里的WiFi,虚拟机使用桥接模式,是可以连上外网的。
今天上班,连公司的WiFi,虚拟机就连不上。所以我首先怀疑就是公司有对上网进行了策略管理(基于IP或者物理地址),但是我问公司的同事,说没有,我再去看虚拟机的网络配置。就看到博主你的文章。
我用DHCP模式,查看了虚拟机的IP,是和我物理主机同一个网段的,但是有个奇怪的地方就是,虚拟机的网关和我物理主机的网关不一样(虚拟机是10.100.0.255,物理主机是10.100.0.1)
我接下来试下配置静态IP,但是我之前的同事也遇到这个问题,他说试过了不行。 我又试过一种方式, 就是在物理主机上,将wife的网卡共享给虚拟机的网卡,结果是虚拟主机可以上网了,物理主机没了,所以我现在有点怀疑是不是VMware工具对网卡桥接模式管理的问题。。。
(主要是我个人对网络这块也不是很熟悉。。。)