私はこれを理解しようとしばらくの間サークルに行ってきました。私はWindowsネットワーク上にいくつかのUbuntuマシン(一部は仮想)を持っています。 Windowsマシンからは、Ubuntuマシンをping
またはnslookup
できますが、Ubuntuマシンが完全修飾DNS名を指定しない限り、その逆はできません。しかし、Ubuntu環境から資格サフィックスを取得できないようです。
例は何が起こっているかを明らかにします。 WindowsマシンがWin1
、UbuntuマシンUbu1
、およびネットワークサフィックスは.notlocalatall
。
On Win1:
$ echo %USERDNSDOMAINNAME%
notlocalatall
$ nslookup Ubu1
[...]
Name: Ubu1.notlocalatall
Address: 131.132.32.14
$ nslookup Ubu1.notlocalatall
[...]
Name: Ubu1.notlocalatall
Address: 131.132.32.14
$ ping Ubu1
[works normally, with 0% packet loss]
$ ping Ubu1.notlocalatall
[works normally, with 0% packet loss]
On Ubu1:
$ hostname -d
[blank]
$ nslookup Win1
[...]
** server can't find Win1: SERVFAIL
$ nslookup Win1.notlocalatall
[...]
Name: Win1.notlocalatall
Address: 131.132.32.167
$ ping Win1
ping: unknown Host Win1
$ ping Win1.notlocalatall
[works normally, with 0% packet loss]
ssh
の目的では、DNSサフィックスを指定する必要がある場合もありますが、コマンドまたはスクリプトの一部から取得する必要があります。
いいえ、解決策は編集しないことです/etc/hosts
、すべてがDHCPで実行されるため。
Ubu1
はUbuntu 12.04.5 LTSを実行しており、ネットワークコントロールパネルのオプション:IPv4パラメーターは「自動(DHCP)」に設定されています。
DHCPクライアントをドメイン検索に設定するようにDHCPサーバーを構成する必要があります
http://linux.die.net/man/5/dhcp-options
オプションdomain-search domain-list; domain-searchオプションは、完全修飾されていないドメイン名を見つけるためにクライアントが使用するドメイン名の「検索リスト」を指定します。このオプションと同じ目的でのdomain-nameオプションのこれまでの使用の違いは、このオプションがRFC1035圧縮ラベルでネットワーク上にエンコードされていることです。例えば:
オプションdomain-search "example.com"、 "sales.example.com"、 "eng.example.com";
このように、nslookupを実行すると、有効な応答が見つかるまで(またはすべてのドメインをループするまで)、指定されたすべてのドメインが試されます。
したがって、nslookup server1
DNSを照会しようとする場合