Co sprawia, że ​​prywatny adres IP nie jest routowalny?


21

Rozumiem, że adresy prywatne, takie jak 10.0.0.0/8, 172.16.0.0/12a 192.168.0.0/16nie routingu. Co jednak powstrzymuje te adresy przed możliwością routingu? Czy dostawcy usług internetowych wdrażają listy ACL, które uniemożliwiają routing tych sieci, czy jest to coś wyższego?

Czy to IANA stworzyła ten projekt?


Czy istnieje dorozumiane pytanie: „Czy GWARANTOWANE nie będą one publicznie kierowane i czy ktoś nadal kieruje publicznie działając przez pomyłkę?”?
rackandboneman

3
Co do twojego ostatniego pytania: IETF zdefiniował je, aby IANA została wykluczona z publicznej przestrzeni adresowej. RFC1918 dla IPv4 i RFC4193 dla IPv6
Lenniey

3
Oczywiście, że można je routować. Routery pobierają wiadomość z publicznego adresu zewnętrznego i „kierują” ją na wewnętrzny adres prywatny. Zalecamy zapoznanie się z podstawami translacji adresów sieciowych.
Lakey

2
Lakey, nie można ich routować w publicznej sieci. Dlatego właśnie Nat jest wymagany i służy do ochrony adresów IP. Jestem w klasie Cisco i mój profesor nie mógł odpowiedzieć na to pytanie, dlatego zamieszczam je tutaj.
QuantumRads

1
Powinienem również wyjaśnić, że adresy prywatne są routowalne w sieci prywatnej, ale nie w sieci publicznej.
QuantumRads

Odpowiedzi:


39

Prywatne adresy IP routowalne, chociaż nie są publicznie routowane. Zasadniczo router przekieruje prywatny adres do prywatnej / wewnętrznej sieci LAN, a nie do Internetu.

Aby rozwinąć moją odpowiedź: router może kierować prywatny adres do strony publicznej za pośrednictwem domyślnej bramy. Jednak pakiet zostanie „utracony” w transporcie z powodu upuszczenia go przez inne routery lub z powodu osiągnięcia przez TTL pakietu 0.

Na przykład spójrz na to (częściowo zaciemnione) 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  * * *

Jak widać, pakiet jest kierowany do publicznego Internetu za pośrednictwem domyślnej bramy komputera. Jest on jednak upuszczany podczas transportu i nigdy nie dociera do właściwego miejsca docelowego.

W końcu prywatne adresy IP / klasy pokrywają się (z definicji) między klientem, więc w której z tysięcy sieci 192.168.200.x / 24 należy skierować ten pakiet?

Ciekawa uwaga dodatkowa: dostawcy Internetu często używają adresów prywatnych do wewnętrznego routingu. Jeśli, na przykład, prywatny 192.168.200.x / 24 klas służy do trasowania wewnętrznego, pierwszy routera / maszyna z IP 192.168.200.1 będzie odbierać, ale upuścić paczkę, bo to było niechciane. ICMP są interesującym wyjątkiem, ponieważ router / maszyny zazwyczaj odpowiadają na niechciane PING-y. Oznacza to, że możesz kiedyś użyć prywatnych skanów adresów, aby zmapować swoją prywatną sieć ISP.


2
Zasadniczo więc, jeśli adres IP zaczyna się od 10, 172.16-31 lub 192.168, router powinien być skonfigurowany tak, aby wysyłał je tylko przez wewnętrzną sieć LAN, a nie do zewnętrznego Internetu (w przedsiębiorstwie, zazwyczaj przez zewnętrzny przejście). Możesz przeczytać w tych „prywatnych sieciach” tutaj: en.wikipedia.org/wiki/Private_network
Bruno

3
W rzeczywistości często zdarza się, że trasy prywatne adresy RFC1918 (192.168, 172.16, 10) są tworzone za każdym razem, gdy tworzona jest routowana sieć prywatna.
user253751

3
@Bruno niekoniecznie. Trasa może skierować prywatny adres po stronie publicznej do domyślnej bramy, ale inne routery ostatecznie upuszczą pakiety lub skierują je w pętli (a pakiet zostanie odrzucony, gdy jego TTL osiągnie wartość 0).
shodanshok

Czy główne routery ISP mają nawet domyślną bramę? Co by to było
kubańczyk

Ogólnie tak. W końcu dostawca usług internetowych musi kierować pakiety przeznaczone dla innych dostawców usług internetowych ...
shodanshok

9

Zwykle prywatne adresy IP są filtrowane przez dostawcę usług internetowych. Router powinien również być skonfigurowany tak, aby nie powodował wycieku.

Prywatnych adresów IP nie można używać w Internecie, ponieważ każdy może ich używać . Prawdopodobnie istnieje wiele milionów urządzeń korzystających prywatnie z 192.168.1.1 - który to router internetowy, który ma wysłać pakiet?

Adresy Zeroconf (169.254.0.0/16) w rzeczywistości nie są routowalne. Można ich używać w dowolnym miejscu w sposób ad hoc, ale nie mają dostępu do Internetu ani żadnej podsieci oprócz lokalnej. Nie można ich przekierować, ponieważ mogą być ważne tylko w domenie rozgłoszeniowej, w której każde urządzenie może samodzielnie wybrać nieużywany adres. Z definicji zeroconf nie ma instancji zarządzania takiej jak serwer DHCP.


6

Co jednak powstrzymuje te adresy przed możliwością routingu?

Akceptowane standardy, które są egzekwowane przez podmioty komunikujące się. Są one wymuszane w oprogramowaniu, sprzęcie i konfiguracjach.

Czy dostawcy usług internetowych wdrażają listy ACL, które uniemożliwiają routing tych sieci, czy jest to coś wyższego?

Mogą, ale to, co tak naprawdę jest zatrzymywane, to po prostu nieprawidłowe tłumaczenie, które nie spełnia standardów.

Jeśli jesteś podobny do większości użytkowników domowych, masz przypisany jeden adres IP jako publiczny adres IP. Aby ruch z wszystkich podłączonych urządzeń mógł się komunikować, router wykonuje translację tych wewnętrznych adresów IP za pomocą NAT (translacja adresów sieciowych) lub PAT (translacja adresów portów).

Zasadniczo router zapamiętuje, które wewnętrzne adresy IP w sieci LAN (sieć lokalna) rozpoczęły sesję poza zasięgiem sieci LAN, przez router i poza interfejs WAN (sieć rozległa). Gdy dane wychodzą z routera, zawiera pojedynczy adres IP przypisany do ciebie jako źródłowy adres IP. Po wejściu pakiet zawiera ten sam adres co docelowy adres IP. Router decyduje wtedy, dokąd zostanie skierowany.

Na zewnątrz masz tylko jeden adres IP, który w rzeczywistości jest adresem IP routera. Router może śledzić te sesje i określać ruch, który należy do każdego wewnętrznego adresu IP w jego sieci LAN, i odpowiednio kieruje ten ruch. Jest to złożony proces zarządzania, ale pomysł jest właściwie dość prosty, gdy zrozumiesz, że wszystko jest tłumaczone na każdym routerze.

Ponadto większość routerów domowych ma porty przełączające, dzięki czemu ruch jest dostarczany za pośrednictwem adresu MAC, a nie adresu IP. Źródłowy adres MAC w pakiecie pozostaje taki sam, dopóki nie trafi na router. Router usuwa źródłowy adres MAC i wstawia adres MAC własnego interfejsu WAN.

Czy to IANA stworzyła ten projekt?

Standardy te nie zostały pierwotnie zaprojektowane przez IANA. Dzisiaj, chociaż przejmują one wiodącą rolę w ustanawianiu standardów, z pewnością nie egzekwują ich za pomocą jakichkolwiek środków prawnych. Są to standardy egzekwowane w drodze konsensusu. Wyszukaj RFC 791.

Mają „autorytet” w zakresie, w jakim każdy chce się do nich zastosować. Całkowicie możliwe jest sprzeciwianie się tym standardom, ale ostatecznie natkniesz się na dostawcę usług internetowych gdzieś na ścieżce, który będzie wymagał, abyś przestrzegał lub zmniejszy ruch.

Mam nadzieję że to pomogło..


2
Myślę, że każde słowo tego trafia w sedno, związane z konkretnym pytaniem OP. Pozostałe odpowiedzi są zgodne z faktami, ale nie jestem pewien, czy odnoszą się do konkretnego pomieszania PO tak bezpośrednio, jak to możliwe. Kluczową kwestią jest: konwencja i fakt, że większość ludzi chce jej przestrzegać .
Wyścigi lekkości z Moniką

1
@LightnessRacesinOrbit: Jest to zasadniczo uwzględnione w pierwszym nie cytowanym słowie w tej odpowiedzi, co nie byłoby absolutnie konieczne ... Słowo to podkreśla twoją uwagę. Chociaż zgadzam się, że tekst pisany kursywą poprawia tę kwestię.
TOOGAM

2
@TOOGAM: Tak, po prostu wzmacniam to. Jak powiedziałem, uważam, że ta odpowiedź jest idealna.
Wyścigi lekkości z Moniką

1

Aby wyjaśnić inne odpowiedzi, zakresy prywatnych adresów IP , z których korzystasz lokalnie , nie kierują do Internetu, ponieważ mają własne wyraźne wpisy w tabeli routingu. Oto moja tabela tras z mojego pulpitu w domu, na przykład:

$ 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

Zwróć uwagę na 172.17.0.0/16i 172.18.0.0/16. Pakiety do tych sieci idą prosto do moich mostów dokujących, bez opuszczania mojego komputera, ponieważ mają one konkretny wpis w mojej tabeli tras. 192.168.1.0/24Wpis wyraźnie mówi ruch do tej sieci będzie wychodziłenp5s0 interfejs. Tabela tras mojego routera będzie miała podobny wpis, który wyśle ​​cały ruch dla tej prywatnej sieci przez interfejs, do którego podłączony jest mój pulpit.

Tylko pakiety dla sieci, które nie są wyraźnie w tabeli, idą do domyślnej trasy. Możesz jawnie oznaczyć sieć jako nieosiągalną przez:

$ ip route add unreachable 10.0.0.0/8

To zmienia moją tabelę tras na:

$ 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

Teraz mój pulpit nawet nie będzie próbował zapytać domyślnej bramy o adresy z tego zakresu. Wyszukiwanie tego adresu natychmiast zwraca „Brak trasy do hosta”.

$ 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

Pakiety dla nieosiągalnych sieci, które nie są wyraźnie oznaczone jako nieosiągalne w tabeli tras, będą po prostu przekazywane dalej domyślnymi trasami, dopóki pakiet nie dotrze do routera, który wyraźnie wie, że sieć jest nieosiągalna lub upłynie czas wygaśnięcia TTL.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.