注:これは自宅のコンピューターラボであり、ビジネス/運用環境ではありません。私はそれを壊して再び修正することをうれしく思いますので、どんな提案でも大歓迎です!
概要
この質問はかなり長くなっているため、この簡単な要約を追加しました。ルーティングテーブル、IP構成などの詳細については、以下をご覧ください。
コンピューターにいくつかのNICがあります。1つのNICは172.16.200.1 / 24です。172.16.200.2(ネットワーク上に存在するホスト)をpingしようとすると、応答が返されます。ここまでは順調ですね。
172.16.200.5(または存在しない他のホスト)に接続しようとすると、コンピューターはデフォルトルート(デフォルトゲートウェイ192.168.0.1経由で0.0.0.0)にフォールバックします。 ISPネットワークのルーティングループで失われるホームルーター。必要に応じて詳細を以下に示しますが、すでにこれに答えることができる教祖がいると思います...
私の質問は:
ネットワーク上のホストから応答がないときに、プライベートネットワークのデフォルトゲートウェイにフォールバックするコンピューターを停止するにはどうすればよいですか。これらのプライベートネットワークには、メトリックが低い明示的なルートが既にあります。
これをいくつかのマシン(Server 2008 R2、Windows 7、Hyper-V Server 2012 R2、Windows Server 2012)でテストしましたが、すべて同じように動作します。これはWindowsマシンの「通常の動作」であることを受け入れ始めていますが、停止できるかどうか興味があります。
Windows VMと同じ構成でUbuntu VMを作成しました。UbuntuVMはWindows VMのようにデフォルトのルートにフォールバックしません。この投稿の最後に、Ubuntu VMとWindows 8.1 VMのルーティングテーブルと結果を追加しました。
さらに詳しく
私はこの主題について広範囲に検索しましたが、私が見た最も近い質問はここにあります:ルーティングループ:TTLは転送中に期限切れになりましたが、残念なことに、問題を止める方法やコンピューターの動作を変更する方法には答えません。答えは、ルーティングの修正を示唆しています。ルーターを変更してプライベートIPアドレス宛のすべてをドロップする(またはハウスメイトのIPに転送する)ことはできますが、それでもコンピューターの動作は変わりません。(元の回答で参照された素晴らしいサブネット化ガイドも読みました。これは/server/49765/how-does-ipv4-subnetting-workで見つけることができます)
内部アダプターを使用して(短期間)失敗した後、たとえば、知っているホストにpingを実行しようとしたときに、コンピューターがインターネット経由でプライベートIPアドレスに接続しようとする理由を理解できませんネットワーク上に存在しない…
Pinging 172.16.200.32 with 32 bytes of data:
Reply from 172.16.200.1: Destination host unreachable.
Reply from 203.29.XXX.YY: TTL expired in transit.
Reply from 203.29.XXX.YY: TTL expired in transit.
Reply from 203.29.XXX.YY: TTL expired in transit.
Ping statistics for 172.16.200.32:
Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
しかし、存在するホストにpingを実行しても…
Pinging 172.16.200.2 with 32 bytes of data:
Reply from 172.16.200.2: bytes=32 time<1ms TTL=128
Reply from 172.16.200.2: bytes=32 time<1ms TTL=128
Reply from 172.16.200.2: bytes=32 time<1ms TTL=128
Reply from 172.16.200.2: bytes=32 time<1ms TTL=128
Ping statistics for 172.16.200.2:
Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
Minimum = 0ms, Maximum = 0ms, Average = 0ms
OK、これ172.16.200.1からの返信は、私のコンピュータは、応答が受信されなかったと言っている...しかし、その後、なぜそれがないとしても、私のインターネット接続を介して接続しようと?4つのNICがあり、そのうちの1つで172.16.200.0 / 24ネットワークに接続しています…
Ethernet adapter HyperV External (built in):
Connection-specific DNS Suffix . :
Link-local IPv6 Address . . . . . : fe80::582c:97
IPv4 Address. . . . . . . . . . . : 172.16.1.1
Subnet Mask . . . . . . . . . . . : 255.255.255.0
Default Gateway . . . . . . . . . :
Ethernet adapter Expansion-2 (middle) HomeNetwork:
Connection-specific DNS Suffix . : Home
IPv4 Address. . . . . . . . . . . : 192.168.0.117
Subnet Mask . . . . . . . . . . . : 255.255.255.0
Default Gateway . . . . . . . . . : 192.168.0.1
Ethernet adapter Expansion-3 (bottom) iSCSI-1 :
Connection-specific DNS Suffix . :
IPv4 Address. . . . . . . . . . . : 172.16.100.1
Subnet Mask . . . . . . . . . . . : 255.255.255.0
Default Gateway . . . . . . . . . :
Ethernet adapter Expansion-1 (top) iSCSI-2:
Connection-specific DNS Suffix . :
IPv4 Address. . . . . . . . . . . : 172.16.200.1
Subnet Mask . . . . . . . . . . . : 255.255.255.0
Default Gateway . . . . . . . . . :
そのため、この時点で、ルーティングテーブルを見るのは理にかなっています…
===========================================================================
Interface List
16...64 70 02 00 1f 03 ......Gigabit PCI Express Network Adapter #2
15...64 70 02 00 40 48 ......Gigabit PCI Express Network Adapter
23...00 24 1d 1d f8 35 ......TST Onboard
17...64 70 02 00 32 c1 ......Gigabit PCI Express Network Adapter #3
1...........................Software Loopback Interface 1
28...00 00 00 00 00 00 00 e0 Microsoft ISATAP Adapter
26...00 00 00 00 00 00 00 e0 Microsoft ISATAP Adapter #2
13...00 00 00 00 00 00 00 e0 Teredo Tunneling Pseudo-Interface
27...00 00 00 00 00 00 00 e0 Microsoft ISATAP Adapter #3
29...00 00 00 00 00 00 00 e0 Microsoft ISATAP Adapter #4
===========================================================================
IPv4 Route Table
===========================================================================
Active Routes:
Network Destination Netmask Gateway Interface Metric
0.0.0.0 0.0.0.0 192.168.0.1 192.168.0.117 410
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
172.16.1.0 255.255.255.0 On-link 172.16.1.1 266
172.16.1.1 255.255.255.255 On-link 172.16.1.1 261
172.16.1.255 255.255.255.255 On-link 172.16.1.1 261
172.16.100.0 255.255.255.0 On-link 172.16.100.1 266
172.16.100.1 255.255.255.255 On-link 172.16.100.1 266
172.16.100.255 255.255.255.255 On-link 172.16.100.1 266
172.16.200.0 255.255.255.0 On-link 172.16.200.1 266
172.16.200.1 255.255.255.255 On-link 172.16.200.1 266
172.16.200.255 255.255.255.255 On-link 172.16.200.1 266
192.168.0.0 255.255.255.0 On-link 192.168.0.117 266
192.168.0.117 255.255.255.255 On-link 192.168.0.117 266
192.168.0.255 255.255.255.255 On-link 192.168.0.117 266
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 192.168.0.117 266
224.0.0.0 240.0.0.0 On-link 172.16.100.1 266
224.0.0.0 240.0.0.0 On-link 172.16.200.1 266
224.0.0.0 240.0.0.0 On-link 172.16.1.1 261
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 192.168.0.117 266
255.255.255.255 255.255.255.255 On-link 172.16.100.1 266
255.255.255.255 255.255.255.255 On-link 172.16.200.1 266
255.255.255.255 255.255.255.255 On-link 172.16.1.1 261
===========================================================================
Persistent Routes:
None
最初に0.0.0.0ルートのメトリックが原因だと思った-元々は6だったので、動作を変更しない410に変更してみました。(ちなみに、私は以前にこのマシンのルーティングテーブルをめちゃくちゃにしたことはありませんでした)。次に、3つの同じネットワーク(172.16.1.0、172.16.100.0および172.16.200.0)にあるHyper-V 2012 R2マシンと比較しましたが、Hyper-Vマシンには0.0のメトリックが6あることに気付きました.0.0ルートなので、これは正常で正しいと思います…
次に、以下のように172.16.200.0を永続的なルートに変更しようとしましたが、まだ機能しませんでした。
===========================================================================
Persistent Routes:
Network Address Netmask Gateway Address Metric
172.16.200.0 255.255.255.0 172.16.1.1 1
===========================================================================
また、メトリックを増やすことも試みました(より低いほうが望ましいことはわかっていますが、念のためです)。もちろん、運はありません。
[ネットワーク接続]ウィンドウの[詳細設定]で、アダプターとバインドの順序で192.168.0.117アダプターが最も低いことを確認しました…
だから、少し頭を叩いた後、私は困惑しています。明らかに0.0.0.0ルートを削除すると停止しますが、もちろんインターネットも停止します…
172.16.200.0のホストに到達しようとするときに、マシンがデフォルトゲートウェイ192.168.0.1を通過しようとするのを停止するにはどうすればよいですか…
http://technet.microsoft.com/en-us/library/cc779122%28v=ws.10%29.aspx(「IPルーティングテーブル:TCP / IP」)は、「デフォルトルートは通常、ローカルサブネット上のルーターのデフォルトゲートウェイアドレスへのIPデータグラム(一致または明示的なローカルルートがない)。そのルートを使用すると、さらに明確になります!
ここでの答えは、Windowsの永続的なルートゲートウェイが利用できないため、デフォルトルートが使用されますはこれが通常の動作であることを示唆しています-永続的なルートが追加されると、可能であればそのルートを使用しようとしますが、失敗するとデフォルトルートにフォールバックします。確かに、セキュリティの問題は言うまでもなく、かなり深刻なトラフィックの問題を引き起こす可能性があります(プライベート情報がインターネットや少なくともISPのプライベートネットワークに流出する...)
追加情報:このサーバーは通常NPS / RRASを実行します-それを無効にし、削除しても何もしませんでした。さらに、真新しい2008 R2 VMを作成し、2つのNICを提供しました。1つは192.168.0.0ネットワーク上に、もう1つは172.16.200.0ネットワーク上にあり、同じことを行いました。これに少し時間を費やしました。
172.16.XXをすべて自分のコンピューターに転送するようにホームルーターを設定しましたが、これは回避策です...
不足しているものはありますか?おそらく明白な何か?私は不可能を求めていますか?
[更新#1および#2]
ルーターのすべての構成ビットを掘り下げましたが、プロキシARP要求を処理していないようです-表示できる設定もありません。
MSネットワークモニター3.4を使用して、ルーターがARP要求に応答しているかどうかをテストしましたが、応答していません。存在しないホストにpingを試みたときにARP要求が送信され、ARP応答を受信しなかったことがわかります。存在するホストにpingを実行すると、当然ARP応答が返されます。この時点で、ルーターがプロキシARP要求を処理していないと想定しても安全ですか?
ルーターのルーティングテーブルは次のとおりでした。
> route show
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
10.20.21.36 * 255.255.255.255 UH 0 0 0 ppp0
192.168.0.0 * 255.255.255.0 U 0 0 0 br0
default * 0.0.0.0 U 0 0 0 ppp0
以下のエントリを一時的なストップギャップの手段として以下に追加しました-貧弱な「失われた」パケットがISPに送られないようにします。
172.16.1.0 192.168.0.117 255.255.255.0 UG 1 0 0 br0
172.16.100.0 192.168.0.117 255.255.255.0 UG 1 0 0 br0
172.16.200.0 192.168.0.117 255.255.255.0 UG 1 0 0 br0
[更新#3-UbuntuおよびWin8.1 VMルーティングテーブルを追加]
わかりましたので、真新しいUbuntu VMと真新しいWindows 8.1 VMを作成しました。Ubuntu VMは0.0.0.0のルートにフォールバックしようとしませんが、Windows 8.1はフォールバックします。古いping-a-non-existant-hostを試し、172.16.1.1ルーター上のトラフィックを監視しました。Windows 8.1 VMからICMPリクエストを受信して送信しますが、Ubuntu VMからのICMPトラフィックを見ることはありません。
Ubuntu VMの表は次のとおりです。
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface MSS Window irtt
0.0.0.0 172.16.1.1 0.0.0.0 UG 0 0 0 eth0 0 0 0
169.254.0.0 0.0.0.0 255.255.0.0 U 1000 0 0 eth1 0 0 0
172.16.1.0 0.0.0.0 255.255.255.0 U 1 0 0 eth0 0 0 0
172.16.200.0 0.0.0.0 255.255.255.0 U 1 0 0 eth1 0 0 0
Windows 8.1の表は次のとおりです。
===========================================================================
Interface List
9...00 15 5d 01 4c 1c ......Microsoft Hyper-V Network Adapter #2
3...00 15 5d 01 4c 08 ......Microsoft Hyper-V Network Adapter
1...........................Software Loopback Interface 1
4...00 00 00 00 00 00 00 e0 Microsoft ISATAP Adapter
13...00 00 00 00 00 00 00 e0 Microsoft ISATAP Adapter #2
===========================================================================
IPv4 Route Table
===========================================================================
Active Routes:
Network Destination Netmask Gateway Interface Metric
0.0.0.0 0.0.0.0 172.16.1.1 172.16.1.101 5
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
172.16.1.0 255.255.255.0 On-link 172.16.1.101 261
172.16.1.101 255.255.255.255 On-link 172.16.1.101 261
172.16.1.255 255.255.255.255 On-link 172.16.1.101 261
172.16.200.0 255.255.255.0 On-link 172.16.200.1 261
172.16.200.1 255.255.255.255 On-link 172.16.200.1 261
172.16.200.255 255.255.255.255 On-link 172.16.200.1 261
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 172.16.1.101 261
224.0.0.0 240.0.0.0 On-link 172.16.200.1 261
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 172.16.1.101 261
255.255.255.255 255.255.255.255 On-link 172.16.200.1 261
===========================================================================
Persistent Routes:
None