DNSサフィックスで名前解決

ドメインとワークグループが混在している環境で、ドメインに属するサーバで動いているWebアプリケーションへ、ドメインに属するコンピュータからはアクセスできるのにワークグループからアクセスすると画面が出てこないことがあります。Webサーバのアクセスログには何もなく、ping, nslookupでWebサーバへの通信、名前解決に問題がなければDNSサフィックスを疑いましょう。

DNSサフィックスとはホスト名(コンピュータ名)だけでWindowsネットワーク上の名前解決をする設定です。通常DNSサーバがホスト(コンピュータ)を検索する場合は、ホスト名とドメイン名を組み合わせたFQDN名(完全修飾ドメイン名)で行われます。つまりFQDNでアクセスすれば接続できなかったWebアプリケーションにもおそらくつながるようになります。

もちろんドメインに属するコンピュータからFQDNでアクセスしてもつながります。つまりドメインに属するコンピュータにはワークグループのコンピュータにない何かが設定されていて、FQDNでなくホスト名だけでサーバを特定できるようになっているのです。それがDNSサフィックスの設定です。

具体的に言いますとクライアントがWindowsの場合

  • 「マイコンピュータ」を右クリックして「プロパティ」を選択などで「システムのプロパティ」画面を表示
  • 「コンピュータ名」タブの「変更」をクリック
  • 「コンピュータ名の変更」画面の「詳細」をクリック
  • 「このコンピュータのプライマリDNSサフィックス」にドメイン名を入力。

これでドメインに属するコンピュータからアクセスした時と同じように、Webサーバへホスト名だけでアクセスできるようになります。もしサブドメイン運用などされている場合は必須になるであろうと思います。というか自分が経験した問題の環境が、それぞれのアプリをサブドメインで運用していました。まあ、ドメインとワークグループの共存自体ダメだって話もあるんですが。