pingまたは他のネットワーク通信を実行しても、resolv.confの検索ドメインはホストに追加されません。

pingまたは他のネットワーク通信を実行しても、resolv.confの検索ドメインはホストに追加されません。

複数の検索ドメインがDebian 8.8.0で機能しない理由を見つけようとしています。 /etc/resolv.conf に検索ドメインを追加すると、ドメインの 1 つにのみ適用されます。この場合、domain1.localは機能しますが、domain2.localは機能しません。

FQDNを手動で追加すると正常に動作します。これは、nslookup、ping、iperf、nmap、curl、wgetなど、すべてのCLIベースのツールに適用されます。以前、Debian が .local ドメインをサポートしていない場合を見たことがあります。 avahiを削除する必要がありましたが、私は最初の.localドメインが機能するように削除しました:domain1.local。

.localと他のドメインは複数あり、動作しますが、このDebianバージョンでは動作8.8.xしません。

user@host:~$ uname -a
Linux host 3.16.0-4-amd64 #1 SMP Debian 3.16.43-2+deb8u2 (2017-06-26)     x86_64 GNU/Linux


user@host:~$ cat /etc/resolv.conf

nameserver 192.16.1.110
### Standard Search domains:
search domain1.local domain2.local domain3.local domain4.local

検索ドメイン-domain1は自動的にdomain1.localを追加し、nslookup、pingなどと連携します。

user@host:~$ ping host1
PING host1.domain1.local (192.16.1.110) 56(84) bytes of data.
64 bytes from host1.domain1.local (192.16.1.110): icmp_seq=1 ttl=118    time=63.6 ms

user@host:~$ nslookup host1
Server:     192.16.1.110
Address:    192.16.1.110#53

Name:   host1.domain1.local
Address: 192.16.1.110

この例では、domain2 は Hosty に自動的に接続されません。nslookupDNSサーバーではホストが見つかりません/etc/resolv.fon(存在しますが)。ただし、-、、、、または他のCLIベースのIP通信を接続してFQDN実行すると機能します。nslookuppingcurlnmapwget

user@host:~$ nslookup hosty
;; Got SERVFAIL reply from 192.16.1.110, trying next server
;; Got SERVFAIL reply from 192.16.1.111, trying next server
Server:     192.16.1.110
Address:    192.16.1.110#53

** server can't find hosty: SERVFAIL

user@host:~$ ping hosty
ping: unknown host hosty

ホストの末尾にdomain2.localを追加すると、ping、nslookupなどを実行できます。

FQDNで使用するためのping、nslookup、およびカール

user@host:~$ ping hosty.domain2.local
PING hosty.domain2.local (192.16.48.20) 56(84) bytes of data.
64 bytes from hosty.domain2.local (192.16.48.20): icmp_seq=1 ttl=119 time=63.6 ms

nslookup with fqdn:

user@host:~$ nslookup hosty.domain2.local
Server:     192.16.1.110
Address:    192.16.1.110#53

Name:   hosty.domain2.local
Address: 192.16.48.20

user@host:~$ curl hosty.domain2.local
curl: (7) Failed to connect to hosty.domain2.local port 80: Connection refused

約7つの検索ドメインを使用するUbuntu 16.04ワークステーションに同じ構成があることに言及する価値があります。

新しい Debian 8.8.x サーバーには、複数の検索ドメインを処理する際に問題があります。 Ubuntuとは少し異なるDebianに必要ないくつかの簡単な追加設定が間違いなく欠落しています。

ベストアンサー1

わかりました - それは私の間違いでしたが、問題はこれです。パラメータdomain1.localの下にリストされています。domain/etc/resolv.conf

### Standard Search domains:
search domain1.local domain2.local
domain domain1.local # removed this line

nslookupでデバッグを実行し、nslookupを接続しようとしていることを確認したら、domain1.localそれを削除して問題が解決したようです。

user@host:~$ nslookup hosty
Server:     192.16.1.110
Address:    192.16.1.110#53

Name:   hosty.domain2.local
Address: 192.16.48.20

私は愚かなことをしていますが、他の人が同じ間違いを犯した場合に備えて、これが役に立ちます。

おすすめ記事