Назад | Перейти на главную страницу

Отключить автоконфигурацию ipv6 на определенном интерфейсе в OSX

Возможно ли это через командную строку или код C с использованием sysctl / fcntl / etc. API, чтобы отключить запросы маршрутизатора IPv6, прием рекламы маршрутизатора и т. Д. На OSX для определенного интерфейса? Это кажется возможным через sysctl из командной строки, но только в масштабе всей системы.

Эквивалент Linux sysctl:

sysctl net.ipv6.conf.<ifname>.autoconf=0
sysctl net.ipv6.conf.<ifname>.accept_ra=0
sysctl net.ipv6.conf.<ifname>.accept_redirects=0
sysctl net.ipv6.conf.<ifname>.router_solicitations=0

(Последнее является избыточным, возможно, ненужным.)

В Linux это делается для одного интерфейса, но не для всех интерфейсов.

Я не хочу отключать локальную адресацию канала или предотвращать ручную настройку с помощью ifconfig, просто чтобы OSX отключила и игнорировала материал autoconf маршрутизатора IPv6.

Вы можете получить список интерфейсов с:

networksetup -listallnetworkservices

А затем отключите его для каждого интерфейса:

networksetup -setv6off "Ethernet 1"