web-dev-qa-db-ja.com

Windows Server 2008は、メトリックが低い永続ルートを無視します

10.100.20/24サブネット上に3台のWindowsWeb Server 2008SP2マシンがあります。同じサブネットへの発信トラフィックがハードウェア負荷分散デバイスを通過するように、永続的なルーティングルールを設定する必要があります。

Server 2003では、次のコマンドを使用して永続ルートを追加するのと同じくらい簡単です。

route add -p 10.100.20.0 mask 255.255.255.0 10.100.20.157

サーバー2008では、同じコマンドで同様の永続ルートが追加されますが、デフォルトのレコードよりもメトリックが低い場合でも、システムは基本的にそれを無視します。

route printからのServer2008の出力は次のとおりです。

IPv4 Route Table

Active Routes:
Network Destination        Netmask          Gateway       Interface  Metric

          0.0.0.0          0.0.0.0    10.100.20.157    10.100.20.178    276
      10.100.20.0    255.255.255.0         On-link     10.100.20.178    276
      10.100.20.0    255.255.255.0    10.100.20.157    10.100.20.178     21
    10.100.20.178  255.255.255.255         On-link     10.100.20.178    276
    10.100.20.179  255.255.255.255         On-link     10.100.20.178    276
    10.100.20.255  255.255.255.255         On-link     10.100.20.178    276
        127.0.0.0        255.0.0.0         On-link         127.0.0.1    306
        127.0.0.1  255.255.255.255         On-link         127.0.0.1    306
    127.255.255.255 255.255.255.255        On-link         127.0.0.1    306
        224.0.0.0        240.0.0.0         On-link         127.0.0.1    306
        224.0.0.0        240.0.0.0         On-link     10.100.20.178    276
    255.255.255.255 255.255.255.255        On-link         127.0.0.1    306
    255.255.255.255 255.255.255.255        On-link     10.100.20.178    276

Persistent Routes:
  Network Address          Netmask  Gateway Address  Metric

      10.100.20.0    255.255.255.0    10.100.20.157       1
          0.0.0.0          0.0.0.0    10.100.20.157  Default

この問題を説明するために、Server2008のtrace-routeからの出力を次に示します。

Tracing route to 10.100.20.1 over a maximum of 30 Hops

  1)    <1 ms    <1 ms    <1 ms  10.100.20.1

Trace complete.

ご覧のとおり、メトリックが21の低いルールは無視され、ルートは10.100.20/24サブネット上のマシンに直接送信されます。 10.100.20.1に進む前に、ルーティングは10.100.20.157を通過している必要があります。 Server 2003ではこれは正しく機能しますが、Server2008はより低いメトリックのルールを無視しているようです。デフォルトルートを手動で削除して、カスタムルーティングレコードが10.100.20.0の唯一のルートになるようにすると、負荷分散マシンを介して適切にルーティングされます。

私はマイクロソフトのテクニカルサポートと協力してきましたが、提案された解決策は、NICを設定して、すべてのデフォルトルーティングレコードを無視し、すべてのルーティングルールを永続ルートとして追加することです。手動で設定するのに問題があります。正しく機能するようにすべてのルールをアップしますが、Microsoftでそれを解決できます。

実際にServer2008にメトリックルールを順守させる方法がある場合、またはTCPスタックが初期化されてデフォルトルートが削除されるたびにイベントを処理するスクリプトを作成するか、レジストリを編集する方法がある場合TCPの初期化時にデフォルトルートを削除するには、これらのソリューションのいずれかが私の意見ではより良いでしょう。

4
K Craver

宛先IPが直接接続されたネットワーク上にある場合、Windowsは潜在的なルートを検索しません。

とても簡単です。

関連して、一部のVPNソフトウェアはこれをオーバーライドするため、VPNとローカルネットワークの両方が同じサブネットを持っている場合にVPNが機能します。

1
Chris S

10.100.20.0/24ネットワークが直接接続されている場合、サーバーはルートテーブルを無視し、メトリックに関係なくそのリンクを使用するだけだと思います。

1
user65237

VPNルーティングの問題で同様の(同一の?)問題が発生しました。 VPN接続の反対側には192.168.152.0/22サブネットがあるため、そのネットワークにアクセスするために、メトリックの低い永続ルートを追加しました。このルートは一貫して無視されました。 4つのクラスCサブネットすべてを永続ルートとして追加することで問題を解決しました。これは、デフォルトルートを無視しなくても、期待どおりに機能しました。

0
Harper Shelby

これは役に立ちますか? https://superuser.com/a/455968/253137

つまり、[ネットワークと共有センター]、[アダプター設定の変更]、[詳細設定]、[詳細設定]の順に変更し、アダプターの順序を変更します。

0
bers