고쳐 쓰다

고쳐 쓰다

내 서버의 호스트 이름 파일 내용은 다음과 같습니다.

# cat /etc/hostname
sub.mysite.com

그러나 내 pingCentOS 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/hostnameIP를 이름 매핑으로 확인하는 대신 NameService(s netns)를 사용하여 이러한 변환을 수행합니다. 그건 그렇고, /etc/hostname그것은 systemd의 일부입니다.

$ rpm -qf /etc/hostname
systemd-219-42.el7_4.10.x86_64

표시되는 짧은 이름은 sub이름 서비스를 통해 파일에서 가져온 것입니다. /etc/hosts다음을 사용하면 이를 찾는 strace방법을 확인할 수 있습니다 .pingsub

$ 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

인용하다

관련 정보