내 서버의 호스트 이름 파일 내용은 다음과 같습니다.
# 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