Mac OS X Lionでの.local TLDの10秒の遅延


13

社内ネットワークはxxx.companyname.local、ローカルネットワーク上のすべてのサーバーに使用します。Macでこれらのサーバーのいずれかにアクセスするたびに、10秒の遅延が生じます。Lionが.localドメインを次の順序で解決するため、この遅延はDNSルックアップが原因であることがわかりました。

  1. /etc/hostsIPv6アドレスを確認します
  2. DNSサーバーでAAAAレコード(IPv6アドレス)を確認します
  3. AAAAレコードのMDNS(Bonjour)を介したチェック
  4. /etc/hostsIPv4アドレスを確認します
  5. DNSサーバーでAレコードを確認します(IPv4アドレス)
  6. AレコードのMDNSを確認します

問題は、IPv6ネットワークがないことです。xxx.companyname.localネットワーク上のすべてのサーバーにはIPv4アドレスのみがあり、DNSサーバーにはAレコードのみがあります。これは、ステップ5でアドレスが解決されることを意味します。これに関する問題は、ステップ3がタイムアウトするまでに10秒かかることです。Wiki、SVNサーバー、Kerberosサーバーなどに接続するたびに、10秒の遅延があります。

次のような行を追加して、Lionをだまして /etc/hosts

::FFFF:10.99.99.99 xxx.companyname.local

これを行うと、LionはドメインのIPv6アドレスがあると判断し、手順1の後に停止します。ただし、この回避策はDNSのすべての便利な機能を完全に回避します。何十もの内部ドメインのIPアドレスを手動で追跡したくありません!ホスト名の使用をやめてIPアドレスを入力することもできます!

だから:この検索順序を変更する方法を知っている人はいますか?または、とにかくIPv6ネットワークがないため、IPv6ルックアップを無効にしますか?


質問をありがとう-私はそれをMac DNS解決リファレンスとしてブックマークします;)
Alex

DNSサーバーがAAAA(あなたの言うところによると)Aクエリに回答するのにそれほど時間がかからない場合に、レコードの空のレコードセット回答を送信するのに10秒かかっている理由を判断しようとする方がはるかに良いでしょう同じドメイン名。あなたは問題がサーバーが壊れていることである古典的なRFC 4074地域にいるようです。また、スプリットホライズンDNSサービスを使用しない理由として、よく知られ、長い間議論されてきた理由の1つに出会ったことにも注意してくださいlocal.。それも修正する方が良いです。
JdeBP

1
ステップ2のDNSサーバーは、空のAAAAレコードを即座に返します。問題はステップ3-MDNS / Bonjour / Zeroconfクエリです。Lionは、ブロードキャスト後10秒間待機してからタイムアウトします。少しグーグルで調べたところ、使用するのlocal.は悪い考えだということをよく知っていますが、IT部門は、使用local.companyname.は完全にうまくいくと思い、私はそれについて何もできないと言いました。
ヤコブエッガー

IT部門の人々は、十分な情報を得ていません。これは、約半年間、ネットワーク管理サークルで「完全にうまく」いないことが非常に知られています。IT部門の人たちのネットワークに関する知識を21世紀に持ち込むことを奨励できます。企業のコンピューターが正常に動作しないように問題を整理することではないことを思い出させてください。☺
JdeBP

@JdeBPそして、それでも、Appleはそれを使用することをお勧めします... Microsoftもそれを使用しており、ベストプラクティスとして推奨していることに注意してください。だから...誰がそうではないと言うのですか?
基本的な

回答:


8

IT部門の悪用を阻止しlocal.ます。

前述したように、会社が所有していないドメイン名悪用することは、企業のサブドメインを作成できると想定すべきではなく、間違っているため、問題の半分です。会社のコンピューターにMacintosh(またはDNSSDを使用している他のもの)が含まれている場合、それlocal.がこの方法で自由に台無しにされるのはあなたのものであるとほとんど間違いなく考えないでください。

Macintoshをアップグレードします。

MacOS 10.4はxxx.companyname.local.、あなたが説明したとおりに扱うでしょう。しかし、これはオペレーティングシステムの以降のリビジョンで変更されました。MacOS 10.5は、2つのラベル名のみをマルチキャストDNSに渡します。などの3つのラベル名xxx.companyname.local.は、MDNSによって処理されません。MacOS 10.6はこれをさらに進め、DNSサーバーがlocal. ゾーンを持つように誤って設定されているかどうかを検出し、それに応じて動作しようとします。

少なくとも、プロキシDNSサーバーの現在のIPアドレスをリストする/etc/resolver/会社名.localファイルを含むようにMacintoshを構成する必要がありますsearch_order 1。ただし、Appleが言うように、これはDHCPによって割り当てられたDNSサーバーのIPアドレスが変更されるとうまく機能しません。

握り手に…

…これらは単純に次第に複雑になり、行き違いに対応できるようになりました。AppleのMarc Krochmalの言葉を引用すると、人々local.があなたの会社のやり方で虐待するとき、「常に何か問題がある」。以前ではないにしても、2002年以降(クイック検索でわかります)以来、間違っていることが知られています。ただやるな

参考文献


2
この情報はどれもLion(Mac OS X 10.7)でのDNS解決に関する私の問題に対処していません。さらに、/etc/resolver/companyname.localLionでは無視されているようです。
ヤコブエッガー

0

私はMacを知らないので本当に助けにはなりませんが、巧妙な回避策のアイデアを思いつきました:インターネットのどこかでセットアップ"somedomain.com DNAME companyname.local"すると、ステップ2でDNAMEをキャッチします次に、それはまだbonjourにフォールバックしますか、あるいはすでにDNSプロセスの途中にあるので、おそらくDNSに固執するでしょう。


ご希望の場合、私はあなたのためにDNAMEを作成するボランティアをすることができます:)
アレックス
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.