Автоматическая настройка может быть временно отключена для eth1 с помощью:
sudo sysctl -w net.ipv6.conf.eth1.autoconf=0
sudo sysctl -w net.ipv6.conf.eth1.accept_ra=0
или для всех интерфейсов с:
sudo sysctl -w net.ipv6.conf.all.autoconf=0
sudo sysctl -w net.ipv6.conf.all.accept_ra=0
Повторное включение работает с использованием 1 вместо 0 в вызове.
Постоянное отключение может быть сделано с записью в /etc/sysctl.conf
. В Debian Etch (возможно, также и на более новых), без настройки accept_ra
, система будет автоматически конфигурироваться с использованием локального адреса Link ( fe80..
)
Как Gart упомянул ниже, автоматическая конфигурация адреса и обнаружение маршрутизатора будут отключены, если сам хост является маршрутизатором, а accept_ra
не 2
, т.е.
net.ipv6.conf.<iface|all|default>.forwarding=1
а также
net.ipv6.conf.<iface|all|default>.accept_ra=0
или net.ipv6.conf.<iface|all|default>.accept_ra=1
.
где iface
твой интерфейс
net.ipv6.conf.all.forwarding=1
установлен.net.ipv6.conf.all.accept_ra = 0 выше не следует делать, так как RA необходимы для индикации соединения и отсутствия соединения для префикса (согласно RFC5942), а также для автоматической настройки ряда других параметры, такие как MTU, время ожидания Neighbor Discovery и т. д.
Если вы хотите отключить автоконфигурацию, либо отключите sysctl autoconf, как указано выше, либо отключите A (бит автоконфигурации) в опции информации о префиксе (PIO) в RA.
источник
Это не сработало для меня в Debian Wheezy. После изучения /etc/sysctl.conf мне нужно было использовать
источник
sysctl
Решение не работает для нас на Ubuntu 18.04 Bionic. Мы решили это:Редактирование
/etc/netplan/01-netcfg.yaml
, настройка:Возможно, вам придется использовать имя вашего интерфейса вместо
eth0
. После сохранения файла выполните:netplan apply
илиreboot
Если вы уже получили IPv6 IP из автоконфигурации и хотите удалить его без перезагрузки, вы можете выполнить:
Конечно, вам нужно заменить IP-адрес и устройство в этой команде.
источник
Проблема с Ubuntu 18 и ipv6 заключается в том, что systemd-networkd контролирует параметры ядра, поэтому, хотя вы можете отключить ipv6 с помощью sysctl, networkd будет более чем рад включить их для вас, если в конфигурации не указано иное.
Мое решение отключить ipv6 - настроить локальный канал в netplan на пустой скаляр (при условии, что у вас нет IP-адреса локального канала ipv4)
Конфигурация скомпилирует конфигурацию для networkd, которая будет опубликована в /run/systemd/network/10-netplan-eth0.network и убедит networkd не устанавливать ipv6 для eth0
Если вы можете захотеть отключить ipv6 и в loopback, это легко сделать, установив для параметра ядра net.ipv6.conf.all.disable_ipv6 значение 1. Кажется, что networkd не управляет loopback.
источник