Centos7配置静态IP后无法ping通外网或出现两个IP的问题

场景:最近遇到一个问题,当通过SecureCRT或Xshell等工具连接虚拟机的时候,往往过了一两天的时间之后就突然连不上了,于是直接通过虚拟机查看IP发现IP地址不是当初设置的IP了,原来我的网卡设置的是DHCP分配的IP地址,IP地址不固定。于是我通过新的IP地址重新连接,终于连上了,但是没过几天又连不上了。这种情况比较苦恼,毕竟我不能总是一直换IP吧。于是我把IP地址设置成静态IP,但之后又遇到了新的坑。

注意:环境基于Centos7

问题一:设置静态IP之后出现无法上网的情况

需要知道在设置静态IP之前是否能够上网,一般只要主机能够上网并且没有改过虚机的配置,基本上都能上网的。除非你用的不是原生镜像,而是别人改过的你直接拷贝过来的,可能出现无法直接ping通外网的情况。但一般都是配置的问题。

1.设置静态IP

vim /etc/sysconfig/network-scripts/ifcfg-ens33

把通过DHCP方式分配IP改为静态IP,也就是

将BOOTPROTO=dhcp改为BOOTPROTO=static

ONBOOT=yes表明开机自启动

设置为静态IP之后就需要指定IP

IPADDR为IP地址

NETMASK为子网掩码

GATEWAY为网关,注意,网关必须和虚机的IP地址处于同一网段,否则无法上网,毕竟我们只有这一条路走,对吧,

DNS就是DNS咯,随便哪个DNS服务器都可以,你也可以自己搭建一个,开心就好。但是要保证必须有DNS服务,并且是正常工作的。一般出现无法ping通外网的情况都是DNS的问题,DNS相当于导航,如果导航出了问题那就只能迷路了。

注意:设置完网卡信息后需要重启网卡服务

service network restart

查看IP信息

ifconfig或者hostname –I,可以看到,IP信息改了,并且已经可以通过工具连接了。

2.设置静态IP之后无法上网

每次改完IP之后我都出现了这种情况。和网上的一比设置的都一样,可以ping通网关和主机和同一网段的机器,但就是ping不通外网。

于是我直接ping百度的IP地址,可以ping通。。。

 什么问题?网络是通的!

URL不同但是IP地址通,那不就是DNS出问题了吗

但是我已经设置了DNS了

于是继续pingDNS服务器

 通的。。。但还是ping不通外网

再加一个DNS试试

 

 发现竟然通了,是什么原因,把第一个DNS删了试试

 

 把第一个DNS改成DNS1试试,结果还是通的。OK。

问题二:设置静态IP后出现两个IP地址

检查BOOTPROTO是否设置成static,,如果还是默认的DHCP,主机会继续为你分配IP地址,并且你设置的IP地址同样生效,所以会出现两个IP地址。如果改为static之后还有的话,在网卡配置信息后面加上NM_CONTROLLED=no

然后service network restart重启网络,就没有了。

猜你喜欢

转载自www.cnblogs.com/maohai-kdg/p/11445677.html