今天搭集群配置静态地址的时候出现一个小问题,ping不通外部网络,但是IP可以被外部ping通。具体情况如下:
工作中一般都使用动态获取地址,静态配置的方式已有点生疏,便翻了一下以前的笔记,OK,很简单。。。
由于虚拟机之前已设置过NAT,便使用之前配置过的网段配了一个静态地址,重启网卡之后发现地址已变更为所配置的静态地址。
虚拟网络编辑器
静态地址配置信息
ip信息已修改
此时尝试ping外部网络,发现无法ping通,而外部可以ping通该地址。
尝试ping百度的域名,失败
本机ping虚拟机静态IP,成功
由于该网段地址一直以来网络通畅,而使用的方式一直是dhcp,且本次ssh远程连接是成功的,因此猜测还是静态地址配置的时候什么地方写漏了或者写错了。将网络获取方式换回动态获取状态,查看此时的网关及路由等信息,发现网关的最后一位是2,而不是一般情况下的1。
动态获取状态下的网关信息
而配置静态地址的时候,GATEWAY设置的最后一位为1,将网关信息修改为与动态获取一致,重新ping一下外部网络,发现可以ping通IP,ping不通域名。回想起来,修改网关的时候,忘记同时修改DNS了,一般情况下,本地配置环境,DNS的地址和网关的地址需要一致,重新修改一下DNS的地址。
配置网关地址与实际地址不一致
ping外部IP成功,ping百度域名再次失败
修改DNS地址与GATEWAY网关地址一致
此时百度的域名已可以成功解析。总结一下,配置静态IP的第一步,需要先查看一下可使用的网关,一般情况下最后一段是1,而后再到配置文件中配置对应信息。当然,一般情况下直接配置也不会出错,如果出错了再回头重新查一下网关配置。
成功ping通百度域名
刚刚重新看了一下NAT的配置,其实不需要在服务器里面使用“netstat -rn”去排查网关信息,在NAT设置里面是有网关内容记录的,只不过这个网段设置并使用很久了,自己也不记得网关设置的具体地址了。如果是新配置的NAT,在配置静态地址的时候第一时间应该就会想起来该如何配置,本文供长时间未进行静态IP配置的小伙伴们排查问题哈~
虚拟网络编辑器中NAT设置