Jun 092011
 


ipv6 ready 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:

Flattr this!

 Leave a Reply

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

(required)

(required)

*