私のサーバーのホスト名ファイルの内容は次のとおりです。
# cat /etc/hostname
sub.mysite.com
しかし、私のping
CentOS 7サーバーに次のものが表示された場合:
# ping sub.mysite.com
64 bytes from sub ...
でも:
# ping ns1.mysite.com
64 bytes from sub ...
pingを実行するときにサーバーに次の出力が表示されるようにするにはどうすればよいですか?
64 bytes from sub.mysite.com ...
修正する
私の顧客を例に挙げましょう。
user@host:~$ ping ns1.mysite.com
PING ns1.mysite.com (x.x.x.x) 56(84) bytes of data.
64 bytes from sub (x.x.x.x): icmp_seq=1 ttl=56 time=7.88 ms
64 bytes from sub (x.x.x.x): icmp_seq=2 ttl=56 time=5.86 ms
64 bytes from sub (x.x.x.x): icmp_seq=3 ttl=56 time=4.99 ms
64 bytes from sub (x.x.x.x): icmp_seq=4 ttl=56 time=4.88 ms
。代わりに、完全なホスト名(sub.mysite.com)が必要ですsub
。
答え1
ping
/etc/hostname
IPを名前マッピングとして解決するのではなく、NameService(s netns
)を使用してこれらの変換を実行します。ところで、/etc/hostname
それはsystemdの一部です。
$ rpm -qf /etc/hostname
systemd-219-42.el7_4.10.x86_64
表示される短い名前は、sub
ネームサービスを介してファイルからインポートされます。/etc/hosts
以下を使用して、それを見つけるstrace
方法を確認できます。ping
sub
$ strace -s 2000 ping -c1 www.google.com |& grep /etc/host
open("/etc/host.conf", O_RDONLY|O_CLOEXEC) = 4
open("/etc/hosts", O_RDONLY|O_CLOEXEC) = 4
open("/etc/hosts", O_RDONLY|O_CLOEXEC) = 4
ping
したがって、問題を解決する簡単な方法は、表示したいサーバー名を/etc/hosts
ファイルに入れることです。
はい
$ ping -c1 www.google.com
PING www.google.com (74.125.141.99) 56(84) bytes of data.
64 bytes from vl-in-f99.1e100.net (74.125.141.99): icmp_seq=1 ttl=63 time=109 ms
--- www.google.com ping statistics ---
1 packets transmitted, 1 received, 0% packet loss, time 0ms
rtt min/avg/max/mdev = 109.903/109.903/109.903/0.000 ms
Now if we were to add that IP, 74.125.141.103, to your `/etc/hosts` file we could manipulate `ping` into showing whatever we want for it:
次の項目に追加してください/etc/hosts
。
74.125.141.99 blah.blah.com
ここでテストを繰り返します。
$ ping -c1 www.google.com
PING www.google.com (74.125.141.99) 56(84) bytes of data.
64 bytes from blah.blah.com (74.125.141.99): icmp_seq=1 ttl=63 time=109 ms
--- www.google.com ping statistics ---
1 packets transmitted, 1 received, 0% packet loss, time 0ms
rtt min/avg/max/mdev = 109.886/109.886/109.886/0.000 ms
/etc/hostsの順序
/etc/hosts
ホストを追加する順序によっては、名前が表示されるように表示されることがあります。
たとえば、次のような場合/etc/hosts
:
74.125.141.99 blah blah.blah.com
ping
見えるように短い名前で表示されます。
$ ping -c1 www.google.com
PING www.google.com (74.125.141.99) 56(84) bytes of data.
64 bytes from blah (74.125.141.99): icmp_seq=1 ttl=63 time=108 ms
--- www.google.com ping statistics ---
1 packets transmitted, 1 received, 0% packet loss, time 0ms
rtt min/avg/max/mdev = 108.065/108.065/108.065/0.000 ms