- 締切済み
複数LANポート設定で不可解な動きをします。
社内LAN環境においてWindows Server 2008でDBサーバをセットアップしています。 このサーバのネット設定を少々いじっていたら自分には理解できない動きをしました。 後学のためにこの動きの理由を教えていただきたいと思います。あるいはネットワーク上あり得ない動きをしているのか。 まず、ネットワーク環境が3つあります。 NET1)10.107.200.0/24 ゲートウェイ 10.107.200.1 NET2)10.107.140.0/24 ゲートウェイ 10.107.140.1 NET3)10.107.130.0/24 ゲートウェイ 10.107.130.1 この3本のネットワークは同じルータに接続されています。 サーバには以下のインタフェースを設定しました。 IF1:IPアドレス10.107.200.70 サブネットマスク255.255.255.0 ゲートウェイ10.107.200.1 IF2:IPアドレス10.107.140.70 サブネットマスク255.255.255.0 ゲートウェイ設定なし それとは別にNET3上にPCが一台あります。これのネット設定は次のようになっています。 IPアドレス10.107.130.110 サブネットマスク255.255.255.0 ゲートウェイ 10.107.130.1 この状態でPCからサーバのIF1とIF2にpingを発信してみました。 IF1からはレスポンスがありました。 しかし、当然、サーバのIF2にはゲートウェイ設定されていないので、レスポンスが帰ってくる事はありませんでした。 では、サーバのルーティング設定をいじったらどうなるかを試してみました。 route add 10.107.130.0 MASK 255.255.255.0 10.107.140.1 IF 10.107.140.70 ちなみにメトリックを設定しなかったので、デフォルトゲートウェイのメトリックは266。 上記で追加したルーティングのメトリックは11になりました。 これでサーバは、 net3への送信に対してIF2を用いて送信し、 それ以外への送信にはIF1を用いるはずです。 しかしながらちょっと実験してみたら、そのようには動作しませんでした。 1)PCからサーバのIF2のIPに対して共有フォルダアクセスを試みました。 正常にアクセスできファイル作成もできました。 NET2上にてパケットキャプチャをした結果、サーバからのSYN=1,ACK=1が確認でき、 コネクション確立されたのも確認できました。 2)そのあと、サーバの管理ツールからPC3のファイル共有セションを削除。PC3は再起動。 これでファイル共有のセションは切れたはず。 3)PCからサーバのIF1のIPに対して共有フォルダアクセスを試みました。 正常にアクセスできファイル作成もできました。 NET1上ではパケットキャプチャできる環境がありませんでしたが、NET2上でのキャプチャ ではサーバからの信号はありませんでしたので、NET1を通じてコネクション確立したと 思われます。 ルーティング設定でNET3宛先にはIF2を使うはずなのに、どうしてIF1で接続できたのでしょうか? 回答よろしくお願いいたします。 ちなみにルーティングテーブルを表示させたら以下の通り ------------------ IPv4 ルート テーブル =========================================================================== アクティブ ルート: ネットワーク宛先 ネットマスク ゲートウェイ インターフェイス メトリック 0.0.0.0 0.0.0.0 10.107.200.1 10.107.200.70 266 10.107.130.0 255.255.255.0 10.107.140.1 10.107.140.70 11 10.107.140.0 255.255.255.0 リンク上 10.107.140.70 266 10.107.140.70 255.255.255.255 リンク上 10.107.140.70 266 10.107.140.255 255.255.255.255 リンク上 10.107.140.70 266 10.107.200.0 255.255.255.0 リンク上 10.107.200.70 266 10.107.200.70 255.255.255.255 リンク上 10.107.200.70 266 10.107.200.255 255.255.255.255 リンク上 10.107.200.70 266 127.0.0.0 255.0.0.0 リンク上 127.0.0.1 306 127.0.0.1 255.255.255.255 リンク上 127.0.0.1 306 127.255.255.255 255.255.255.255 リンク上 127.0.0.1 306 224.0.0.0 240.0.0.0 リンク上 127.0.0.1 306 224.0.0.0 240.0.0.0 リンク上 10.107.201.70 266 224.0.0.0 240.0.0.0 リンク上 10.107.140.70 266 255.255.255.255 255.255.255.255 リンク上 127.0.0.1 306 255.255.255.255 255.255.255.255 リンク上 10.107.200.70 266 255.255.255.255 255.255.255.255 リンク上 10.107.140.70 266 =========================================================================== 固定ルート: ネットワーク アドレス ネットマスク ゲートウェイ アドレス メトリック 0.0.0.0 0.0.0.0 10.107.200.1 既定 ===========================================================================
- みんなの回答 (3)
- 専門家の回答
みんなの回答
- gamera4500
- ベストアンサー率62% (44/70)
No1です 1.route Addコマンドは 1)ーpオプションが必要です。-pをつけないと再起動した場合STATIC ROUTEが消えます (投入したROUTEコマンドがなくなります)※重要 route add -p <以下同じ> 2)NextHop(ゲートウェイ)のカキコの内容で、コマンドはokです 2.本件、色々とはありますが、まずは下記の内容でも、ご一読される といいかもです。(DefaultGateway1個方式です。) http://www.atmarkit.co.jp/fwin2k/win2ktips/262gateway/gateway.html 3.LANカードが2枚ある場合 1)片方が壊れても、もう片方で運転できる 2)片方が壊れた場合、通信できなくなる場所が発生する という考慮が必要な場合(大切な通信の場合)があります。 壊れても、朝行って直せばいいーやなんて場合もありますし、 趣味・設定者の性格もありますでしょう。
- gamera4500
- ベストアンサー率62% (44/70)
No1です レス頂いていますので、再度レスします。 IF2にnext-hopを設定するという意味ががわかっていません。すみません。 >Next-Hop(この場合Default=Gateway) 私の記述が、よくなかったかもしれませんが、NextHopは 隣接するルータのIPアドレスです。 通常ROUTE ADDコマンドを使用する場合、どのルータに創出するか 記述するのが普通です。 追加で説明しますと、デフォルトゲートウェイはNextHop(ルータ)の 代表(正確に表現すると、行き先が不明な場合利用するNextHop)です。 通常、NW上に複数ルータが無いので意識する必要は無いのですが、 複雑なNWでは、ルータが複数存在する場合があります。 その際、ROUTE ADDコマンドで追加した、IPアドレスの通信に利用 するのがNextHopもしくはDefaultGatewayです。 で、この場合、利用者さんの打ち込んだコマンドはIPアドレスだけですので NextHopはコントロールパネルで設定したデフォルトゲートウェイです。 ですので、完全には誤りでは無いです。趣味の範囲です。 Windowsの複数LANカード問題なんですが、(インプリ不明の部分) Server->ROUTER->クライアント の方向の通信の場合、ServerはNIC1かNIC2の どちらかから創出していいかわかりません (それを記述するのが、装置に1個のはずのデフォルトゲートウェイです) 質問者さんは 1)デフォルトゲートウェイは1個 2)ROUTE ADDコマンドでクライアントのIPアドレスのみ を登録しましたので、 NIC2の対処ではありますが、NIC1のデフォルトゲートウェイ が使用される可能性(というより仕様)があります。 詳しく説明はできませんので、以上とさせていただきますが、 アドバイスを2個 1.面倒だから、サーバは1個ではなく、アプリ連動しているサーバが2台 (IPが2個)あると割り切って、考えるのを止める。 2.LANカード複数枚構成は 1)NIC1でのみ通信するシステムとなってしまう (NIC1がダウンして初めてNIC2を利用する) 2)NIC1、NIC2の両方を普段から使用している で2-2)は ・ある経路はNIC1、ある経路はNIC2となっている ・NIC1、NIC2の両方を区別なく使用する となり、NIC1、NIC2の両方を区別なく、使用する場合 最大の通信パフォーマンスを引き出せます (いわゆるロードバランスです) それでは
お礼
続いての回答ありがとうございます。 next hopの意味はわかりました。それを踏まえて、コマンドにも誤りがなかったとのだと思いました。 windowsのコマンドではgwをつけなくても良いのですが、下記コマンド中の 10.107.140.1がnext hopという解釈でいいのですよね? route add 10.107.130.0 MASK 255.255.255.0 10.107.140.1 IF 10.107.140.70 もしも間違っていればご指摘いただければ幸いです。 2-2)については、まだ正直納得いかない部分がありますので、申し訳ございませんが他の回答を待ちたいと思います。
- gamera4500
- ベストアンサー率62% (44/70)
こんちは 長いので全部読んでいませんが IF2にSTATIC ROUTEを定義していますが、Default-GateWayは設定していません。 本件、ここの部分が問題の出発点で、 普通2個LANを使用するならば2個Default-GateWayを定義する が(Windowsワールドのww)基本と思います 細かいことは、説明しませんが、文章の前半の設定の IF2にDefaultーGgatewayが無い との事ですので、まずはIF2にDafault-Gateわyを設定した場合を 考察して下さい。 また設定するとトラブルなしに稼動することと思います そのほかのアドバイスとして アドバイス1 StaticーrouteとNext-Hop(この場合Default=Gateway)はセットで設定するのが 普通です、IF2側にStatic-Routeは設定して、Next-Hopを設定していない のは一般的にまずい(設定ミスと言えます) アドバイス2 UNIXやRouterではDefaultGate-Wayは、装置に1個です。これが本来のデフォルト ゲートウェイです。 質問者さんの設定IF2にデフォルトゲートウェイを設定しなかったのも この世界の方式(これは正しい)を考慮してとの事です。 とおーーころが!なんとMSでは、IF毎に定義できます。 とっても不思議、インプリ不明です。 行き先不明の電文を送出するときに、IF1とIF2のどちら側から電文が出るか 不明です。 こういうのは、止めてもらいたいですね。 質問者さんの、質問の出発点はココにあるのですよねーー
お礼
回答ありがとうございます。 >質問者さんの、質問の出発点はココにあるのですよねーー まったくその通りです。
補足
質問1) IF2にnext-hopを設定するという意味ががわかっていません。すみません。 >Next-Hop(この場合Default=Gateway) ということですが、今回の場合のnext-hopは具体的には10.107.140.1でよいのでしょうか? また、今回のミスとはroute コマンドにおける設定ミスでしょうか?具体的に設定する方法が分からないので、合わせて説明いただけると幸いです。 質問2) >普通2個LANを使用するならば2個Default-GateWayを定義する が(Windowsワールドのww)基本と思います これについてはgoogleで「デフォルトゲートウェイが2つ」と検索すると、「(windowsでも)やってはだめ」とか失敗談とかのサイトをたくさん見つけます。@ITとか。 http://www.atmarkit.co.jp/fwin2k/win2ktips/262gateway/gateway.html ですので、まだ疑っています。 何か裏付けとかないですか? 何かの書籍にあったとか、どこそこのサイトに書かれていたとか。
お礼
たくさんの補足ありがとうございます。 参考にさせていただきます。
補足
URL・・・、私が記載したのと同じ・・・;;