Subnetting IPv6 a / 64: cosa si romperà e come aggirarlo?


27

In IPv6, non è necessario eseguire la sottorete su qualcosa di più piccolo di un / 64 (RFC 5375). Tra le altre cose, SLAAC non funziona con sottoreti più piccole e apparentemente anche alcune altre funzionalità non funzioneranno.

Quali sono le soluzioni alternative per le situazioni in cui gli ISP forniscono solo un singolo / 64 ma sono necessarie più sottoreti internamente? Il consiglio comune sembra essere quello di trovare un altro ISP che distribuirà un / 56 o / 48. In alcune parti del mondo, potrebbe funzionare, ma nella nostra zona (USA), ciò non è possibile a causa della mancanza di concorrenza. La maggior parte dei miei clienti è fortunata se hanno un unico ISP che serve la loro area. Molte persone qui sono ancora al dial-up.

I miei clienti non si qualificheranno per il proprio / 48 da ARIN.


9
Non tenterei di distribuire IPv6 in quello scenario. Continuare a premere l'ISP per fornire una connettività adeguata. Rendi i loro errori ben visibili e pubblici, se necessario. Cita il capitolo e il versetto di RFC 6177. Naturalmente, dovresti prima assicurarti che sia il loro errore e che il tuo equipaggiamento richieda una sottorete più grande.
Michael Hampton

5
Anche questo è un cattivo consiglio. Dati tutti i suoi vantaggi, la maggior parte delle persone dovrebbe distribuire IPv6 alla prima opportunità disponibile. Sfortunatamente molti ISP hanno fatto una colazione completa per cani del loro servizio IPv6, rendendolo poco saggio da usare.
Michael Hampton

2
Potremmo discutere tutto il giorno se gli ISP stanno preparando la colazione per un cane (cosa che sicuramente hanno fatto!) O se i progettisti IPv6 non erano realisti nel ritenere che gli ISP non lo avrebbero fatto. Certo, non dico ai miei clienti di stare alla larga da IPv6 per sempre, fino a quando la polvere non si sarà stabilizzata. Sono sicuro che tra cinque anni, o anche prima, ci sarà uno SLAAC 2.0 che supporta subnet più piccole, insieme a NAT (molti router lo implementano comunque) e tutto il resto necessario per far funzionare IPv6 di fronte alle avversità. Tuttavia, stavo cercando più soluzioni al momento.
Kevin Keane,

4
Non contare sul disordine IPv4 come NAT per funzionare correttamente con IPv6. NAT era un trucco, non una caratteristica ...
Sander Steffann,

3
@KevinKeane NAT è sempre stato un trucco e lo sarà sempre. Ogni problema che le persone hanno cercato di risolvere utilizzando NAT ha una soluzione reale che non coinvolge NAT, ma probabilmente coinvolge IPv6. La stragrande maggioranza delle rotture di cui parli può essere attribuita a distribuzioni NAT o IPv6 incomplete.
Kasperd,

Risposte:


28

Se l'ISP non ti darà più di un / 64, allora quell'ISP fa schifo. Se è un sollievo, posso dirti che devo fare i conti con gli ISP che fanno ancora più schifo. Da queste parti è perfettamente normale allontanare gli indirizzi IPv4 pubblici dai clienti e metterli dietro un CGN. E se chiedi loro gli indirizzi IPv6, ti diranno che non offrono IPv6 perché non c'è ancora carenza di indirizzi IPv4, e finché ci sono server senza supporto IPv6 non offriranno IPv6 perché è impossibile per un client dual stack per la connessione a un server solo IPv4.

Se un ISP mi desse quello che hai, lo prenderei perché fa meno schifo di quello che sono stato in grado di ottenere finora.

Andando avanti ci sono due approcci che ti consiglio di seguire in parallelo.

Fai pressione sull'ISP

Fai più pressione sull'ISP che puoi. Ciò include il contatto con altri ISP e l'eventuale passaggio se qualsiasi altro ISP può offrirti un affare migliore.

Assicurarsi di verificare cosa succede se il router richiede un delegato / 48, / 52, / 56 o / 60 tramite DHCPv6 sulla WAN. Verificherei tutte e quattro le lunghezze del prefisso nel caso in cui il server DHCPv6 per qualche motivo distribuisse solo una lunghezza specifica del prefisso e ignorasse le richieste per altre lunghezze del prefisso.

Ottieni il meglio da ciò che hai

Dato che probabilmente dovrai convivere con alcuni hack andando avanti, devi chiederti quale succhia meno IPv4 con hack o IPv6 con hack.

Ci sono alcuni hack che puoi usare per estendere un singolo / 64 a molti host.

Trasformando un prefisso di collegamento in un prefisso indirizzato

Se si dispone di un singolo / 64 sul collegamento WAN ma nessun prefisso instradato alla propria LAN, è possibile trasformare tale / 64 in un prefisso indirizzato con pochi passaggi. Configurare l'interfaccia WAN sul router come / 126 anziché / / 64. Installa un demone di pubblicità vicino (come ndppd) sul router per pubblicizzare il proprio indirizzo MAC per ogni indirizzo in / 64 eccetto dai 4 indirizzi in / 126. Con questi due passaggi avrai un instradato / 64 che puoi usare sulla tua LAN ad eccezione dei 4 indirizzi usati per il collegamento WAN.

Una versione modificata di questo hack può condividere il collegamento / 64 su più router. Il prefisso di collegamento dovrà quindi essere un po 'più corto di / 126 per contenere un indirizzo IP per ciascun router, un / 120 sarebbe abbastanza corto da consentire fino a 254 router.

Ogni router avrà ovviamente solo un prefisso che sarà più lungo di / 64. Ti consiglio di creare il prefisso per ogni router il più a lungo possibile pur mantenendo abbastanza indirizzi IP per la LAN su quel router. A / 112 o / 120 per ogni router sarebbe probabilmente adatto. Ogni router risponde con il proprio indirizzo MAC per la scoperta dei vicini di qualsiasi cosa all'interno del prefisso di quel router.

In questa variante, ciascun router avrà prefissi identici configurati sul proprio lato WAN e risponderà alle richieste di individuazione adiacenti per il prefisso assegnato al proprio lato LAN. Ovviamente nessuno dei prefissi LAN può sovrapporsi e nessuno di essi può sovrapporsi al prefisso configurato sul lato WAN.

Quindi se il router ISP che funge da gateway si trova all'indirizzo 2001: db8 :: 1/64, è possibile utilizzare 2001: db8 :: / 120 come WAN e assegnare 2001: db8 :: 1: 0/112 a il primo router, 2001: db8 :: 2: 0/112 al secondo router, ecc.

Sulla LAN è possibile estendere un / 64 a molti host tramite subnet o bridge. Dovrai capire quale dei due funziona meglio per te.

subnetting

Se si esegue la sottorete / 64, è possibile anche andare ai prefissi più lunghi che dispongono ancora di indirizzi sufficienti per gli host necessari. Non eseguire la sottorete in / 80 prefissi, piuttosto andare con / 116, / 120 o / 124 per sottorete. È improbabile che le cose che si rompano se non si utilizza / 64 e se si va con / 116 o più si ridurrà l'impatto di alcuni attacchi DoS di scoperta dei vicini (se presenti in uno dei sistemi).

In una tale configurazione di sottoreti si interromperà SLAAC, quindi è necessario un server DHCPv6 per rispondere su ogni segmento e indirizzi IPv6 statici configurati su tutti i dispositivi senza supporto DHCPv6.

colmare

Il ponte è l'altra alternativa. Significa essenzialmente che non si esegue la sottorete ma si esegue l'intera LAN come un singolo segmento IPv6 con un prefisso / 64. (Se necessario, quel / 64 può estendersi sia su LAN che su WAN.)

IPv6 è progettato per consentire ai bridge di riconoscere a quale delle reti con bridge è necessario inoltrare gli indirizzi anycast. In questo modo eviti di dover trasmettere pacchetti attraverso ogni collegamento fisico sulla tua LAN.

I bridge possono anche applicare firewall e protezione contro lo spoofing della scoperta dei vicini sulla LAN.

Con un'intelligenza sufficiente sui ponti, in linea di principio non c'è limite al numero di switch su cui è possibile collegare un singolo / 64.


Grazie! Era esattamente il tipo di risposta che stavo cercando! Mi piace particolarmente la tua idea di trasformare il / 64 in un prefisso indirizzato. Puoi approfondire un po ', per favore? Primo, non capisco perché suggerisci un / 126, piuttosto che un / 127? Quali indirizzi IP vengono utilizzati dove? In secondo luogo, presso uno dei miei clienti, in realtà ho tre router interni separati. In IPv4, hanno tre diversi IP pubblici nella / 29 fornita dall'ISP. Il tuo schema funzionerebbe ancora con questi router?
Kevin Keane,

Inoltre, non sono sicuro di come installare un Demone pubblicitario Neighbor su nessuno dei router. Un router è Fortigate, uno è Belkin e penso che il terzo sia Linksys.
Kevin Keane,

@KevinKeane Il motivo per cui suggerisco un / 126 è che spesso avrai bisogno di almeno tre indirizzi all'interno del prefisso. Sul lato ISP il router può avere il prefisso configurato come 2001: db8 :: 1/64, che significa 2001: db8 :: è speciale e 2001: db8 :: 1 viene utilizzato dal router ISP. Il tuo router di solito sarebbe configurato con 2001: db8 :: 2, il che significa che hai usato tre indirizzi e un / 127 non sarà sufficiente. A / 127 avrebbe potuto funzionare se non avessi usato un hack con lunghezza del prefisso diversa configurata alle due estremità del collegamento.
Kasperd,

grazie per averlo spiegato! Quindi, quando ho tre router che servono tre diverse reti interne, dovrei usare un / 125 e ogni router pubblicizzerebbe, tramite la pubblicità dei vicini, il proprio MAC solo per quegli IP nella sottorete corrispondente?
Kevin Keane,

1
Esiste un RFC informativo, RFC 7421, Analisi del limite a 64 bit nell'indirizzamento IPv6 , che ha una discussione completa sulla /64sottorete e su cosa non vado quando non lo uso.
Ron Maupin,

10

Sì, la pressione dell'ISP per non succhiare è l'opzione preferita. Le politiche di allocazione RIR presuppongono che l'ISP stia dando a ogni cliente un / 48; c'è assolutamente zero motivo per cui l'ISP non lo faccia.

IPv6 non è un fan delle sottoreti più piccole, tuttavia l'unica cosa che dovrebbe rompere, di cui sono a conoscenza, è SLAAC. Avrai problemi con bug e ipotesi in alcuni stack IPv6, che assumono ciecamente "/ 64 == sottorete", ma si tratta di un bug, non di una funzionalità, e puoi battere il fornitore per risolverlo. Se viene corretto prima che il tuo ISP ti dia un / 48, d'altra parte ...


Penso che alcune parti del protocollo di scoperta del vicino dovrebbero anche rompersi. L'RFC 5375 ha un intero elenco di altre cose, ma non conosco davvero le implicazioni pratiche. Solo ottenere un / 64 a volte può essere semplicemente una questione di soldi. Il tuo ISP può dare agli utenti domestici solo un / 64 e dare / 48s solo agli account aziendali. Solo perché vuoi separare il tuo ufficio a casa o il tuo WiFi dal resto della casa o perché vuoi utilizzare una sottorete separata per le macchine virtuali? Mi dispiace per il rant - sto cercando di affrontare un problema qui, non cercando di cambiare cose che non posso controllare.
Kevin Keane,

2
Se il tuo ISP volesse essere un vero e proprio manipolatore a riguardo, distribuirebbe un / 128 a ciascun abbonato residenziale. Immagino che tu possa salutare RFC 5375 sull'ISP e dire loro di darti IPv6, piuttosto che IPv5.5 ...
womble

È un dato di fatto, almeno un ISP che conosco lo fa (Verizon Wireless). È uno dei motivi per cui sostengo che NAT sia ancora necessario in IPv6. Ma questo è separato dalla mia domanda, ovviamente.
Kevin Keane,

1
La raccomandazione / 48 di RFC 3177 non è più valida, la maggior parte dei RIR ora consiglia una / 56 per i siti finali come descritto in RFC 6177
skrause

@skrause Non che faccia comunque la differenza. Ci sono abbastanza / 48s che non si esauriranno. Anche con un rapporto HD dell'80%, occorrerebbero 2 ^ 36 allocati / 48 secondi prima che IANA consumasse tutto il 2000 :: / 3. E a meno che il tuo sito finale non sia un data center importante, a / 56 ha abbastanza sottoreti per il tuo sito finale.
Kasperd,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.