今天搭集群配置静态地址的时候出现一个小问题,ping不通外部网络,但是IP可以被外部ping通。具体情况如下:

        工作中一般都使用动态获取地址,静态配置的方式已有点生疏,便翻了一下以前的笔记,OK,很简单。。。

        由于虚拟机之前已设置过NAT,便使用之前配置过的网段配了一个静态地址,重启网卡之后发现地址已变更为所配置的静态地址。

centos mtr带源地址 centos带原地址ping_DNS

 虚拟网络编辑器

centos mtr带源地址 centos带原地址ping_centos_02

 静态地址配置信息

centos mtr带源地址 centos带原地址ping_NAT_03

 ip信息已修改

        此时尝试ping外部网络,发现无法ping通,而外部可以ping通该地址。

centos mtr带源地址 centos带原地址ping_centos mtr带源地址_04

 尝试ping百度的域名,失败

centos mtr带源地址 centos带原地址ping_DNS_05

 本机ping虚拟机静态IP,成功

        由于该网段地址一直以来网络通畅,而使用的方式一直是dhcp,且本次ssh远程连接是成功的,因此猜测还是静态地址配置的时候什么地方写漏了或者写错了。将网络获取方式换回动态获取状态,查看此时的网关及路由等信息,发现网关的最后一位是2,而不是一般情况下的1。

centos mtr带源地址 centos带原地址ping_IP_06

 动态获取状态下的网关信息

        而配置静态地址的时候,GATEWAY设置的最后一位为1,将网关信息修改为与动态获取一致,重新ping一下外部网络,发现可以ping通IP,ping不通域名。回想起来,修改网关的时候,忘记同时修改DNS了,一般情况下,本地配置环境,DNS的地址和网关的地址需要一致,重新修改一下DNS的地址。

centos mtr带源地址 centos带原地址ping_NAT_07

 配置网关地址与实际地址不一致

centos mtr带源地址 centos带原地址ping_IP_08

 ping外部IP成功,ping百度域名再次失败

centos mtr带源地址 centos带原地址ping_DNS_09

 修改DNS地址与GATEWAY网关地址一致

        此时百度的域名已可以成功解析。总结一下,配置静态IP的第一步,需要先查看一下可使用的网关,一般情况下最后一段是1,而后再到配置文件中配置对应信息。当然,一般情况下直接配置也不会出错,如果出错了再回头重新查一下网关配置。

centos mtr带源地址 centos带原地址ping_NAT_10

 成功ping通百度域名

        刚刚重新看了一下NAT的配置,其实不需要在服务器里面使用“netstat -rn”去排查网关信息,在NAT设置里面是有网关内容记录的,只不过这个网段设置并使用很久了,自己也不记得网关设置的具体地址了。如果是新配置的NAT,在配置静态地址的时候第一时间应该就会想起来该如何配置,本文供长时间未进行静态IP配置的小伙伴们排查问题哈~

centos mtr带源地址 centos带原地址ping_centos_11

 虚拟网络编辑器中NAT设置