私の職場では、IT部門がDNSサーバーを管理しています。私の部門はウェブサイトとよく連携しており、ステージングサーバーにアクセスするには、特定のドメインをそれらのサーバーにマップする必要があります。個人的にはhostsファイルを編集するだけですが、チームはやや大きく、すべてのマシンにアクセスしてhostsファイルを毎回編集することはできません。
したがって、私の解決策は、単純なDNS転送サーバーを用意することです。 dnsmasqを使いたいです。会社のDNSドメインをcompany.comと呼び、ローカルDNSに使用するドメインをmydomain.comと呼びます。
現在、DNSサーバーを実行しており、mydomain.com
のサブドメインとしてargonath
を使用しています。現在、2台のマシンが接続されています。1台はpc115
というWindowsボックスで、もう1台はmithrandir
というLinuxワークステーションです。私の「subdns」は、company.com
のDNSに応答できないクエリを転送しますが、これはうまく機能します。 Linuxワークステーションは正しく機能しています(たとえば、ping pc115
は機能します)。
ただし、Windowsマシンでは、ping mithrandir
を実行できません。起こっているように見えるのは、Windowsがクエリに対して自動的にcompany.com
を追加することです。したがって、私のDNSは何も知らないmithrandir.company.com
を取得し、それをより大きなDNSに転送します。これがdnsmasqログファイルの関連部分です(172.17.14.19は会社のDNSであり、10.10.31.15は私のものです):
May 12 15:07:52 dnsmasq[11970]: query[A] mithrandir.company.com from 10.10.31.15
May 12 15:07:52 dnsmasq[11970]: forwarded mithrandir.company.com to 172.17.14.19
May 12 15:07:52 dnsmasq[11970]: reply mithrandir.company.com is NXDOMAIN-IPv4
May 12 15:07:52 dnsmasq[11970]: query[AAAA] mithrandir.company.com from 10.10.31.15
May 12 15:07:52 dnsmasq[11970]: forwarded mithrandir.company.com to 172.17.14.19
May 12 15:07:52 dnsmasq[11970]: reply mithrandir.company.com is NXDOMAIN-IPv6
May 12 15:07:52 dnsmasq[11970]: query[A] mithrandir.com from 10.10.31.15
May 12 15:07:52 dnsmasq[11970]: forwarded mithrandir.com to 172.17.14.19
May 12 15:07:52 dnsmasq[11970]: reply mithrandir.com is NXDOMAIN-IPv4
May 12 15:07:52 dnsmasq[11970]: query[AAAA] mithrandir.com from 10.10.31.15
May 12 15:07:52 dnsmasq[11970]: forwarded mithrandir.com to 172.17.14.19
May 12 15:07:52 dnsmasq[11970]: reply mithrandir.com is NXDOMAIN-IPv6
Windowsがmithrandir.company.com
について尋ねた後、失敗してmithrandir.com
を試行することがわかります。 DNSが解決方法を知っているmithrandir
だけを試すことはありません。
優先DNSサーバーを変更する以外は、Windowsマシンの設定をあまりいじることはできません。
この問題を回避する方法はありますか?私はそのドメインを所有しておらず、それとは何の関係もないので、DNSがcompany.com
のことを答えてほしくないのです。
あなたがする必要があるのは、Windows PC用に検索ドメインを設定することです。
実行しているWindowsのバージョンの詳細は提供していませんが、Windows 7の場合(恥知らずに このスーパーユーザーの回答 から盗まれました):
- コントロールパネル→ネットワークとインターネット→ネットワークと共有センターに移動します。
- 左側のアダプタ設定の変更をクリックします。
- ネットワークアダプタ(通常は「ローカルエリア接続」)を右クリックし、プロパティを選択します。
- インターネットプロトコルバージョン4(TCP/IPv4)を選択し、プロパティボタンをクリックします。
- Generalタブで、Advanced…ボタンをクリックします。
- このDNSサフィックスを追加リストに、
google.com
のように必要なドメインを追加します。
WindowsがADドメインにある場合、デフォルトで検索サフィックスとしてADドメイン名が追加されます。または、Craigが指摘したように独自の検索サフィックスを指定することもできます。とにかく、FQDNにpingを実行すると、常に機能するはずです。たとえば、「Host.yourSubDomain.yourDomain.com。」にpingを実行する場合は、設定したDNSサーバーによって常に解決される必要があります。上記のFQDNの末尾にある「ドット」は、これが完全なFQDNであることをリゾルバーに通知するため、末尾に「company.com」を追加せず、「Host.yourSubDomain.YouDomain.com」を検索しようとしないことに注意してください。 company.com」