Hinweis: Dies ist mein Heimcomputerlabor und keine Geschäfts- / Produktionsumgebung. Ich bin mehr als glücklich, es zu brechen und es wieder zu reparieren, also sind alle mögliche Vorschläge willkommen!
ZUSAMMENFASSUNG
Ich habe diese kurze Zusammenfassung hinzugefügt, da diese Frage ziemlich lang wird. Wenn Sie weitere Informationen zu Routingtabellen, IP-Konfigurationen usw. wünschen, sehen Sie unten nach.
Ich habe ein paar Netzwerkkarten an einem Computer. Ein NIC ist 172.16.200.1 / 24. Wenn ich versuche, 172.16.200.2 (einen im Netzwerk vorhandenen Host) zu pingen, erhalte ich eine Antwort. So weit, ist es gut.
Wenn ich versuche, eine Verbindung zu 172.16.200.5 (oder einem anderen Host, der nicht vorhanden ist) herzustellen, wird der Computer auf meine Standardroute (0.0.0.0 über mein Standard-Gateway 192.168.0.1) zurückgesetzt. Diese wird dann von gesendet mein Heimrouter, wo es dann in einer Routing-Schleife in meinem ISPs-Netzwerk verloren geht. Im Folgenden werden bei Bedarf weitere Details aufgeführt, aber ich vermute, dass es einen Guru gibt, der dies bereits beantworten kann ...
Meine Frage ist:
Wie verhindere ich, dass mein Computer auf das Standardgateway für ein privates Netzwerk zurückgreift , wenn von einem Host in diesem Netzwerk keine Antwort eingeht? Diese privaten Netzwerke haben bereits explizite Routen mit niedrigeren Metriken.
Ich habe dies auf einigen Computern getestet (Server 2008 R2, Windows 7, Hyper-V Server 2012 R2, Windows Server 2012) und sie verhalten sich alle gleich. Ich beginne zu akzeptieren, dass dies "normales Verhalten" für Windows-Computer ist, aber ich bin neugierig, ob es gestoppt werden kann.
Ich habe eine Ubuntu-VM mit der gleichen Konfiguration wie meine Windows-VMs erstellt. Die Ubuntu-VM greift nicht auf die Standardroute zurück, wie dies bei den Windows-VMs der Fall ist. Ich habe die Routing-Tabellen und Ergebnisse für die Ubuntu VM und Windows 8.1 VM am Ende dieses Beitrags hinzugefügt.
WEITERE DETAILS
Ich habe zu diesem Thema umfangreiche Suche gemacht und die nächste Frage , die ich gesehen habe , ist hier: Routing - Schleife: TTL abgelaufen im Transit , aber leider ist es nicht beantworten , wie man aufhören , das Problem oder das Verhalten auf dem Computer ändern. Die Antwort schlägt vor, das Routing zu korrigieren. Ich kann meinen Router so ändern, dass alles gelöscht wird, was für private IP-Adressen bestimmt ist (oder an die IPs meiner Mitbewohner weitergeleitet wird, hehehe), aber das ändert nichts am Verhalten meines Computers. (Ich habe auch die großartige Subnet-Anleitung gelesen, auf die in der ursprünglichen Antwort verwiesen wurde. Sie finden sie unter /server/49765/how-does-ipv4-subnetting-work. )
Ich habe Probleme zu verstehen, warum meine Computer versuchen, eine Verbindung zu privaten IP-Adressen über das Internet herzustellen, nachdem sie versucht haben, ihre internen Adapter (für einen kurzen Zeitraum) zu verwenden, was dann fehlgeschlagen ist - zum Beispiel beim Versuch, einen mir bekannten Host zu pingen existiert nicht in meinem Netzwerk ...
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),
Aber das Pingen eines existierenden Hosts funktioniert ...
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, in der Antwort vom 16.1.172.1 heißt es auf meinem Computer, dass keine Antwort eingegangen ist. Warum wird dann überhaupt versucht, eine Verbindung über meine Internetverbindung herzustellen? Ich habe 4 Netzwerkkarten und bin im 172.16.200.0 / 24-Netzwerk einer davon…
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 . . . . . . . . . :
An dieser Stelle wäre es also sinnvoll, sich die Routing-Tabelle anzuschauen.
===========================================================================
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
Ich dachte zuerst, die Metrik der 0.0.0.0-Route sei der Schuldige - ursprünglich war es 6, also habe ich versucht, sie auf 410 zu ändern, was das Verhalten nicht geändert hat. (Übrigens habe ich noch nie zuvor mit der Routing-Tabelle auf diesem Computer rumgespielt). Ich habe es dann mit einem Hyper-V 2012 R2-Computer verglichen, den ich in drei Netzwerken (172.16.1.0, 172.16.100.0 und 172.16.200.0) habe, und festgestellt, dass der Hyper-V-Computer auch eine Metrik von 6 für 0.0 hat .0.0 Route, also denke ich, das ist normal und korrekt ...
Ich habe dann versucht, die 172.16.200.0 so zu ändern, dass sie eine dauerhafte Route ist (siehe unten), aber es hat immer noch nicht funktioniert.
===========================================================================
Persistent Routes:
Network Address Netmask Gateway Address Metric
172.16.200.0 255.255.255.0 172.16.1.1 1
===========================================================================
Ich habe auch versucht, die Metrik zu erhöhen (ich weiß, dass eine niedrigere bevorzugt wird, aber nur für den Fall, wie?)… Natürlich kein Glück.
In den "Erweiterten Einstellungen" im Fenster "Netzwerkverbindungen" habe ich bestätigt, dass der Adapter 192.168.0.117 in der Reihenfolge "Adapter und Bindungen" der niedrigste ist.
Also, nachdem ich meinen Kopf ein bisschen angeschlagen habe, bin ich ratlos. Offensichtlich stoppt das Löschen der 0.0.0.0-Route sie, aber natürlich stoppt es auch mein Internet ...
Wie um alles in der Welt kann ich verhindern, dass mein Computer versucht, mein Standard-Gateway 192.168.0.1 zu passieren, wenn er versucht, einen Host am 172.16.200.0 zu erreichen?
http://technet.microsoft.com/en-us/library/cc779122%28v=ws.10%29.aspx ("Die IP-Routing-Tabelle: TCP / IP") scheint darauf hinzudeuten, dass "die Standardroute in der Regel eine IP-Datagramm (für das es keine passende oder explizite lokale Route gibt) zu einer Standard-Gateway-Adresse für einen Router im lokalen Subnetz. " Wie viel deutlicher kann ich mit dieser Route werden!
Die Antwort hier, dass das Windows-Gateway für beständige Routen nicht verfügbar ist, sodass die Standardroute verwendet wird, deutet darauf hin, dass dies ein normales Verhalten ist. Wenn eine beständige Route hinzugefügt wird, wird versucht, diese Route zu verwenden, wenn dies fehlschlägt, wird jedoch auf die Standardroute zurückgegriffen. Sicherlich könnte dies einige ziemlich ernsthafte Verkehrsprobleme aufwerfen, ganz zu schweigen von Sicherheitsproblemen (private Informationen, die ins Internet gelangen, oder zumindest die privaten Netzwerke Ihrer ISPs ...).
Einige zusätzliche Informationen: Auf diesem Server wird normalerweise NPS / RRAS ausgeführt - das Deaktivieren und sogar das Entfernen haben nichts bewirkt. Außerdem habe ich eine brandneue 2008 R2-VM erstellt, ihr zwei Netzwerkkarten gegeben, eine direkt im 192.168.0.0-Netzwerk und eine im 172.16.200.0-Netzwerk, und es hat das Gleiche getan ... Ich hoffe, Sie können mir sagen, dass ich es getan habe verbrachte ein bisschen Zeit damit.
Ich habe meinen Heimrouter so eingestellt, dass er alle 172.16.XX-Daten zurück an meinen eigenen Computer weiterleitet, aber das ist eine Problemumgehung.
Fehlt mir etwas? Vielleicht etwas Offensichtliches? Frage ich das Unmögliche?
[UPDATE 1 UND 2]
Ich habe jedes Konfigurationsbit auf meinem Router durchgearbeitet und es scheint keine Proxy-ARP-Anforderungen zu verarbeiten - es hat nicht einmal Einstellungen dafür, die ich sehen kann.
Ich habe MS Network Monitor 3.4 verwendet, um zu testen, ob ARP-Anfragen vom Router beantwortet werden und nicht. Ich kann sehen, dass die ARP-Anforderung gesendet wird, wenn ich versuche, einen nicht vorhandenen Host zu pingen, und keine ARP-Antworten erhalte. Wenn ich einen existierenden Host anpinge, erhalte ich natürlich eine ARP-Antwort. Ist es sicher anzunehmen, dass mein Router keine Proxy-ARP-Anforderungen verarbeitet?
Die Routing-Tabelle auf dem Router lautete wie folgt:
> 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
Ich habe die folgenden Einträge als vorübergehende Maßnahme hinzugefügt, um zu verhindern, dass meine "verlorenen" Pakete an meinen Internetdienstanbieter weitergeleitet werden:
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
[UPDATE # 3 - Routing-Tabellen für Ubuntu und Win8.1-VMs hinzugefügt]
OK, also habe ich eine brandneue Ubuntu-VM und eine brandneue Windows 8.1-VM erstellt. Die Ubuntu-VM versucht nicht, auf die Route 0.0.0.0 zurückzugreifen, aber Windows 8.1. Ich habe versucht, den alten Ping-a-nicht-existierenden Host und beobachtete den Verkehr auf dem 172.16.1.1-Router. Es empfängt die ICMP-Anforderungen von der Windows 8.1-VM und leitet sie weiter, sieht jedoch nie ICMP-Verkehr von der Ubuntu-VM.
Die Ubuntu VM-Tabelle ist unten:
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
Die Windows 8.1-Tabelle ist unten:
===========================================================================
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
Antworten:
Das Failback auf die Standardroute ist normal, da Vista dies im folgenden Artikel erläutert : Auswahl der Quell-IP-Adresse auf einem Windows-Computer mit mehreren Computern .
Schleifenproblem durch falsch konfigurierten Router, der Pakete über ein anderes Subnetz zurücksendet, anstatt sie fallen zu lassen.
quelle