web-dev-qa-db-ja.com

ローカルホストにpingできません

localhostエイリアスに問題があります。動作しません。基本的に、どのプログラムもlocalhost127.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

そして、localhostはgetent hostsに表示されます。また、/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
Gabriel

原因が見つかりました。/etc/hostsファイルのアクセス許可が正しくありませんでした。

644に変更され、機能します。

1
wtan

まず、ping 127.0.0.1ping ::1はどちらも正常に機能すると思います(または、少なくとも1つは機能します)。

次に、ping gabriel-notebookping ip6-localhostを試して、ぶら下がっている果物を除外します。

あなたの構成で作ることができるいくつかの落とし穴がありますが、これを説明するものは何もありません。たとえば、多くの人がローカルホストのエイリアスとしてローカルマシンの名前を付けることに反対していますが、これはラップトップのように見えるので、おそらくそれが必要です。そして、nsswich.confファイルのhosts行は、myhostnameモジュールが正しく機能しないように見えますが、それはあなたが戦っている問題ではありません。

怪しげに見える唯一のことは、getentが127.0.0.1が予想されるip4エイリアスとip6エイリアスの両方にマップされていることを示していることです。これにより、hostsまたはnsswitch.confファイル(hdで確認できます)のファンキーな空白、またはmymachinesモジュールがファンキーな処理を行っていることが疑われます。 getent hosts localhostで確認します。

他のすべてがうまくいくように見えるので、アルミホイルビーニーに手を伸ばして、これがルートキットであるかどうか、そして今まで気づかなかった場合はよくできたキットであるかどうかを尋ねる時が来ました、なぜ彼らは名前解決で失敗するのですか?

0
hildred