Eu tive sintomas semelhantes, mas uma configuração diferente. O servidor executa o Debian Wheezy com endereços IPv4 e IPv6 estáticos configurados.
# /etc/network/interfaces
auto lo eth0
iface lo inet loopback
iface eth0 inet static
address 192.0.2.3
netmask 255.255.255.0
gateway 192.0.2.1
iface eth0 inet6 static
address 2001:db8::3
netmask 64
gateway 2001:db8::1
A cada inicialização, o nginx falhou ao iniciar:
bind() to [2001:db8::3]:80 failed (99: Cannot assign requested address)
A inicialização manual funciona bem e a inspeção manual também mostrou que os endereços e as rotas estão definidos. Basta definir o endereço IPv6 em interfaces
(sem o endereço IPv4). A remoção do gateway IPv6 estático também funcionou, mas um endereço de gateway local de link é usado. Depois de mais depuração, descobri que o processo de boot seria cuspido:
RTNETLINK answers: File exists
Failed to bring up eth0.
Acontece que um endereço IPv6 e um gateway são automaticamente atribuídos pelo roteador quando a interface é ativada. Para evitar esse comportamento, defina accept_ra 0
na seção iface eth0 inet6
. A seção inet6
também deve ser movida antes da seção inet
ou a rota padrão ainda apontará para o endereço local do link.