Como desativar completamente o IPV6 no Mac OS X (10.5 +)?

1

Gostaria de evitar que minha máquina Mac OS X usasse o ipv6.

Estou procurando uma maneira programática de desabilitar o ipv6 em todas as interfaces de rede e, possivelmente, evitar o suporte do ipv6 pelo kernel.

Como explicação, eu preciso do equivalente a adicionar "alias ipv6 off" ao modprobe.conf no linux.

A resposta "é impossível" é bem vinda, sendo apoiada por algum tipo de fonte oficial, é claro.

EDITAR:

Eu quero remover o ipv6 dos logs, do ipfw, de qualquer lugar. Mesmo para a satisfação de saber se e como é possível. É certo fazer é outra questão:)

    
por drAlberT 02.10.2009 / 13:27

6 respostas

3

Você pode desativar o IP6 para um dispositivo específico com

networksetup -setv6off Service name
(i.e  networksetup -setv6off "Ethernet 1")

e obtenha a lista de todos os serviços possíveis com

networksetup -listallnetworkservices

Veja man networksetup para mais informações.

Eu não sei se você pode dizer networksetup para executar o comando para cada interface de uma só vez, mas não deve ser muito difícil escrever um script curto que itera sobre a saída do comando list e desabilita o IP6 em todos dispositivos.

    
por 02.10.2009 / 13:54
3

Como já mencionado pelo neoice, a ferramenta 'ip6' é útil aqui. Isso permite que você desative o IPv6 por interface, ou 'ip6 -x' desabilita todos, exceto a interface de loopback.

Você pode desabilitar o IPv6 na interface de loopback com

ip6 -d lo0

Quando tentei isso, a resolução de DNS parou de funcionar.

Então: Sim, você pode desabilitar completamente o IPv6, mas você terá um sistema seriamente prejudicado.

    
por 22.02.2011 / 15:16
1

Isso desativará o ipv6 em todos os adaptadores de rede:

#!/bin/sh
IFS=$'\n'
net='networksetup -listallnetworkservices | grep -v asterisk'

for i in $net
do
    networksetup -setv6off "$i"
done
exit 0
    
por 02.10.2009 / 14:42
0

Em resposta ao seu comentário sobre a resposta de SvenW:

My goal is to make my systems totally IPV6 ignorant, is it possible?

Embora o IPv6 não seja usado em todos os lugares ainda, será - talvez depois de alguns anos. Então, eu estou supondo, e faria sentido, que o IPv6 fosse tão integrado ao OS X quanto o IPv4, e você precisaria reconstruir o kernel (e provavelmente alguns aplicativos) para remover qualquer um deles. (Eu não tenho nenhuma fonte embora.)

    
por 02.10.2009 / 19:37
0

esta página parece informativa. parece que funciona se for executado como root. Eu não sinto como desativá-lo permanentemente, então eu não posso confirmar o comando sysctl.

root@Shambhala:~# ifconfig
lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> mtu 16384
    inet6 ::1 prefixlen 128 
    inet6 fe80::1%lo0 prefixlen 64 scopeid 0x1 
    inet 127.0.0.1 netmask 0xff000000 
en0: flags=8863<UP,BROADCAST,SMART,RUNNING,SIMPLEX,MULTICAST> mtu 1500
    inet6 fe80::21b:63ff:fea5:de87%en0 prefixlen 64 tentative scopeid 0x4 
    media: autoselect status: inactive
en1: flags=8863<UP,BROADCAST,SMART,RUNNING,SIMPLEX,MULTICAST> mtu 1500
    inet 172.16.11.98 netmask 0xffffff00 broadcast 172.16.11.255
    inet6 fe80::21c:b3ff:fe77:c434%en1 prefixlen 64 tentative scopeid 0x5  
    media: autoselect status: active
    supported media: autoselect
vboxnet0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
    inet6 fe80::276:62ff:fe00:0%vboxnet0 prefixlen 64 scopeid 0x7 
    ether 00:76:62:00:00:00 

root@Shambhala:~# ip6 -x
root@Shambhala:~# ifconfig 
lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> mtu 16384
    inet6 ::1 prefixlen 128 
    inet6 fe80::1%lo0 prefixlen 64 scopeid 0x1 
    inet 127.0.0.1 netmask 0xff000000 
en0: flags=8863<UP,BROADCAST,SMART,RUNNING,SIMPLEX,MULTICAST> mtu 1500
    media: autoselect status: inactive
en1: flags=8863<UP,BROADCAST,SMART,RUNNING,SIMPLEX,MULTICAST> mtu 1500
    inet 172.16.11.98 netmask 0xffffff00 broadcast 172.16.11.255
    media: autoselect status: active
    supported media: autoselect
vboxnet0: flags=8842<BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
    ether 00:76:62:00:00:00 

parece que o ipv6 permanece ativado no dispositivo de loopback ...

    
por 03.10.2009 / 14:56
0

Você disse que o ipfw usa as regras do ipv6. Então você pode simplesmente bloquear o ipv6 lá, isso acontece no kernel e nada relacionado ao ipv6 funcionará.

    
por 03.10.2009 / 15:38