OpenWRT.su

Open.Wireless.Super and LEDE

Полное отключение IPv6 в OpenWrt

Полное отключение IPv6 в OpenWRT

Вообще отключать IPv6 все начали с тех времен, когда он мог освободить несколько заветных килобайт в rom памяти роутера. Сейчас же его отключают потому, что большинству он бесплатно не сдался при работе в домашней сети. Независимо от того, какие у вас на это причины - о том, как вырезать поддержку данного протокола на корню и вычистить любое упоминание о нем в вашей OpenWRT коробке вы узнаете под катом данного поста. 

1. Отключение IPv6 на этапе сборки прошивки OpenWRT

Ну естественно, чтобы конкретно вырезать поддержку IPv6 вам придется собрать свою прошивку OpenWRT. В make menuconfig вам потребуется отключить следующие пункты:

1. Отключаем поддержку IPv6 при компиляции всех пакетов сборки

Global build settings > Enable IPv6 support in packages 

2. Отключаем поддержку IPv6 в командном интерфейсе Busybox

Отключаем поддержку IPv6 в командном интерфейсе Busybox

Global build settings > Base system > busybox > Networking Utilities > Enable IPv6 support 

3. Отключаем поддержку фильтров IPv6 на уровне ядра 

Отключаем поддержку фильтров IPv6 на уровне ядра

Kernel modules > Netfilter Extensions > kmod-nf-ipt6 

4. Отключаем библиотеку IPv6 для правил фаервола

Отключаем библиотеку IPv6 для правил фаервола

Libraries > Firewall > libip6tc

5. Отключаем демонов работающих с протоколом IPv6

Отключаем демонов работающих с протоколом IPv6

Network > odhcpd-ipv6only

Network > odhcpd

2. Очистка конфигов на роутере

Как показывает практика, после успешной сборки и заливки прошивки на роутер, у него все равно в конфигах присутствуют кое-какие отсылки к использованию IPv6. Чтобы продолжить начатое требуется:

  1. Удалить если есть все IPv6 адреса в файле /etc/hosts
  2. Удалить если есть опцию ula_prefix из файла /etc/config/network
  3. Удалить все правила содержащие IPv6 адреса из конфигов фаервола
  4. Удалить если есть все IPv6 адреса из /etc/config/uhttpd
  5. Удалить все настройки переадресации IPv6 из файла /etc/sysctl.d/10-default.conf. Обычно 2 строки в конце файла net.ipv6.conf.default.forwarding=1 и net.ipv6.conf.all.forwarding=1
  6. Добавить опцию option ipv6 '0' после каждой строки option proto в файле /etc/config/network
  7. Добавить опцию disable_ipv6 '1' в файл /etc/config/firewall

В случае каких-либо дополнений пост будет обновлен. 

Комментарии  

Zero_cule
+1 # Zero_cule 19.10.2018 21:55
Кое что новое, а смысл чистить конфиги если Ipv6 отключен будет в пакетах? Разве они не будут игнориться
Ответить | Ответить с цитатой | Цитировать
Wrtman
0 # Wrtman 20.10.2018 11:51
Игнориться то может и будут, но хочется идеальной вырезки
Ответить | Ответить с цитатой | Цитировать
DcMaan
0 # DcMaan 15.11.2018 23:52
Как быть если в упор не вижу некоторых пунктов в меню? :o пытаюсь собрать последнюю версию openwrt git clone github.com/openwrt/openwrt.git без ipv6
Ответить | Ответить с цитатой | Цитировать
Wrtman
+2 # Wrtman 16.11.2018 09:46
В последних транк версиях openwrt если вы снимаете первую галочку Global build settings > Enable IPv6 support in packages то последующие 2 сами пропадают
Ответить | Ответить с цитатой | Цитировать
Xinstant
+1 # Xinstant 20.11.2018 15:26
Не /etc/conf/uhttpd а /etc/config/uhttpd, а так полезно при сборке спасибо
Ответить | Ответить с цитатой | Цитировать

Добавить комментарий

Если вы хотите получать сообщения c ответами на ваши комментарии - то укажите свой настоящий e-mail. Если же вы тут проездом, чтобы оставить комментарий укажите в поле email no@openwrt.su