備忘録的な

業務用

複数NIC所持サーバの名前解決動作について

■参考情報
DNSサーバーはなぜ必要なのか
http://www.atmarkit.co.jp/ait/articles/1408/07/news015.html

Active Directoryのトラブルの多くはDNS絡み”――。
これは、Active Directory管理者の間で古くからいわれてきたことである。

なぜ、Active Directoryでは名前解決サービスを提供する「DNS」(Domain Name System)サーバーが必要なのだろうか。その理由は、D
NSサーバーが保持する「SRVレコード」の存在にある。

SRVレコードは、組織内で利用するさまざまなサービスがどの場所で提供されているのか
(提供されているサービスの位置情報)を表すためのレコードである。
Active Directoryでは、ドメインコントローラーの場所を特定するためにSRVレコードが利用される
参考:http://www.atmarkit.co.jp/fnetwork/dnstips/042.html

言い方を変えると、クライアントコンピューターがドメインコントローラーにアクセスする際、
DNSサーバーのSRVレコードを参照できなければ、ドメインコントローラーを見つけることができないため、
アクセスできないということになる。
これが「Active Directoryで起こるトラブルの多くはDNS絡み」といわれる理由である。


Active DirectoryDNSサーバーを利用する最大の理由は、
クライアントがドメインコントローラーにアクセスするとき、
どこにドメインコントローラーがあるかを確認するためである

ドメインコントローラーはどこ?
(クライアント => DNSへ通信)

DNSサーバーからドメインコントローラーの場所を教えてもらおう
(DNS => クライアントへ返答)

③あった!ここにドメインコントローラーがいた
(クライアント => ドメインコントローラーへ通信)

Active Directoryでは、クライアントがドメインへ参加したり、サインインしたり、
ドメイン内の各サーバーを利用したりする際などに、ドメインコントローラーにアクセスする。

これらの通信が正しく行われるようにするために、クライアントはドメインコントローラーにアクセスする前に、最初にDNSサーバーに接続するようになっている。
そして、DNSサーバーに接続すると、SRVレコードを利用してドメインコントローラーの場所を特定している。

これは、ドメインコントローラーがデータベースをレプリケーション(複製)するために、
他のドメインコントローラーにアクセスする場合にも同じである。
参考:http://www.atmarkit.co.jp/ait/articles/1406/10/news030.html

■サイト内のドメインコントローラーを特定する

Active Directoryのクライアントは、必ず近くのドメインコントローラーにアクセスしようとする。
そして、近くのドメインコントローラーを見つける方法として、「サイト」を利用する。
クライアントが自分と同じサイト内にあるドメインコントローラーを見つけるときには、
やはりDNSサーバーのSRVレコードを利用する。実際に、DNSサーバーの中を見てみると、
SRVレコードがサイトに分かれて保存されていることが分かる。


"この接続のアドレスを DNS に登録する"

<参考情報>
http://www.atmarkit.co.jp/fwin2k/win2ktips/299addns/addns.html

DCでNIC2枚を使用する場合の注意事項を教えてください
http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=16383&forum=6

<参考情報>
接続のアドレスを DNS に登録しないように設定しても、ホストの A レコードが登録される
https://support.microsoft.com/en-us/kb/275554/ja
(2000対象)


↓↓↓↓ドメインコントローラーが2つNIC のパターン。クライアントは知らん。↓↓↓↓

<参考情報>
SE の雑記
ドメインコントローラーに NIC を 2 枚差していた時の DNS レコード
http://blog.engineer-memo.com/2011/05/22/%E3%83%89%E3%83%A1%E3%82%A4%E3%83%B3%E3
%82%B3%E3%83%B3%E3%83%88%E3%83%AD%E3%83%BC%E3%83%A9%E3%83%BC%E3%81%AB-nic-%E3%82
%92-2-%E6%9E%9A%E5%B7%AE%E3%81%97%E3%81%A6%E3%81%84%E3%81%9F%E6%99%82%E3%81%AE-d
n/

運用で表 LAN (サービス用) / 裏 LAN (バックアップ / 運用監視用) を作る時があるかと思いますが
ドメインコントローラー (DC) で NIC を 2 枚差していた時の小ネタについてまとめてみたいと思います。


ドメインコントローラーの DNS レコード
ドメインコントローラーの起動時 (正確には Netlogon サービスになると思いますが)
に登録される DNS のレコードは [C:WindowsSystem32Confignetlogon.dns] で確認をすることができます。
NIC を 2 枚差している場合は各 NIC の IP アドレスがこのファイルに記載されています。

通常、裏 LAN は IP アドレスを直接指定でアクセスすることが多く、
DNS 上にレコードは不要になることがあると思います。
# 同一ホストの A レコードが 2 レコードあるとちょいと面倒だったりしますよね。

裏 LAN NIC のネットワークの設定で、[この接続のアドレスを DNS に登録する] のチェックを外します。

チェックを外したら、[NetLogon] サービスを再起動して、[netlogon.dns] を確認すると、
裏 LAN の NIC の IP アドレスがコメント化された状態となります。

これで、[NetLogon] サービスを再起動しても裏 LAN で使用している NIC の IP は登録されなくなります。


DNS サーバーをインストールしている場合

ドメインコントローラーと DNS共存させているケースはかなり多いと思います。

DNS共存させている環境で、[この接続のアドレスを DNS に登録する] を無効にしていても
しばらくすると裏 LAN の NIC の IP アドレスが DNS に登録されています。
# DNS のサービスを再起動しても再登録されるはずです。

これですが、DNS で使用するインタフェースとして設定している IP アドレスは
DNS のサービスで自動的に登録されることが起因しているようです。

DNS の管理コンソールを開いて、サーバー名を右クリックしてプロパティをクリックします。

デフォルトの状態では [すべての IP アドレス] を使用するようになっていますので、
裏 LAN の IP アドレスでも DNS がりっすん状態になります。

[指定した IP アドレスのみ] を選択して、裏 LAN の IP アドレスを外すことで、
DNS のサービスを起動しても裏 LAN の IP アドレスが DNS に登録されないようになります。

コンピューター名や FQDN 名前解決をした際に裏 LAN の IP アドレスで解決されてしまう場合は
この辺をちょっと気を付けておいた方が良いかもしれないですね。

 

■Social に合致した情報があった!

<参考情報>
複数NICの時にActive DirectoryDNS情報に裏のIPアドレスが登録されてしまう。
https://social.technet.microsoft.com/Forums/ja-JP/5c12e357-9932-42b7-abed-f2cc28
545b54/nicactive-directorydnsip


■用語整理

DNSラウンドロビンDNS round robin 】
DNSラウンドロビンとは、インターネット上でドメイン名とIPアドレスを対応づけるDNSを応用して、
アクセスの多いサーバの負荷分散を行う手法。
一つのドメイン名に複数IPアドレスを割り当てて、問い合わせがあるたびに順番に答えることにより、
1台のコンピュータへアクセスが集中するのを防ぐ。

https://ja.wikipedia.org/wiki/DNS%E3%83%A9%E3%82%A6%E3%83%B3%E3%83%89%E3%83%AD%
E3%83%93%E3%83%B3

DNSラウンドロビン (DNS round robin)とは、一つのドメイン名に複数IPアドレスを割り当てる負荷分散技術の一つである。トラフィック負荷を複数
IPアドレスに振り分けることにより、例えばHTTPサーバに対するアクセスをほぼ同量ずつ複数のサーバマシンに分配することができる。これはBIND等DNSサーバのゾ
ーン設定により容易に実現できる負荷分散方式である。

後述するような問題点があることに加え、主にIPv6における宛先アドレス選択アルゴリズムとして定義された「RFC3484」では、DNSが同一サーバ名に対し複数のI
Pアドレスを持つ場合に「自分のアドレスに近いアドレスを優先的に選択する」ことを定めており[1]、Windows Vistaなどマイクロソフト製OSの一部や、最近
Linuxなどではこのルールに従いDNSラウンドロビンがデフォルトで無効にされている。


http://tech-sketch.jp/2013/02/dns-roundrobin.html

クラシックなDNSラウンドロビンの設定

古くからDNSラウンドロビンと呼ばれていたものは以下のような設定をします。

・ひとつのホスト名に対して複数のResource Record(Aレコード)を設定する
DNS問合せに対して、複数のResource Recordを応答する
DNS名前解決を行うごとに、応答する複数のResourceRecordの順序を変更する

サーバサイドで応答する順序を変えることでクライアント側が「一番最初のレコードを利用することが多い」という挙動を利用してラウンドロビンさせています。

 

https://support.microsoft.com/en-us/kb/272294/ja
アクティブ ディレクトリ通信マルチホーム ドメイン コント ローラーでは失敗します。

優先DNSサーバと代替DNSサーバの動作について
http://www.atmarkit.co.jp/fwin2k/win2ktips/241dnsservers/dnsservers.html

[Windows 2008]複数NIC所持サーバの名前解決動作について
http://qa.atmarkit.co.jp/q/4858

↓これ詳しいてか結論
http://www.sunvisor.net/win/uralan