PCに複数のデフォルトゲートウェイを設定できますか?


12

私は、PCが複数のネットワークアダプターを持ち、それぞれが異なるネットワーク識別子(IP、MACなど)を持つことができることを知っています。

私の質問は、特定のPCに複数のアクティブなデフォルトゲートウェイを設定できますか?もしそうなら、どのアダプターがどのパケットをどのパケットに使用するのか、PC(またはOSと言ったほうがよい)はどのように知っていますか?


キーワードが「デフォルト」で、IPゲートウェイと言った場合、状況は異なる可能性があります。
トニーロス

1
これを行う最良の方法は、デフォルトのいずれかに高いルートメトリックを設定することです。これは、WindowsとLinuxの両方で非常にうまく機能します。インターフェースがダウンするまで、メトリックの低いルートが
優先

1
複数のデフォルトゲートウェイで何を達成しようとしているのか、本当に知りたいです。負荷分散?? おそらく、より具体的な根本的な質問があるでしょう。
ポールアッカーマン

回答:


25

技術的にはい、実際にはいいえ。

キーは「デフォルト」という用語にあり、それがデフォルトです-私は地下鉄から注文したデフォルトのサンドイッチを持っています(チーズとハラペーニョのミートボールマリナラ)これは定期的に異なりますが、まだデフォルトですが、2つのデフォルトはありません。

したがって、ネットワークインターフェイスでも同じです。「ノルム」を定義し、「静的ルート」を介してそのノルムから離れたいときはいつでも指定します(お使いのOSの「ルート」コマンドを見てください)。

これがお役に立てば幸いです。


7
食品の類推のために+1。
トム・オコナー

1
+1ほとんどのOSは複数のネットワークビューをサポートできますが、これにより複数のデフォルトゲートウェイが可能になりますが、質問者が考えているのとほぼ同じ意味ではありません。
クリスS

AとBの2つのNICがあり、A経由でデフォルトゲートウェイを設定し、B経由で誰かと会話を開始するとどうなりますか?(この特定の状況について答えを書いたので、私は興味があります、そして今、私はそれを疑問視し始めています)

1
@ArjunShankarは、NIC Bを使用して送信します。単にそのルートを知っているからです。デフォルトルートは、宛先への直接ルートがない場合にのみ使用されます。
チョッパー3

ただし、接続していないネットワークからルーティングされたネットワークからパケットを受信すると(ルーティングされた)、宛先ネットワークがルーティングテーブルにないため、非対称の会話が発生することを指摘しておくと良いでしょう。応答はデフォルトゲートウェイに送られます。それがまっすぐなルートであれば、とにかく動作するはずですが、どこでもステートフルファイアウォールを通過する場合、あなたに腹を立てることがあります
SpacemanSpiff

18

いいえ、複数のアクティブなデフォルトゲートウェイを持つことはできません。

どのオペレーティングシステムでも、複数のデフォルトゲートウェイを設定できます(技術的には未指定アドレスルート、つまり0.0.0.0または::)。そのイベントでは、複数のパスを持つ任意のルート宛先に対して行うことを行います。

  • Preference値に基づいてアクティブなルートを選択します
  • 同じ設定を持つ複数の場合は、メトリックに基づいて1つを選択します
  • PreferenceとMetricの両方が同じ場合(静的ルートの場合のみ)、どちらを選択するかはオペレーティングシステムによって異なりますが、どちらかを選択してアクティブとしてマークします

システムが機能しなくなったことをシステムが検出するまでアクティブな選択を使用し(これはルーティングテーブルへのルートの挿入方法によって異なります)、別の使用可能なルートに切り替えます(再び、Preference、Metricに基づいて)。

また、新しいルートがより高いメトリックまたは優先度で導入された場合、最も優先度の高い、最短のメトリックに切り替わります。

ただし、特定の宛先へのアクティブルートは一度に1つ(またはゼロ)しか持てません。


注、件名はデフォルトに関するものであるため、より具体的なルートを意図的に省略しました。ルートの選択は、1)最も具体的な2)最高の優先度3)最短のメトリックの順に行われます。すべてが等しい場合、多かれ少なかれ任意です。
バハマ

いい答え、理にかなっている、短い
SpacemanSpiff

@bahamat 2つのデフォルトがあり、アクティブなデフォルトが目的地に到達できない場合。OSはすぐに2番目のOSに接続しようとしますか?
アーメドワス

@AhmedWas残念ながら、答えはスタック交換コメントに収まるよりも複雑です。それは本当に多くの異なる要因に依存しています。構成方法やネットワーク上の他のコンポーネントの動作に応じて、場合によっては可能ですが、そうでない場合もあります。
バハマ

@bahamatコメントありがとうございます。OSが2番目に利用可能なゲートウェイに接続しようとする簡単な例を挙げていただけますか?
アーメド・ワス

3

Windows(少なくともVista)では、同じインターフェース上に異なるメトリックを持つ複数のデフォルトルートがあれば問題ありません。低いメトリックのルーターがダウンすると、Windowsは次に高いメトリックのルートに自動的に切り替わります。同じメトリックのデフォルトルートが複数ある場合、Windowsは使用するものをランダムに選択します。

これにより、ルーターでフェールオーバーを構成せずに冗長ルーターを使用できます。

Linuxでは、これは機能しません。異なるメトリックを持つ複数のデフォルトルートを持つことができますが、現在、Linuxカーネルはメトリック値を無視します。最も低いメトリックのデフォルトルーターが消えると、トラフィックは流れません。


また、興味深いことに、複数の接続でデフォルトゲートウェイを設定できますが、バインド順序を選択できるネットワーク接続の下で詳細設定メニューを開くと、一番上のNICが最初に選択され、行を下る。単純なクリックでCLIを介してそのようなものをいじる人がどれだけいるかは、私にとっては面白いことです。
SpacemanSpiff

1
デフォルトルートはデフォルトゲートウェイとは異なります。この2つは異なるコンテキストで使用されます。
ジョンガーデニアーズ

@JPWデフォルトが2つあり、アクティブなデフォルトが目的地に到達できない場合。OSはすぐに2番目のOSに接続しようとしますか?
アーメド・ワス

3

デフォルトの他の経路のどれも一致しない場合、ゲートウェイは、経路を使用することです。したがって、その定義では、一度に1つしか存在できません。

ルーティングルールはより複雑になる可能性があるため、実際にはそうではありません。たとえば、最新バージョンのLinuxは、完全に独立した複数のルーティングテーブルの使用をサポートし、どのテーブルを参照するかをパケットごとに決定します。そのため、たとえば、通常のトラフィックに使用されるネットワーク構成が1つありますが、Webブラウザーにはまったく異なるルーティングテーブルがあるとします。または、特定のTOSビットが設定されたパケットにのみ使用される別のルーティングテーブルがあるかもしれません。しかし、それぞれには、その特定のルーティングテーブルのデフォルトルートを反映する独自のデフォルトゲートウェイがあります。

通常、ルーティングテーブルは、「ローカルインターフェイスへのローカルトラフィック、その他はすべてルーターへ」という単純なものです。しかし、より複雑なネットワーク設定を使用している場合は、思いつくネットワークシナリオに対処するためのツールが存在します。


これは受け入れられた答えであるべきです。
prosti

1

PCには1つ以上のデフォルトゲートウェイを設定できますが、静的IP構成では1つのアドレスのみを入力します。実際には、ネットワークの外に出るデフォルトゲートウェイはほとんどありません。フローティングアドレスと呼ばれるアドレスがあります。このアドレスは仮想アドレスであり、実際のものではありません。アドレスは、1つのネットワーク内の2つのルーター間で浮動するアドレスです。フローティングアドレスはPCに入力され、ワー​​クのスイッチに到達するとき/ルーターに入る前に、パスについての独自の結論を出し、2つ以上のデフォルトゲートウェイのいずれかを選択します。

どのように機能するかを示すのは困難です。ネットワークプロフェッショナルレベルのツールであり、使用時にネットワークで実行されるプロトコルはVRRPとHSRPです。シスコおよびジュニパーのプロトコル。


0

はい、できます。しかし、その意味は何ですか?

おそらく「反射モード」のようなものを探しているでしょう(これはSolaris 2.4.xで呼び出されたと思います)。おそらくここで質問の詳細を説明できます-現在の設定と目標は何ですか。

とにかく-私はあなたが潜在的に任意のクライアントからのトラフィックを受信できるネットワークインターフェースを備えたマルチホームサーバーを持っていると推測しています。今、あなたはトラフィックが入ったのと同じインターフェースを通して返事をしたい...

これは実行できますが、デフォルトゲートウェイの単純な手段では実行できません。


-2

Windowsマシンの場合:使用するツールはコマンドプロンプトにあります: "route" "route print"は現在のルーティングテーブルを表示します

アダプターごとに1つのデフォルトゲートウェイしか持てません。PCは効果的に1つのゲートウェイのみを使用します。NICバインディング順序ルーティングにリストされている最初のカードは、より具体的なルールを使用し、テーブルを介して機能するにつれてより汎用的になり、ルートテーブルを検索します。

アイデアについては、この記事を参照してください... Windows 7はwin2k以来あまり変わっていません。 http://support.microsoft.com/kb/140859


1
なぜ彼らが私に反対票を投じたのかを共有してもらえますか?私が提供した答えは、尋ねられた追加の質問のいくつかに答え始めます。
cwheeler33

-5

サーバー/ PCがマルチホームの場合、つまり2つの異なるネットワークの一部である場合、各ネットワークアダプターにデフォルトゲートウェイがあります。次に、ネットワークアダプターに優先順位を付けます。他の人が言ったように、デフォルトゲートウェイは1つだけですが、ネットワークアダプターごとにあります。


4
いや、いや、あなたは本当にないだろう-これは驚くほど不正解です
Chopper3

2
デフォルトルートと、まったく異なる動物であるデフォルトゲートウェイを混同しています。
ジョンガーデニアーズ
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.