Frage Was macht eine private IP-Adresse nicht routingfähig?


Ich verstehe, dass private Adressen wie 10.0.0.0/8,172.16.0.0/12 und 192.168.0.0/16 sind nicht routingfähig. Was genau hält diese Adressen davon ab, routingfähig zu sein? Implementieren ISPs ACLs, die verhindern, dass diese Netzwerke routen, oder ist es etwas höher?

Ist es auch IANA, die dieses Design erstellt hat?


19
2018-02-09 06:11


Ursprung


Gibt es eine implizite Frage "Ist es GARANTIERT, dass sie nicht öffentlich weitergeleitet werden, und leitet irgendjemand immer noch die Öffentlichkeit, die irrtümlich handelt?"? - rackandboneman
Was deine letzte Frage betrifft: die IETF definiert sie, damit IANA aus dem öffentlichen Adressraum ausgeschlossen wird. RFC1918 für IPv4 und RFC4193 für IPv6 - Lenniey
Natürlich sind sie routingfähig. Router nehmen eine Nachricht von Ihrer öffentlichen externen Adresse und leiten sie an eine interne private Adresse weiter. Empfehlen Sie, die Grundlagen der Netzwerkadressübersetzung nachzuschlagen. - Lakey
Lakey, sie sind im öffentlichen Web nicht routingfähig. Daher ist Nat erforderlich und wird verwendet, um IP-Adressen zu erhalten. Ich bin in einer Cisco-Klasse und mein Professor konnte diese Frage nicht beantworten, deshalb poste ich sie hier. - QuantumRads
Außerdem hätte ich klarstellen sollen, dass private Adressen in einem privaten Netzwerk, aber nicht in einem öffentlichen Netzwerk routbar sind. - QuantumRads


Antworten:


Private IP-Adressen sind routingfähig, wenn auch nicht öffentlich weitergeleitet. Grundsätzlich leitet ein Router eine private Adresse an ein privates / internes LAN statt an das Internet weiter.

Um meine Antwort zu erweitern: ein Router können Vermitteln Sie eine private Adresse über ihr Standardgateway an die öffentliche Seite. Das Paket wird jedoch während des Transports "verloren", weil andere Router es fallen lassen oder weil die TTL des Pakets 0 erreicht.

Zum Beispiel, werfen Sie einen Blick auf diese (teilweise verschleiert) traceroute -I -n 192.168.200.1:

[root@myhost ~]# traceroute -I -n 192.168.200.1
traceroute to 192.168.200.1 (192.168.200.1), 30 hops max, 60 byte packets
 1  x.x.x.x  0.851 ms  0.841 ms  0.818 ms
 2  6x.xx.xx.xx  0.791 ms  0.791 ms  0.849 ms
 3  15x.xx.xx.xx  1.350 ms  1.347 ms  1.373 ms
 4  15x.x.xx.xx  1.446 ms  1.435 ms  1.428 ms
 5  151.6.68.20  2.272 ms  2.266 ms  2.251 ms
 6  151.6.0.91  8.818 ms  8.256 ms  8.326 ms
 7  * * *
 8  * * *
 9  * * *
10  * * *
...
...
29  * * *
30  * * *

Wie Sie sehen können, das Paket ist über das Standardgateway des Geräts an das öffentliche Internet weitergeleitet. Es wird jedoch während des Transports fallengelassen und erreicht nie ein geeignetes Ziel.

Schließlich sind private IPs / Klassen (per definitionem) zwischen Kunden überlappt, also auf welche der Tausenden 192.168.200.x / 24 Netzwerke sollte dieses Paket geroutet werden?

Eine interessante Randnotiz: Internetanbieter verwenden oft private Adressen für ihr internes Routing. Wenn beispielsweise für das interne Routing eine private 192.168.200.x / 24-Klasse verwendet wird, wird der erste Router / Rechner mit IP 192.168.200.1 werden empfangen, aber das Paket fallen lassen, weil es unaufgefordert war. ICMP sind eine interessante Ausnahme, da Router / Maschinen im Allgemeinen auf nicht unterstützte PINGs antworten. Dies bedeutet, dass Sie manchmal private Adress-Scans verwenden können, um Ihr privates ISP-Netzwerk zuzuordnen.


39
2018-02-09 06:19



Wenn also die IP-Adresse mit 10, 172.16-31 oder 192.168 beginnt, sollte der Router so konfiguriert sein, dass er sie nur über das interne LAN-Netzwerk und nicht über das externe Internet (in einem Unternehmen, normalerweise über das externe Netzwerk) sendet Tor). Sie können diese "privaten Netzwerke" hier nachlesen: en.wikipedia.org/wiki/Private_network - Bruno
Es ist nicht ungewöhnlich, private RFC1918-Adressen (192.168, 172.16, 10) zu routen, wenn Sie ein geroutetes privates Netzwerk einrichten. - immibis
@Bruno nicht unbedingt. Eine Route können route eine private Adresse auf der öffentlichen Seite zu ihrem Standard-Gateway, aber andere Router werden schließlich die Pakete fallenlassen oder sie in einer Schleife routen (und das Paket wird verworfen, wenn seine TTL 0 erreicht). - shodanshok
Tun Sie die Hauptrouter des ISP sogar haben ein Standard-Gateway? Was würde es sein? - kubanczyk
Generell ja. Schließlich muss ein ISP Pakete routen, die für andere ISPs bestimmt sind ... - shodanshok


Normalerweise werden private IP-Adressen vom ISP gefiltert. Ihr Access-Router sollte auch so konfiguriert sein, dass er nicht ausläuft.

Private IP-Adressen können nicht im Internet verwendet werden, weil Jeder könnte sie benutzen. Es gibt wahrscheinlich viele Millionen Geräte, die privat 192.168.1.1 verwenden - welcher ist ein Internet-Router, der das Paket senden soll?

Zeroconf Adressen (169.254.0.0/16) sind eigentlich nicht routingfähig. Diese können überall ad hoc verwendet werden, aber sie können nicht auf das Internet oder ein anderes Subnetz als das lokale zugreifen. Sie können nicht weitergeleitet werden, da sie nur innerhalb der Broadcast-Domäne gültig sein können, in der jedes Gerät selbst eine nicht verwendete Adresse auswählen kann. Per Definition verfügt zeroconf über keine Verwaltungsinstanz wie ein DHCP-Server.


8
2018-02-09 07:25





Was genau hält diese Adressen davon ab, routingfähig zu sein? 

Akzeptierte Standards, die von kommunizierenden Entitäten durchgesetzt werden. Diese werden in Software, Hardware und Konfigurationen erzwungen.

Implementieren ISPs ACLs, die verhindern, dass diese Netzwerke routen, oder ist es etwas höher? 

Sie können, aber was wirklich gestoppt wird, ist nur eine ungültige Übersetzung, die Standards nicht folgt.

Wenn Sie wie die meisten Heimanwender sind, haben Sie eine IP-Adresse als öffentliche IP-Adresse zugewiesen. Damit Datenverkehr von allen Ihren verbundenen Geräten kommunizieren kann, führt der Router die Übersetzung dieser internen IP-Adressen mithilfe von NAT (Netzwerkadressübersetzung) oder PAT (Portadressübersetzung) durch.

Grundsätzlich merkt sich Ihr Router, welche internen IP-Adressen in Ihrem LAN (Local Area Network) eine Sitzung außerhalb Ihres LAN, über den Router und über die WAN-Schnittstelle (Wide Area Network) gestartet haben. Wenn Daten den Router verlassen, enthält er die einzige IP-Adresse, die Ihnen als Quell-IP zugewiesen wurde. Wenn es eintritt, enthält das Paket die gleiche Adresse wie die Ziel-IP. Der Router entscheidet dann, wohin er von dort gelenkt wird.

Nach außen haben Sie nur eine einzige IP-Adresse, die eigentlich die IP des Routers ist. Der Router kann diese Sitzungen verfolgen und bestimmen, welcher Verkehr zu jeder internen IP-Adresse in seinem LAN gehört, und diesen Verkehr entsprechend lenken. Es ist ein komplexer Verwaltungsprozess, aber die Idee ist eigentlich ganz einfach, wenn Sie verstehen, dass an jedem Router alles übersetzt wird.

Darüber hinaus verfügen die meisten Heim-Router über Switching-Ports, wobei der Datenverkehr über die MAC-Adresse und nicht über die IP-Adresse erfolgt. Die Quell-MAC-Adresse im Paket bleibt gleich, bis sie einen Router erreicht. Der Router entkoppelt die Quell-MAC-Adresse und fügt die MAC-Adresse seiner eigenen WAN-Schnittstelle ein.

Ist es auch IANA, die dieses Design erstellt hat?

Diese Standards wurden ursprünglich nicht von der IANA entwickelt. Obwohl sie heute bei der Festlegung von Standards die Führung übernehmen, setzen sie sie mit Sicherheit nicht durch irgendwelche Rechtsmittel durch. Sie sind Standards, die durch Konsens durchgesetzt werden. Suche RFC 791.

Sie haben "Autorität" zu dem Ausmaß, dass jeder bereit ist, sich an sie zu halten. Es ist durchaus möglich, diesen Standards zu trotzen, aber Sie werden irgendwann irgendwo auf dem Weg zu einem ISP stoßen, der von Ihnen verlangt, dass Sie sich daran halten, oder sie werden Ihren Datenverkehr einstellen.

Ich hoffe das hilft..


6
2018-02-09 20:51



Ich denke, jedes Wort trifft den Nagel auf den Kopf, wenn es um die spezifische Frage des OP geht. Die anderen Antworten sind sachlich korrekt, aber ich bin mir nicht sicher, ob sie die spezifische Verwirrung des OP so direkt wie möglich ansprechen. Der entscheidende Punkt ist: Konvention und die Tatsache, dass die meisten Menschen sich daran halten wollen. - Lightness Races in Orbit
@LightnessRacesinOrbit: Das wird grundsätzlich durch das allererste nicht zitierte Wort in dieser Antwort abgedeckt, was nicht unbedingt notwendig wäre ... Das Wort betont den von Ihnen gemachten Punkt. Obwohl ich stimme zu, dass Ihr kursiv geschriebener Text den Punkt besser macht. - TOOGAM
@TOOGAM: Ja, ich wiederhole es nur. Wie gesagt, ich denke, diese Antwort ist perfekt. - Lightness Races in Orbit


Zur Klarstellung aus den anderen Antworten, private IP-Adressbereiche dass Sie lokal verwenden Routen Sie nicht ins Internet, da sie eigene explizite Einträge in der Routing-Tabelle haben. Hier ist meine Routentabelle von meinem Desktop zu Hause, zum Beispiel:

$ ip route
default via 192.168.1.1 dev enp5s0 proto dhcp src 192.168.1.104 metric 1024 
172.17.0.0/16 dev docker0 proto kernel scope link src 172.17.0.1 linkdown 
172.18.0.0/16 dev br-90a372f4b373 proto kernel scope link src 172.18.0.1 linkdown 
192.168.1.0/24 dev enp5s0 proto kernel scope link src 192.168.1.104 
192.168.1.1 dev enp5s0 proto dhcp scope link src 192.168.1.104 metric 1024

Beachten Sie das 172.17.0.0/16 und 172.18.0.0/16. Pakete in diese Netzwerke werden direkt zu meinen Andockbrücken geleitet, ohne meinen Computer zu verlassen, da sie einen bestimmten Eintrag in meiner Routentabelle haben. Das 192.168.1.0/24 Eintrag sagt explizit, dass der Verkehr zu diesem Netzwerk ausgeht enp5s0 Schnittstelle. Die Routentabelle meines Routers wird einen ähnlichen Eintrag haben, der den gesamten Verkehr für dieses private Netzwerk über die Schnittstelle sendet, mit der mein Desktop verbunden ist.

Nur Pakete für Netzwerke, die nicht explizit in der Tabelle enthalten sind, werden auf die Standardroute gesetzt. Sie können ein Netzwerk explizit als nicht erreichbar markieren durch:

$ ip route add unreachable 10.0.0.0/8

Dies ändert meine Routentabelle zu:

$ ip route
default via 192.168.1.1 dev enp5s0 proto dhcp src 192.168.1.104 metric 1024 
unreachable 10.0.0.0/8 
172.17.0.0/16 dev docker0 proto kernel scope link src 172.17.0.1 linkdown 
172.18.0.0/16 dev br-90a372f4b373 proto kernel scope link src 172.18.0.1 linkdown 
192.168.1.0/24 dev enp5s0 proto kernel scope link src 192.168.1.104 
192.168.1.1 dev enp5s0 proto dhcp scope link src 192.168.1.104 metric 1024

Jetzt wird mein Desktop nicht einmal versuchen, das Standard-Gateway nach Adressen in diesem Bereich zu fragen. Suchvorgänge für diese Adresse geben sofort "Keine Route zum Host" zurück.

$ traceroute 10.0.0.1
traceroute to 10.0.0.1 (10.0.0.1), 30 hops max, 60 byte packets
connect: No route to host

Pakete für nicht erreichbare Netzwerke, die nicht explizit sind markiert als nicht erreichbar in der Routentabelle wird einfach weiter über die Standardrouten weitergeleitet, bis das Paket entweder einen Router erreicht, der explizit weiß, dass das Netzwerk nicht erreichbar ist, oder das TTL abläuft.


1
2018-02-09 12:57