Ogni volta che scrivo su IPv6 problemi multihoming e la necessità di NPT66 , ricevo un commento o due dice "ma ho pensato che questo fa già parte dello stack IPv6? - non può avere due o più indirizzi IPv6 sulla stessa interfaccia" L' commentatori è giusto, si può avere più indirizzi IPv6 sulla stessa interfaccia, il problema è: quale scegliete per le sessioni in uscita.
Le regole di selezione indirizzo sorgente sono specificati nella RFC 3484 (RFC che Greg tradotto in un semplice formato di consumare qualche tempo fa), ma non sono molto utili in quanto non possono essere influenzati dal router CPE. Guardiamo i dettagli.
Fase 1 - singola connessione ISP
Abbiamo una rete semplice SMB: un singolo router CPE collegato ad un ISP e un ospite seduto dietro il router (ignorare il PE-parte B, per il momento). CPE router chiede ISPA per un prefisso delegato (usando l'opzione IA_PD in DHCPv6) e utilizza una parte di quel prefisso di affrontare la sua interfaccia LAN.
Questo è il modo di configurare il router CPE se si sta utilizzando Cisco IOS:
ipv6-routing unicast ! Interfaccia FastEthernet0 / 0 Descrizione All'interno di interfaccia indirizzo ipv6 ISPA:: 1 / 64 ipv6 ° router-Alto preferenza ipv6 ° ra intervallo di 10 ! Interfaccia FastEthernet1 / 0 Descrizione del provider A uplink ipv6 indirizzo predefinito autoconfig ipv6 DHCP client pd ISPA
La configurazione del router CPE non è completa, si dovrebbe anche DHCPv6 server l'interfaccia all'interno di passare l'indirizzo del server DNS IPv6 per i clienti. Una completa (e testato) la configurazione è inclusa nel materiale che si ottiene con la costruzione Core Service Provider IPv6 webinar.
Il cliente riceve i messaggi IPv6 RA inviati dal CPE e crea un indirizzo IPv6 dal prefisso pubblicizzati / 64 sulla sua interfaccia LAN:
Il client è ora in grado di comunicare con Internet IPv6. Problema risolto ... fino a quando qualcuno figure una singola connessione a monte è un single point of failure e ordina un servizio Internet secondo.
Fase 2 - Due ISP uplink
Il secondo ISP uplink è configurato in modo quasi identico al primo. Poiché non è possibile avere due RA-generato percorsi predefiniti in Cisco IOS versione 15.1M, ho dovuto usare una route statica e predefinita galleggiante a livello di codice indirizzo IPv6 router next-hop è in esso.
ipv6-routing unicast ! Interfaccia FastEthernet0 / 0 Descrizione All'interno di interfaccia indirizzo ipv6 ISPA:: 1 / 64 ipv6 ISPB indirizzo:: 1 / 64 ipv6 ° router-Alto preferenza ipv6 ° ra intervallo di 10 ! Interfaccia FastEthernet1 / 0 Descrizione del provider A uplink ipv6 indirizzo predefinito autoconfig ipv6 DHCP client pd ISPA ! Interfaccia FastEthernet1 / 1 descrizione ISP B uplink autoconfig indirizzo ipv6 ipv6 DHCP client pd ISPB ! ipv6 percorso:: / 0 FastEthernet1 / 1 FE80:: 2 30
Dopo che il router CPE riceve un prefisso delegata dal PE-B, aggiunge un / 64 prefisso da quel range di indirizzi alla sua interfaccia LAN e inizia pubblicità due / 64 prefissi (uno per ogni ISP) nei suoi messaggi, RA. Il client IPv6 crea un secondo indirizzo IPv6 dal prefisso secondo pubblicizzato - ha ora due indirizzi IPv6 sulla sua interfaccia LAN.
Il Problema
Ci sono numerosi problemi associati a questa impostazione, alcuni dei quali architettonico, molti di più a causa di implementazioni non ottimali, omissioni, o il rispetto rigoroso di RFC in host e router pile.
La facile primo: quando un client IPv6 con più indirizzi IPv6 avvia una nuova sessione, sceglie un indirizzo di origine che meglio corrisponde l'indirizzo di destinazione (indirizzo ULA ULA per la destinazione, l'indirizzo globale per la destinazione mondiale ...) senza alcuna conoscenza della topologia di rete.
Politica di distribuzione Selezione di indirizzi utilizzando DHCPv6 progetto descrive una possibile soluzione ... ma deve essere attuato in entrambi i router e gli host, ed è implementato da nessuna parte in questo momento.
Per esempio, quando il client IPv6 nella nostra rete di piccole collega al mondo esterno, si potrà scegliere un indirizzo IPv6 di origine assegnato dal provider sbagliato.
Potete vedere l'indirizzo sorgente utilizzato dal client con il netstat-n-p tcpv6 (Windows) o comando netstat-n-f-p tcp inet6 (Linux / OSX) comando.Sembra che Windows preleva l'indirizzo più basso IPv6, mentre OSX raccoglie la più antica indirizzo IPv6, quando tutti gli indirizzi di interfaccia IPv6 sono equivalenti in base alle regole RFC 3484.
Il meglio che possa capitare è di routing asimmetrico:
In alcuni rari casi, il provider esegue effettivamente RPF controllare e scarta il pacchetto con un indirizzo IPv6 fonte inaspettata.
L'intera situazione potrebbe essere stata sopravvivere erano questo il solo problema da risolvere (e la mancanza di controlli RPF sul lato ISP induce la gente a sostenere che le opere multihoming IPv6). Purtroppo, ci sono molti altri, per esempio:
- Quando il router CPE (router Cisco IOS in esecuzione 15.1 (4), M) perde un uplink, non cessano di pubblicarlo prefisso delegato ha ricevuto attraverso questo (problema di implementazione) uplink. Uno degli indirizzi IPv6 cliente è quindi completamente non valido senza cliente se ne accorga.
- Se si cancella il prefisso delegato manualmente (o con un applet EEM) sul router CPE, si ferma la pubblicità il prefisso nei suoi messaggi RA ... ma il prefisso resta valido sugli host IPv6 fino alla sua scadenza (problema architettonico). Prefisso la scadenza si basa sulla sua durata preferita , che deriva direttamente dal DHCPv6 prefisso delegazione e di solito è misurato in settimane.
- Potrebbe essere possibile ridurre la durata preferita nei messaggi RA a un numero molto basso, ma la durata di un prefisso di interfaccia basata su un prefisso delegato non è configurabile (problema di implementazione).
Si prega di non provare a dirmi che tutto funziona se si utilizzano due router CPE. Potrebbe funzionare una volta che il pile ospitare implementare RFC 3484-bis , ma non ci siamo ancora (e io che descrivono lo scenario in un prossimo post).
Maggiori informazioni e le configurazioni dei router testati
Varie IPv6 accesso e progetti di rete core e configurazioni di esempio numerosi sono inclusi nel protocollo IPv6 costruzione Service Provider core webinar (attualmente disponibile solo come una registrazione ).
Fate il vostro test personalizzati
Se si vuole verificare come i padroni di casa si comportano in questo scenario o tentare di risolvere il mio configurazioni dei router, utilizzare queste configurazioni come punto di partenza:
versione 15,1 timestamps servizio di debug datetime msec timestamps log datetime msec service no service password-encryption ! hostname CPE ! ipv6-routing unicast ipv6 CEF ! Interfaccia FastEthernet0 / 0 Descrizione All'interno di interfaccia indirizzo ipv6 ISPA:: 1 / 64 ipv6 ISPB indirizzo:: 1 / 64 ipv6 ° router-Alto preferenza ipv6 ° ra intervallo di 10 ! Interfaccia FastEthernet1 / 0 Descrizione del provider A uplink ipv6 indirizzo predefinito autoconfig ipv6 DHCP client pd ISPA ! Interfaccia FastEthernet1 / 1 descrizione ISP B uplink autoconfig indirizzo ipv6 ipv6 DHCP client pd ISPB ! ipv6 percorso:: / 0 FastEthernet1 / 1 FE80:: 2 30 ! line con 0 exec-timeout 0 0 privilegio livello 15 linea vty 0 4 exec-timeout 0 0 privilegio livello 15 non login ! ntp logging fine
hostname PE ! ipv6-routing unicast ipv6 CEF ipv6 dhcp piscina ISPA prefisso-delega piscina ISPA ! ipv6 dhcp piscina ISPB prefisso-delega piscina ISPB ! Interfaccia Loopback0 indirizzo ipv6 2001: DB8: CAFE:: 1 / 64 ! Interfaccia FastEthernet0 / 0 descrizione ISP Un'interfaccia indirizzo ipv6 FE80:: 1 link-local indirizzo ipv6 2001: DB8: 1: FF01:: 1 / 64 ipv6 dhcp server di ISPA ! Interfaccia FastEthernet0 / 1 descrizione ISP B interfaccia indirizzo ipv6 FE80:: 2 link-local indirizzo ipv6 2001: DB8: 7: FF01:: 1 / 64 ipv6 server DHCP ISPB ! ipv6 piscina locale ISPA 2001: DB8: 1:: / 49 60 ipv6 piscina locale ISPB 2001: DB8: 7:: / 49 60 ! line con 0 exec-timeout 0 0 privilegio livello 15 linea vty 0 4 exec-timeout 0 0 privilegio livello 15 non login ! ntp logging fine
Nessun commento:
Posta un commento
Nota. Solo i membri di questo blog possono postare un commento.