3件のコメント

マルチホーム構成時の注意

今回はマルチホーム構成時の注意点についてです。マルチホームというのは要するにNICが2つ以上あって、複数のネットワークに足を出している状態のことです。結構な頻度でマルチホーム構成を選択し、やってはいけない構成でトラブルに遭遇するケースを見ています。しっかり抑えておきましょう。

デフォルトゲートウェイは1つだけ

まず、一番初めに理解してほしいのは「デフォルトゲートウェイを2つ以上設定してはいけない」ということです。よく理解していない人は多くのケースで2つNICがあったら2つゲートウェイを設定してしまうようです。

でも、ちょっとよく考えてみてください。デフォルトゲートウェイというのは、自分が所属していないネットワークに向かって通信するときにパケットを投げる相手ですよね?それが2つ設定されていたら、どっちに投げたらいいんでしょう?困ってしまいますよね?

どっちに投げてもきちんと相手まで届く構成であれば問題がおきないこともあるでしょうけれども、やはりこれはよくない構成です。場合によっては通信できないことになるでしょう。

  • デフォルトゲートウェイは1つだけ設定する(1つのNICだけで入力し、ほかのNICでは空白にしておく)
  • 必要な経路に関してはスタティックルートを記述する

このようにしておかなくてはいけません。

スタティックルートを記述

スタティックルートの記述・・・といってピンとこない方も多いかもしれませんね。基本的にNICが1つであれば必要ない設定ですから。でも2つ以上になったら、「このネットワークアドレスに向けての通信は、こっちの足からあのルーターに投げる」ということをしっかりと記述してあげる必要があります。

Windowsではこの設定は「route」コマンドで実施できます。経路の追加はroute addコマンドです。コマンドの説明は例のごとく@ITにお願いしちゃいます。

注意点としては、再起動しても消えないように設定するには-pオプションをつける必要があることです。route printコマンドで経路情報を表示した際に、きちんと追加した経路が「Persistent Routes」として表示されることを確認しておきましょう。そうでないと、うまくいったと思っていたら1月くらいたって再起動したらまたおかしくなったなんていうことになってしまいます。

DNSを2つ以上設定しない

またデフォルトゲートウェイの次に気をつけてたいのはDNSの設定です。特にInternet側とIntranet側なんていうようにNICが分かれていた場合、Internet側のNICにはインターネットの名前解決ができるDNSを、Intranet側のNICには社内のDNSを設定したくなる人も多いかと思います。

でも、よく考えてみてほしいのですが、両方に問い合わせるわけにはいきませんよね。もしも両方のDNSに同じドメインが存在したりしていたうえに異なるレコードが登録されているような場合には(これはありえないことではありません)、通信しようとするたびに名前解決の結果が異なるようなことにもなってしまいます。これはやはりだめです。

DNSに関してはどれが正解ということはないです。そのホストの必要に応じて、正しいDNSを参照させる必要があります。「両方のDNSを参照したい」と思ってしまうのなら、それはDNSの設計、構成が間違っている可能性があります。場合によってはhostsファイルを併用してもいいでしょう。

DNSへの登録に気をつける

マルチホームの場合にはDNSへの登録にも気をつけてください。特に何も考えないと、ホストについている2つ以上のIPアドレスをすべて登録して、ラウンドロビンになってしまいます。特にDCでこれをやってしまうとかなりクリティカルな障害にもつながってしまいますので、特に気をつけてください。

DCに関してはマルチホーム時のマスタブラウザの問題もあるのでそもそもマルチホームにしないほうが良いです。でも、それでもどうしてもDCをマルチホームにしたいのであれば、Aレコードの自動登録をやめさせる必要があります。DCはNetlogonサービスが定期的に自身のDCとして動作するためのレコードをDNSに定期的に登録に行くようになっているからです。このあたりの手順は以下のKBを参考にしてください。

その他まだまだありますが・・・

今回紹介したこと意外にもマルチホーム構成の時の注意点は色々あります。特にDMZとLANに足をだしていて、DMZ側のIPでサービスを提供しているようなときに、入力と出力で使うNICが異なるようになってしまったりとか・・・。2つ経路があるときに意図的に片方のネットワークを使わせようと思ってもうまくいかなかったりとか・・・。バックアップ専用のネットワークを作ろうとしたりするときとか・・・。

このあたりはちょっと複雑になりすぎるので、また機会を改めて解説させてもらおうと思います。とりあえず今回紹介した注意事項が基本中の基本ですので、まずはここから気をつけていってみていただければと思います。

参考URL

子供3人。家族優先。都内SIer勤務。Windows系中心のインフラよりの何でも屋。脱原発。 Microsoft MVP for Cloud and Datacenter Management.

3件のコメント

  1. fjtさん、いつもコメントありがとうございます。

    やっぱりマルチホーム構成でのトラブルって経験しますよね。参考情報もありがとうございます。

    このあたりって色々な要素が絡み合ってて複雑ですよね。1つ1つをきちんと理解していないと紐解けないんですが、結構適当にやっても一応なんとかなってしまうようなところもあり。

    ぼちぼちこのブログに書き加えていこうと思います。

  2. 「DNSへの登録に気をつける」に、DCでマルチホームはだめよと書いてありますね。
    すみません、酔っぱらった状態でiphoneから読んで投稿してしまいました。

    DNSに登録しないようにする為には、場合によっては2カ所で対処が必要となります。
    1.DCサーバのネットワークアダプタ>プロパティ>TCP/IPのプロパティ>詳細設定>DNSタブで、”この接続のアドレスをDNSに登録する”のチェックボックスを外す。(OSのデフォルトはON)
    2.DNSサーバの管理コンソールで、左ペインのサーバアイコンを右クリプロパティ>インターフェース>”指定した IP アドレスのみ” チェックボックスをON。登録したくないIPアドレスを除外して、ネットワークアドレスを登録。

    通常は1で登録回避できるけど、時々その設定をいれても登録されてしまう時があります。
    その場合には、2の設定もすることになります。

    自分の場合2003環境でも、上述の症状がでたので2の設定もしました。
    参考KB http://support.microsoft.com/kb/275554/ja

  3. マルチホーム環境は自分もトラブル経験あるよ。
    ドメインコントローラでのマルチホームはms非推奨だったりとか。
    あとNICの優先順位の設定なんかが、マルチホーム環境での注意点だったりします

    一歩踏み込むと、netbios 通信あたりが、ルーティングの概念がない分、マルチホーム環境での障害原因になるので、注意が必要です。
    (とくにnetbios over tcpip がデフォルト有効障害原因になったりしますので、開発者や管理者の想定しにくいポイントとして留意するとよいとおもいます。)

コメントを残す

メールアドレスが公開されることはありません。