执行时netstat -r
输出内容为:
Kernel IP routing table
Destination Gateway Genmask Flags MSS Window irtt Iface
default gateway 0.0.0.0 UG 0 0 0 eth0
10.100.200.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0
link-local 0.0.0.0 255.255.0.0 U 0 0 0 eth0
因此,我们的网关的 IP 被替换成了名称网关,我们可以在某处查找正确的 IP 来 ping 该网关。
我的问题是,这个配置在哪里,我该如何停止它?因为它不在 /etc/hosts 中,也不在我们的 DNS 中,我想在那里看到一个 IP,而不是一些通用名称。
编辑:
我想澄清的是,我知道其他工具不一定会这样做,我只是想知道网关 IP 的这个名称在哪里配置。
dig -x
摘抄
;; QUESTION SECTION:
;254.200.100.10.in-addr.arpa. IN PTR
;; AUTHORITY SECTION:
使用的操作系统:CentOS - 7.2.1511 - 3.10.0-327.28.3.el7.x86_64
答案1
正如@Ipor Sircer 在他的评论中所说的那样,解决方案是/etc/nsswitch.conf
。那里为主机配置了这三个:files dns myhostname
。我已经检查过文件和 DNS,除了显而易见的事情之外,我真的不知道 myhostname 做了什么。
事实证明它也能做到这一点:
主机名“网关”解析为所有当前默认路由网关地址,按其度量排序。
来源 -->libnss_myhostname.so.2
因此,为了解决这个问题,我必须创建一个文件/DNS条目或从中删除myhostname /etc/nsswitch.conf
。顺便说一句,感谢您在评论中快速集思广益;-)