Como faço para desativar o IPv6 mapeado IPv6?

15

Na minha caixa de Linux, tenho vários daemons que podem ser vinculados a todas as interfaces ativadas por IPv6 em :: . Quando eles fazem isso, o Linux envia solicitações IPv4 para esse daemon mapeado como, por exemplo, ::ffff:198.51.100.37 .

Eu preferiria que as conexões IPv4 fossem recusadas e apenas as conexões IPv6 fossem aceitas quando um daemon se vinculasse a :: . Para receber conexões IPv4, quero que o daemon tenha que se vincular explicitamente a 0.0.0.0 (assim como :: ).

Em outras palavras, quero executar um serviço exclusivamente no IPv6 e não no IPv4.

Existe uma maneira de realizar isso?

    
por Michael Hampton 18.07.2012 / 01:10

1 resposta

18

Isso é controlado pelo net.ipv6.bindv6only sysctl. Adicione o seguinte a /etc/sysctl.conf e execute sudo sysctl -p para efetuar a alteração.

net.ipv6.bindv6only=1

Os aplicativos também podem se vincular explicitamente ao endereço IPv6, em vez de alterar isso globalmente, por exemplo, nginx tem a opção ipv6only para o listen diretiva. Isso corresponde à opção IPV6_V6ONLY para setsockopt() .

    
por 18.07.2012 / 01:14

Tags