Tunnel IPv6 di HE con OpenWRT

OpenWrtDopo l’esperienza di Fabrizio, mi sono deciso ad usare un OpenWRT per il tunnel IPv6 di Hurricane Electic.

Avevo a disposizione un Netgear DG834GT gentilmente donato da Riccardo per questo scopo e ho deciso di metterlo finalmente in pista.

Avevo installato OpenWRT Backfire tanto tempo fa, ma non avevo ancora avuto l’occasione di provarlo seriamente sul campo. Dopo alcuni disservizi della linea ADSL di casa ho riconfigurato la rete casalinga eliminando la VM con pfSense e semplificando un po’ la configurazione. Tuttavia questo mi aveva fatto perdere la possibilità di usare pfSense come gestore del tunnel IPv6.

La situazione di partenza è, quindi, quella classica: IPv4 statico, router con funzioni di NAT e LAN interna NATtata in IPv4.

In questo contesto si configura OpenWRT con un indirizzo privato della LAN; dal momento che il tunneling è avviato da OpenWRT, non ci sarà bisogno di alcun port forwarding configurato sul router.

Aiuta molto aver installato su OpenWRT l’interfaccia web LuCI:

opkg install luci-i18n-english luci-lib-core luci-lib-ipkg luci-lib-lmo luci-lib-nixio luci-lib-sys luci-lib-web luci-mod-admin-core luci-mod-admin-full luci-proto-6x4 luci-proto-core luci-sgi-cgi luci-theme-base luci-theme-openwrt

Per il momento, configurare correttamente l’indirizzo IPv4 dell’interfaccia LAN e aggiungere i pacchetti necessari per il tunnel:

opkg install ip kmod-ipv6 6in4 ip6tables kmod-sit kmod-iptunnel6 kmod-iptunnel4 

Una volta creato un nuovo tunnel con HE, collegarsi a OpenWRT via ssh e dare i comandi che appaiono nell’esempio della configurazione se si seleziona OpenWRT Backfire nella definizione del tunnel di HE. I comandi creano l’interfaccia di tunneling e la configurano correttamente in base ai parametri del vostro tunnel.

Dall’interfaccia web si vede che in Network | Interfaces c’è una nuova interfaccia HENET. Verificare che i parametri siano quelli configurati con le indicazioni di HE:

  • Protocol: IPv6-in-IPv4 (RFC4213)
  • Local IPv4 address: vuoto
  • Remote IPv4 address: l’IPv4 indicato nel campo Server IPv4 address di HE
  • Local IPv6 address: l’IPv6 indicato nel campo Client IPv6 address di HE
  • ID utente e password

Negli Advanced Settings dell’interfaccia abilitare Bring up on boot e Default gateway.

A questo punto un reboot propiziatorio è d’obbligo.

Se tutto è configurato a dovere, l’interfaccia dovrebbe salire e colorarsi di grigio nell’elenco delle interfacce di OpenWRT.

Per avere un riscontro visivo del traffico, andare in SystemLED configuration e abilitare il LED ppp sull’interfaccia 6in4-henet con i trigger transmit e receive. Questo farà lampeggiare il led PPP quando ci sarà traffico sul tunnel IPv6.

Resta solamente da battezzare la LAN in IPv6: ho scelto di non usare sistemi automatici e di configurare a mano gli host che ho sia perché sono pochi sia perché volevo fare dei test sui settaggi.

Il pool di IP da utilizzare è quello che HE chiama Routed /64.

All’interfaccia LAN di OpenWRT assegnare come IPv6 uno di quelli del pool routed e mettere come default gateway IPv6 l’IPv6 dell’interfaccia HENET, che è l’indirizzo Client IPv6 address di HE.

Tutti gli altri host avranno un indirizzo IPv6 della classe Routed /64 e come gateway l’IPv6 dell’interfaccia LAN appena assegnato appartenente alla stessa classe.

Se non si dispone di un resolver in LAN che risponde anche su IPv6, si possono utilizzare i DNS di Google oppure quelli di HE.

Se tutto è configurato correttamente, visitando questo sito si dovrebbe vedere nella colonna di destra il proprio indirizzo IPv6.

Autore: Luigi Rosa

Consulente IT, sviluppatore, SysAdmin, cazzaro, e, ovviamente, geek.

Spazio per un commento