Lighttpd e IPv6: workaround per gli indirizzi v4mapped

24-02-2010 18:24:35 CET Postato in: post a caso | Commenta

Da un po di tempo ho abilitato IPv6 su lighttpd, in modo tale da rendere raggiungibili sia il mio blog che devel.azzurra.org da chi utilizza connettività IPv6. Questa "genialata", però, ha causato un po' di casino con i logfile, perché lighttpd NON apre due socket (uno v4 e uno v6), bensì apre un singolo socket v6 e si aspetta che il sistema operativo permetta l'utilizzo dei malefici indirizzi v4mapped (per chi è a digiuno di IPv6, indirizzi del tipo ::ffff:NNN.NNN.NNN.NNN).

Leggendo il bugreport relativo, ho trovato uno squisito scambio di battute tra un certo sysadmin italiano ed uno degli sviluppatori di lighttpd che ha tagliato corto dicendo "se non volete gli indirizzi v4mapped aprite due socket, non ho intenzione di cambiare il codice".

In sostanza, quindi, il modo migliore per far funzionare un server dual-stack IPv4-IPv6 è di avere queste righe nel file di configurazione:

server.use-ipv6 = "enable"
server.port = 80
server.bind = "[::1]"

$SERVER["socket"] == "0.0.0.0:80" { }
$SERVER["socket"] == "[2001:41d0:1:89df::1]:80" { }

sostituendo a 2001:41d0:1:89df::1 il vostro indirizzo IPv6 su cui volete porre in ascolto lighttpd. Lo stesso procedimento vale per SSL.

Assurdo? Sì. Lo risolveranno? Credo di no.

Commenti

blog comments powered by Disqus