OK, ho 1 giorno in ritardo, ma ora anche http://linuxaria.com è pronto per l’IPv6 .
1 giorno in ritardo per cosa?
Ieri è stata la giornata mondiale dell’IPv6 , ma sono sicuro che lo avete notato, ho visto un sacco di notizie su questo evento in molti siti tecnici dedicati alle notizie.
Ora linuxaria.com è ospitato su una VPS da Linode e devo dire che il setup è stato “abbastanza” facile, ho avuto più problemi provenienti da nginx, soprattutto per la mia mancanza di conoscenza di IPv6 e di questo server web.
Questo è un riassunto delle operazioni fatte per avere IPv6 funzionate, naturalmente se non si dispone di una VPS su Linode questo è parzialmente utile, ma da un’idea generale sulle operazioni necessarie per ottenere uno stack IPv6 sulla propria macchina.
Linode.com ha recentemente aggiunto il supporto nativo ad IPv6 e devo dire che è davvero banale aggiungerlo, “navigare semplicemente sulla vostra sottoscheda Linode “Remote Access” e quindi fare cliccare su “Attiva IPv6″. Vi verrà richiesto di riavviare il Linode”.
Ho riavviato e dopo la partenza ho ricevuto:
root@linuxaria:~# ifconfig eth0 Link encap:Ethernet HWaddr f2:3c:91:93:b7:b3 inet addr:66.228.45.214 Bcast:66.228.45.255 Mask:255.255.255.0 inet6 addr: 2600:3c03::f03c:91ff:fe93:b7b3/64 Scope:Global inet6 addr: fe80::f03c:91ff:fe93:b7b3/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 |
L’indirizzo IPv6 è stato dato in automatico, tutto fatto con un paio di clic e un riavvio. Stupefacente.
Nginx
Questo è stato un po più lungo, ma grazie al Kromey’s blog ho risolto un errore sull’avere un processo già in ascolto sulla porta 80 :
ipv6 nginx bind() to [::]:80 failed
Ho 2 virtualhosts sulla mia VPS, rimuovendone uno funzionava bene, ma aggiungendo il secondo avevo quell’error.
Kromey ha dato una grande spiegazione:
Dalla lettura della documentazione, credo che questa soluzione non funzioni su sistemi basati su BSD, né funzioni su alcuni sistemi basati su Linux dove il parametro net.ipv6.bindv6only è stato cambiato dal default. In particolare, la soluzione che sto postando qui si basa sugli stack di rete che usano le porte ibride invece che porte separate per IPv6 e IPv4, cioè, l’apertura di una porta ibrida accetterà il traffico su entrambi i protocolli IPv4 e IPv6, mentre si dovrebbe aprire in modo esplicito porte separate per ogni versione del protocollo. Tuttavia, adattare questa soluzione ibrida basata sulle porte ad un sistema separato basato sulle porte è banale, e vi faccio vedere anche quello.
Suggerisco di leggere l’intera soluzione su his blog, ma per farlo breve posso dirvi che:
Sulla mia Debian 6 il default è:
root@linuxaria:~# sysctl net.ipv6.bindv6only net.ipv6.bindv6only = 0 |
E quindi per risolvere i miei problemi ho aggiunto alla sezione {server} dei miei VH:
Sul VH1:
listen 80; listen [::]:80 default_server ipv6only=on; |
Sul VH2
listen 80; listen [::]:80; |
E con queste opzioni un /etc/init.d/nginx restart ha funzionato bene.
Conclusione
Finora IPv6 è stato per me una soluzione teorica, che un giorno sarebbe stata necessaria, ma ora il giorno è arrivato.
E tu, sei pronto per IPv6?
Popular Posts:
- None Found