ホストファイルは無視されるようです


18

ほぼ新鮮なUbuntuデスクトップボックスがあります。OSは2週間前にインストールされ、karmicリポジトリから更新されました。先週、DNSに問題はありませんでした。しかし、今週は何かが変わった。いつ、何を設定したか、設定を変更したかどうかもわかりません。

だから今、私はいくつかの本当に奇妙な状況があります。ログによると、名前解決は正常に機能するはずです。

/ etc / hosts

127.0.0.1   localhost test
127.0.1.1   desktop

/etc/host.conf

order hosts,bind
multi on

/etc/resolv.conf

# Generated by NetworkManager
search search servers obtained via DHCP
nameserver 192.168.0.3

/etc/nsswitch.conf

passwd:         compat
group:          compat
shadow:         compat

hosts:          files mdns4_minimal [NOTFOUND=return] dns mdns4
networks:       files

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

netgroup:       nis

しかし、実際にはそうではありません。

user @ test〜> pingテスト

PING localhost (127.0.0.1) 56(84) bytes of data.
[skip]

pingは大丈夫です。

user @ test〜>ホストテスト

test.mydomain.com has address xx.xxx.161.201

NetworkManagerがこの誤動作を引き起こす可能性があるのではないかと疑っていますが、どこからチェックを開始すればよいかわかりません。何か考え、提案?

回答:


20

この構成により、ほとんどのアプリケーションはからのエントリで問題なく動作します/etc/hosts

しかしhost、見ていません/etc/nsswitch.conf。以来、それは、ない事故により、設計によるものhost、具体的 DNS検索プログラム。 /etc/hostsはDNSではなく、(ほとんど)DNSができるに使用したものです。

同じことはdigandにも当てはまりnslookupます-それらもDNS固有です。


だから、あなたは言っている、hostユーティリティは使用しません/etc/hostsか?そして、私の場合、修正するものは何もありませんか?
-z4y4ts

うん、ほとんど-ここに見るものは何もありません:)
Alnitak

私は何を得ることはありませんすることはつまりhost、<従う、「通常の」名前-照会コマンドにするために使用>/etc/nsswitch.conf
mveroone

私はISCソース内の証拠を見つけることができません@Kwaio host今までやった
オリオン座ゼータ星

さて、私は異常なディストリビューションの実装を使用していた可能性があります、それから、私の悪い。
-mveroone

15

このhostコマンドは(digおよびとともにnslookupbindDNSユーティリティの一部です。DNSリゾルバーユーティリティとして、DNS解決のみを行います。

任意のlibnss駆動型データストアからエントリを取得する場合は、getentプログラムを使用できます。たとえば、ホストエントリを取得するには、次のように使用します。

getent hosts google.com

これは、「ファイル」がオプションの1つとしてliseされている場合を含め、hosts:in /etc/nsswitch.confで順番に設定された解決順序に従い/etc/hostsます。


getentコマンドを思い出させてくれてありがとう。
エマニュエル

2
私は、最近の使用または廃止された理由のgetent ahosts代わりに使用すべきであると信じています。私が正しく理解していれば、昔のUNIX Cプログラムがどのように機能していたかをエミュレートし、modermプログラムが機能する方法をエミュレートします。getent hostsgetent hostsgethostbyaddr()gethostbyname*()getent hostsgetent ahosts
ミッコランタライネン

0

私にとって、この問題は不正なファイル許可が原因で発生しました。rootのみが/ etc / hostsを読み取ることができます。ファイルは誰でも読み取り可能である必要があります。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.