Введение
В данной коротенькой заметке разберем как отключить IPv6 на роутере с прошивкой OpenWrt, для этого нам понадобится доступ по SSH к роутеру и копипаста команд ниже. Частенько нужно при настройке раздельной маршрутизации по отдельным сайтам.
Отключение IPv6 на роутере с OpenWrt
Для отключения IPv6 на роутере с OpenWrt подключаемся к нему по ssh и поочередно вводим команды ниже:
uci set 'network.lan.ipv6=0'
uci set 'network.wan.ipv6=0'
uci set network.lan.delegate="0"
uci set 'dhcp.lan.dhcpv6=disabled'
uci -q delete dhcp.lan.dhcpv6
uci -q delete dhcp.lan.ra
uci -q delete network.globals.ula_prefix
/etc/init.d/odhcpd disable
/etc/init.d/odhcpd stop
uci set dhcp.@dnsmasq[0].filter_aaaa='1'
uci commit
sysctl -w net.ipv6.conf.all.disable_ipv6=1
echo 1 > /proc/sys/net/ipv6/conf/all/disable_ipv6
sysctl -w net.ipv6.conf.default.disable_ipv6=1
sysctl -w net.ipv6.conf.lo.disable_ipv6=1
/etc/init.d/network restart
service dnsmasq restart
Немного подробнее о командах для отключения IPv6 на OpenWrt
uci set 'network.lan.ipv6=0'
иuci set 'network.wan.ipv6=0'
– отключаем поддержку IPv6 для интерфейсов LAN и WAN, устанавливая значение параметраipv6
в0
.
uci set 'dhcp.lan.dhcpv6=disabled'
– отключаем сервер DHCPv6 для локальной сети, чтобы устройства в LAN не получали IPv6-адреса.
uci -q delete dhcp.lan.dhcpv6
– удаляем параметрdhcpv6
из конфигурации DHCP для LAN.
uci -q delete dhcp.lan.ra
– удаляем параметр RA из конфигурации DHCP для LAN, чтобы отключить рассылку IPv6-префиксов.
uci set network.lan.delegate="0"
– отключаем делегирование IPv6-префиксов для LAN.
uci -q delete network.globals.ula_prefix
– удаляем ULA префикс.
/etc/init.d/odhcpd disable
и/etc/init.d/odhcpd stop
– отключаем и останавливаем службуodhcpd
, которая отвечает за DHCPv6 и RA.
uci set dhcp.@dnsmasq[0].filter_aaaa='1'
– включаем фильтрацию AAAA-записей в DNS.
uci commit
– сохраняем все внесенные изменения.
sysctl -w net.ipv6.conf.all.disable_ipv6=1
– отключаем поддержку IPv6 для всех сетевых интерфейсов через sysctl.
echo 1 > /proc/sys/net/ipv6/conf/all/disable_ipv6
– отключаем IPv6 для всех интерфейсов, записывая значение1
в файл/proc/sys/net/ipv6/conf/all/disable_ipv6
.
sysctl -w net.ipv6.conf.default.disable_ipv6=1
– отключаем IPv6 по умолчанию для всех новых сетевых интерфейсов.
sysctl -w net.ipv6.conf.lo.disable_ipv6=1
– отключаем IPv6 для интерфейса loopback.
/etc/init.d/network restart
– перезапускаем сетевые интерфейсы, чтобы применить изменения.
service dnsmasq restart
– перезапускаем службуdnsmasq
, чтобы применить изменения в конфигурации DNS и DHCP.
Заключение
В данной заметке разобрали как отключить IPv6 на роутере с OpenWrt.
Что бы не потерять инструкцию рекомендую подписаться на мой личный блог-канал в Telegram в котором я делюсь в формате заметок своими знаниями и интересным из мира IT, спасибо за потраченное время на чтение и доброго времени суток!)
Так же вы можете отблагодарить автора материально:

Опять же, для чего отключать? Вы могли бы приводить примеры практического применения. Видно что разбираетесь и блог не просто так, а для широких масс. И всё же не все и всё досканально знают
Приветствую, Дмитрий
Я уже по дефолту отключаю его, а если вы пользуетесь скриптами от ItDog и другими подобными, для маршрутизации на медленные сайты, то она не всегда работает как надо с ipv6
Денис, добрый день!
А зачем после Init скриптовых команд отключения и остановки службы ODHCPD следует команда сохранения изменений в конфигурации UCI? Логичнее сделать перезапуск сети Я про вот эту часть:
/etc/init.d/odhcpd disable
/etc/init.d/odhcpd stop
uci commit
Тем более в “Немного подробнее о …” данная команда у вас есть (/etc/init.d/network restart – перезапускаем сеть.) но в основном блоке её нет.
Приветствую, Дмитрий
Благодарю, что написали, недавно обновлял команды из чернового варианта, забыл отредактировать🤝