web-dev-qa-db-ja.com

pingまたはその他のネットワーク通信を実行するときに、resolv.confの検索ドメインがホストに追加されない

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

FQDNを手動で追加すると、正常に機能します。これは、すべてのCLIベースのツール(nslookup、ping、iperf、nmap、curl、wget ect)用です。これまでにDebianが.localドメインで機能しないのを見たことがあります。最初の.localドメインを機能させるためにすでに行ったavahiを削除する必要があります。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 ectで機能します。

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)に自動的に追加されません。それは/etc/resolv.fonのdnsサーバーからnslookupを持つホストを見つけません(それは存在します)。ただし、FQDNを追加してnslookuppingcurlnmapwgetまたは動作する他のCLIベースのIP通信。

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、またはその他を実行できます。

ping、nslookup&curlとfqdnの併用

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に必要ないくつかの単純な追加構成が欠落している必要があります。

2
Alex Tomko

OK-これは私の見落としでしたが、問題がありました。 domain1.localdomainパラメータの下に/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

かなりばかげていますが、誰かが同じ間違いを犯した場合に備えて、これが役立つかもしれません。

0
Alex Tomko

resolvconf manual から、dns-searchについて

Dns-nameserversオプションも使用でき、dns-nameserverとは異なり、スペースで区切って複数の引数を指定できます。 dns-searchに代わり、dns-domainオプションは非推奨になりました。

結果のスタンザは次の例のようになります。

iface eth0 inet static
    address 192.168.1.3
    netmask 255.255.255.0
    gateway 192.168.1.1
    dns-nameserver 192.168.1.254
    dns-nameserver 8.8.8.8
    dns-search foo.org bar.com

N.B .:resolvconfがインストールされた、またはインストールされようとしているマシンで、以前は静的な/etc/resolv.confファイルに依存していた

•その静的ファイル内のネームサーバー情報(つまり、ネームサーバー、ドメイン、検索、ソートリストの行に関する情報)は、先ほど説明したように、/ etc/network/interfaces(5)の適切なifaceスタンザに移行する必要があります。 。

免責事項:私は通常、Debianサーバーからネットワークマネージャー、resolvconf、systemdを削除します。

0
Rui F Ribeiro