netstat -r 输出中的网关地址未显示为 IP,而是显示为“网关”

netstat -r 输出中的网关地址未显示为 IP,而是显示为“网关”

执行时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。顺便说一句,感谢您在评论中快速集思广益;-)

相关内容