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(または2つのうちの少なくとも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

他のすべてが大丈夫だと思ったら、今シルバービーニーを持って、これがルートキットなのか、うまく作られたキットなのか(今まで気づかなかった場合)、なぜ名前解決をめちゃくちゃにしますか?

関連情報