OS: hosts でDNS参照回避

バックアップサーバとの通信などの理由で同じAD上にいるサーバに対してセカンダリのセグメントで通信を行いたい場合の設定。hostsに書けば良いのは当たり前の話なんだけれど、ロングホストネームで通信を取りに行くケースが十分考えられるので、こんな風にしてみた。

コンピュータ名(ロング)
foo.hogehoge
プライマリIPアドレス
192.168.100.10
セカンダリIPアドレス
192.168.200.10

これでhostsを登録する場合はこんな感じ。ショートでは登録しない。また相互に通信する必要がある事が大半だし、行きと帰りの経路が一致しないのも気持ち悪いので相手側のサーバにも確りと書いて置くことが必要。

192.168.200.10	foo.hogehoge

こうするとpingで確認してみた場合もこんな感じになる。尚、登録サーバ相手にのみ 192.168.200 のネットワークで通信を行うので、それ以外のAD上のサーバには 192.168.100 のネットワークで通信する。

C:UsersAdministrator>ping foo.hogehoge

foo.hogehoge [192.168.200.10]に ping を送信しています 32 バイトの
データ:
192.168.200.10 からの応答: バイト数 =32 時間 <1ms TTL=128
192.168.200.10 からの応答: バイト数 =32 時間 <1ms TTL=128
192.168.200.10 からの応答: バイト数 =32 時間 <1ms TTL=128
192.168.200.10 からの応答: バイト数 =32 時間 <1ms TTL=128

192.168.200.10 の ping 統計:
    パケット数: 送信 = 4、受信 = 4、損失 = 0 (0% の損失)、
ラウンド トリップの概算時間 (ミリ秒):
    最小 = 0ms、最大 = 0ms、平均 = 0ms

C:UsersAdministrator>ping foo

foo.hogehoge [192.168.200.10]に ping を送信しています 32 バイトの
データ:
192.168.200.10 からの応答: バイト数 =32 時間 <1ms TTL=128
192.168.200.10 からの応答: バイト数 =32 時間 <1ms TTL=128
192.168.200.10 からの応答: バイト数 =32 時間 <1ms TTL=128
192.168.200.10 からの応答: バイト数 =32 時間 <1ms TTL=128

192.168.200.10 の ping 統計:
    パケット数: 送信 = 4、受信 = 4、損失 = 0 (0% の損失)、
ラウンド トリップの概算時間 (ミリ秒):
    最小 = 0ms、最大 = 0ms、平均 = 0ms

逆にショートの場合だけセカンダリを通すというのもアリだけれど、最近のMS系ソフトだとAD認証を使ってアプリケーション上での動作を承認したりするので、上のようなやり方の方が良いと思う。