Sono un po 'confuso dai seguenti 2 RFC relativi a IPv6:
RFC 4862 afferma:
Il processo di autoconfigurazione specificato in questo documento si applica solo agli host e non ai router. Poiché l'autoconfigurazione dell'host utilizza le informazioni pubblicizzate dai router, i router dovranno essere configurati con altri mezzi.
RFC 7084 elenca uno dei requisiti di configurazione lato WAN per l'assegnazione dell'indirizzo come:
WAA-1: il router IPv6 CE DEVE supportare la configurazione automatica dell'indirizzo stateless (SLAAC) [RFC4862].
C'è una contraddizione qui?
Un router dovrebbe essere in grado di configurare automaticamente un indirizzo IPv6 per la sua interfaccia WAN?
Perché dice RFC 4862
Poiché l'autoconfigurazione dell'host utilizza le informazioni pubblicizzate dai router, i router dovranno essere configurati con altri mezzi.
Se ad esempio sto usando un router per connettere la mia LAN a un ISP, non c'è un router nella rete dell'ISP che sta parlando al mio router?
Avrei pensato che fosse perfettamente ragionevole avere 2 (o più) router incatenati insieme. In tal caso, perché non utilizzare SLAAC sull'interfaccia WAN del secondo router?
Forse il problema si riduce alla distinzione artificiale tra host e router? Da RFC 4862:
nodo - un dispositivo che implementa l'IP.
router - un nodo che inoltra pacchetti IP non indirizzati esplicitamente a se stesso.
host - qualsiasi nodo che non sia un router.
Ma un host (ovvero una macchina che ospita server o applicazioni) non può anche avere una tabella di routing e funzionare come router? E stiamo effettivamente concatenando nuovamente 2 router.
Modifica : alcune informazioni extra che ho scoperto in seguito ...
Il kernel Linux gestisce SLAAC e segue da vicino RFC 4862. Fino alla distinzione tra host e router. Vedi la documentazione del kernel su ip-sysctl :
- Si presume il comportamento HOST. Ciò significa che verranno inviate le sollecitazioni del router e gli annunci del router verranno utilizzati per la configurazione automatica dell'indirizzo.
- Solo se è abilitato l' inoltro (
/proc/sys/net/ipv6/conf/all/forwarding
), il dispositivo è considerato un ROUTER . Ciò significa che non verranno inviate richieste di router e gli annunci di router verranno ignorati.
Risulta che questa distinzione risale a molto tempo fa, prima di IPv6. Vedi il parametro /proc/sys/net/ipv4/ip_forward
:
Questa variabile è speciale, la sua modifica riporta tutti i parametri di configurazione al loro stato predefinito ( RFC1122 per host, RFC1812 per router)