localhost를 ping할 수 없습니다.

localhost를 ping할 수 없습니다.

별칭에 대한 질문이 있습니다 localhost. 이것은 작동하지 않습니다. 기본적으로 어떤 프로그램도 localhost이 문제를 해결할 수 없습니다 127.0.0.1. 별칭은 다음 위치에 있습니다 /etc/hosts.

[root@gabriel-notebook gpoesia]# cat /etc/hosts 
#
# /etc/hosts: static lookup table for host names
#
#<ip-address>   <hostname.domain.org>   <hostname>

127.0.0.1       localhost.localdomain   localhost       gabriel-notebook
::1             localhost ip6-localhost ip6-loopback

# End of file

또한 다음 myhostname에서 활성화합니다 /etc/nsswitch.conf.

[root@gabriel-notebook gpoesia]# cat /etc/nsswitch.conf 
# Begin /etc/nsswitch.conf

passwd: compat mymachines systemd
group: compat mymachines systemd
shadow: compat

publickey: files

hosts: files mymachines resolve [!UNAVAIL=return] dns myhostname
networks: files

protocols: files
services: files
ethers: files
rpc: files

netgroup: files

# End /etc/nsswitch.conf

getent hosts그리고 localhost 도 /etc/hostname설정되어 있습니다.

[root@gabriel-notebook gpoesia]# getent hosts
127.0.0.1       localhost.localdomain localhost gabriel-notebook
127.0.0.1       localhost ip6-localhost ip6-loopback
[root@gabriel-notebook gpoesia]# getent hosts gabriel-notebook
127.0.0.1       localhost.localdomain localhost gabriel-notebook
[root@gabriel-notebook gpoesia]# cat /etc/hostname 
gabriel-notebook
[root@gabriel-notebook gpoesia]# hostname
gabriel-notebook

그러나 ping localhost작동하지 않습니다.

[root@gabriel-notebook gpoesia]# ping localhost
ping: localhost: Name or service not known

가장 큰 어려움은 언제 이런 일이 일어나기 시작했는지 모른다는 것입니다. 예전에 작동했던 기억이 나지만 고장난 원인이 무엇인지 모르겠습니다. 인터넷 검색은 도움이되지 않았습니다. 나에게는 이해가 되지 않는 이유로(예: 손상된 파일, 구문 오류 /etc/hostname등) 동일한 문제를 겪고 있는 다른 사람을 발견했습니다.

어떤 아이디어가 있나요?

감사해요!

답변1

원인을 찾았습니다. /etc/hosts파일 권한이 올바르지 않습니다.

로 바뀌었고 644작동했습니다.

답변2

첫째, 나는 둘 다 잘 작동 ping 127.0.0.1한다고 가정합니다 ping ::1(또는 둘 중 적어도 하나는 작동합니다).

다음으로 나는 낮게 매달린 과일을 ping gabriel-notebook제거 하려고 노력합니다.ping ip6-localhost

구성에 몇 가지 문제가 있을 수 있지만 이를 설명할 수 있는 것은 없습니다. 예를 들어, 많은 사람들이 로컬 컴퓨터의 이름을 localhost의 별칭으로 사용하는 것을 반대하지만 이것은 랩톱처럼 보이므로 원할 수도 있습니다. nsswich.conf 파일의 호스트 줄은 myhostname 모듈이 제대로 작동하지 않는 것처럼 보이지만 이는 해결하려는 문제가 아닙니다.

의심스러워 보이는 유일한 점은 getent가 127.0.0.1이 예상되는 ip4 별칭과 ip6 별칭 모두에 매핑된다는 것을 보여준다는 것입니다. 이로 인해 호스트 또는 nsswitch.conf 파일에 이상한 간격이 있거나(검사를 사용할 수 있음 hd) mymachines 모듈이 이상한 작업을 수행하고 있는 것으로 의심됩니다. 확인하는데 활용하겠습니다 getent hosts localhost.

다른 모든 것이 괜찮아 보인다고 생각하면 이제 은박지 비니를 들고 이것이 루트 키트인지, 잘 만들어진 키트인지(지금까지 눈치 채지 못했다면) 왜 이름 확인을 엉망으로 만들까요?

관련 정보