martedì 13 dicembre 2011

IPV6 MULTIHOMING SENZA NAT: IL PROBLEMA

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:
Semplice configurazione del router CPE
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.
CPE semplice configurazione del router - due uplink
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:
CPE di configurazione del router (ripulito)
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
PE-configurazione del router (ripulito)
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.