如何配置ping返回的名称?

如何配置ping返回的名称?

目前,我的基于 Debian 的机器返回用于 ping 它的任何名称,因为它在回答 ping 时的名称:

 - saturn:~$ ifconfig | grep "inet addr"
          inet addr:192.168.0.103  Bcast:192.168.0.255  Mask:255.255.255.0
          inet addr:127.0.0.1  Mask:255.0.0.0
 - saturn:~$ ping -c 1 192.168.0.103 | grep from
64 bytes from 192.168.0.103: icmp_req=1 ttl=64 time=0.094 ms
 - saturn:~$ ping -c 1 localhost | grep from
64 bytes from localhost (127.0.0.1): icmp_req=1 ttl=64 time=0.081 ms
 - saturn:~$ ping -c 1 saturn | grep from
64 bytes from saturn (127.0.1.1): icmp_req=1 ttl=64 time=0.079 ms
 - saturn:~$

我希望始终返回“saturn”。没有 DNS,这是在具有 DHCP 的本地 LAN 上。我读过一个问题关于 DNS但这里没有 PTR 记录可供配置。如何让所有 ping 都返回名称“saturn”?

谢谢。

答案1

您想要这个的理由充分吗?这是非标准行为。

Ping(和其他工具)根据 /etc/nsswitch.conf 查找 IP 解析结果。通常将“hosts”设置为“files dns”,这意味着它将首先查看 /etc/hosts,然后如果其中不包含任何有用信息,则使用 DNS。

答案2

对于要返回的本地机器saturn,请输入以下内容/etc/hosts

127.0.0.1       saturn localhost
127.0.1.1       saturn localhost
192.168.0.103   saturn

编辑

使用mDNS在 Linux 中,你需要avahi-daemon...我在家里运行这个...当我从我妻子的 ubuntu 笔记本电脑登录到我的 debian 服务器时发生了这种情况,我的笔记本电脑也在运行avahi-daemon..

[mpenning@tsunami ~]$ who
mpenning pts/0        2012-08-03 05:23 (jennykan-thinkpad-t61.local) <<<
mpenning pts/1        2012-08-02 01:16 (mpenning-vista.local)
[mpenning@tsunami ~]# ping jennykan-thinkpad-t61.local
PING jennykan-thinkpad-t61.local (172.16.1.74) 56(84) bytes of data.
64 bytes from jennykan-ThinkPad-T61.local (172.16.1.74): icmp_req=1 ttl=64 time=0.892 ms
64 bytes from jennykan-ThinkPad-T61.local (172.16.1.74): icmp_req=2 ttl=64 time=1.06 ms
^C
--- jennykan-thinkpad-t61.local ping statistics ---
2 packets transmitted, 2 received, 0% packet loss, time 1000ms
rtt min/avg/max/mdev = 0.892/0.979/1.067/0.092 ms
[mpenning@tsunami ~]$

这也假设您的网络将正确传递多播...如果您有一个 Vlan,那应该不是问题。

相关内容