OSXコンピューターでのホスト名ルックアップに問題があります。 Appleの HK347 ドキュメントによると、v10.6については次のように述べています。
ローカルに加えてラベルが1つだけ含まれるホスト名(「My-Computer.local」など)は、デフォルトでマルチキャストDNS(Bonjour)を使用して解決されます。ローカルに加えて2つ以上のラベルを含むホスト名(「server.domain.local」など)は、デフォルトでDNSサーバーを使用して解決されます。
これは私のテストとしては真実ではありません。ローカルコンピューターでリモートポートへの接続を開こうとすると、次のようになります。
telnet example.domain.local 22
次に、A
およびAAAA
ルックアップの横にあるマルチキャストDNSを使用してIPアドレスをルックアップします。これにより、ルックアップごとに2秒のルックアップタイムアウトが発生します。たくさんあります!
IPv4のみを試してみると、マルチキャストクエリを使用せず、単純なA
クエリだけを取得します。
telnet -4 example.domain.local 22
IPv6のみで試してみると:
telnet -6 example.domain.local 22
次に、マルチキャストDNSおよびAAAA
で再度ルックアップし、2秒のタイムアウト遅延が再び発生します。
/etc/resolver/domain.local
と/etc/resolver/local.1
へのリゾルバーエントリを作成しようとしましたが、どれも機能していませんでした。
「ローカルへの2つ以上のラベル追加」ドメインに対してこのマルチキャストルックアップを無効にする方法、または選択したサブドメイン(domain.local)に対して単に無効にする方法はありますか?
ありがとうございました!
アップデート#1
scutil --dns
コマンドを@mralexgrayに感謝します。これで、リストに自分のドメインが表示されますが、順序が遅れています。
DNS configuration
resolver #1
domain : adverticum.lan
nameserver[0] : 192.168.1.1
order : 200000
resolver #2
domain : local
options : mdns
timeout : 2
order : 300000
resolver #3
domain : 254.169.in-addr.arpa
options : mdns
timeout : 2
order : 300200
resolver #4
domain : 8.e.f.ip6.arpa
options : mdns
timeout : 2
order : 300400
resolver #5
domain : 9.e.f.ip6.arpa
options : mdns
timeout : 2
order : 300600
resolver #6
domain : a.e.f.ip6.arpa
options : mdns
timeout : 2
order : 300800
resolver #7
domain : b.e.f.ip6.arpa
options : mdns
timeout : 2
order : 301000
resolver #8
domain : domain.local
nameserver[0] : 192.168.1.1
order : 200001
resolver #8
を位置#2に移動できればうまくいくかもしれません。
アップデート#2
192.168.1.1
上のローカルDNSサーバーがdomain.local
要求に応答し、mDNS(resolver #2
)の前にあるため、おそらく機能しません。
アップデート#3
/System/Library/SystemConfiguration/IPMonitor.bundle/Contents/Info.plist
ファイルのmDNSタイムアウトを減らすことができます。これにより、ルックアップが少し高速化されますが、これは解決策ではありません。
/etc/hosts
ファイルで名前を定義してみましたか?
10.0.1.1 ns1 ns1.local
10.0.1.200 www www.local
2001:470:20::9999 www ns1 www.example.net ns1.example.net
ローカルサブネット上で動作している他のDNSサービスは何ですか?ローカルDNSを明示的に提供することで、多くの問題を解決できます。非常に簡単に DNSMasq を使用します。これは、心からお勧めします。
また、dscacheutil -flushcache
↩または適切なoleSudo killall mDNSResponder
↩で物事をフラッシュする必要がある場合もあります。極端な場合、私はお勧めしませんが、mDNSResponder(Bonjourなど)をまとめて無効にすることもできます↝
launchctl unload -w /System/Library/LaunchDaemons/com.Apple.mDNSResponderHelper.plist
launchctl unload -w /System/Library/LaunchDaemons/com.Apple.mDNSResponder.plist
10.5以降のシステムは、configdによって義務付けられた、かなり紛らわしい一連のディレクティブを介してDNS解決を提供します。これは、古い「システムキッカー」の相続人です。ステータスを取得するには↝scutil --dns
↩これは、↯などのDNS解決のシステム順序を示します
DNS構成
リゾルバ#1ドメイン:example.net検索ドメイン[0]:example.netネームサーバー[0]:127.0.0.1順序:200000
リゾルバ#2ドメイン:ローカルオプション:mdnsタイムアウト:2オーダー:300000
リゾルバ#3ドメイン:254.169.in-addr.arpaオプション:mdnsタイムアウト:2オーダー:300200
リゾルバ#4ドメイン:8.e.f.ip6.arpaオプション:mdnsタイムアウト:2オーダー:300400
それでも問題が解決しない場合は、このリストが「理にかなっている」ことを確認してください。そこから進んでください...