Jump to content
  • 0
Timophei

Как отключить ipv6 на Zyxel Keenetic Giga III? (всё перепробовал)

Question

Всем привет!

Должен сказать, что прежде чем написать вопрос, я испробовал массу вариантов. И так, вопрос - как полностью исключить работу протокола ipv6 на моём роутере Zyxel Keenetic Giga III?

Для чего: у меня провайдер МГТС, с недавних пор он стал выдавать полный фарш - динамический Ipv4 (что меня вполне устраивает) и ipv6. У меня на роутере настроен opkg-dnsoverride, все DNS запросы уходят через DNS Crypt proxy + настроен перехват заблокированных доменов, которые пробрасываются в tor и тем самым открываются без проблем. С недавних пор заметил, что на запрос сайта одного трекера открывается провайдерская заплатка, мол, извини, иди лесом. Я подумал "КАК??". И понял, что DNS запросы каким то образом ходят через ipv6, т.к. принудительно отключив протокол ipv6 на ноуте у меня всё заработало как и было раньше. Но вот на мобильных девайсах такой фокус не сделаешь. Поэтому я стал рыть CLI в поисках отключения протокола, ибо из web интерфейса он не выпиливается, так как это обязательный компонент.

Я пробовал прописать на всех интерфейсах, которые показывали наличие ipv6 ip'шников, команды - 

no ipv6 address auto
no ipv6 prefix auto
no ipv6 name-servers auto
no ipv6 force-default
 

system configuration save
copy running-config startup-config
system reboot

Но каково же было моё удивление, когда командой show ipv6 addresses он показал мне прежний "фарш".. 

Уточните, гуру, что я упускаю? Заранее спасибо!

Share this post


Link to post
Share on other sites

Recommended Posts

  • 0
19 минут назад, Timophei сказал:

Всем привет!

Должен сказать, что прежде чем написать вопрос, я испробовал массу вариантов. И так, вопрос - как полностью исключить работу протокола ipv6 на моём роутере Zyxel Keenetic Giga III?

Для чего: у меня провайдер МГТС, с недавних пор он стал выдавать полный фарш - динамический Ipv4 (что меня вполне устраивает) и ipv6. У меня на роутере настроен opkg-dnsoverride, все DNS запросы уходят через DNS Crypt proxy + настроен перехват заблокированных доменов, которые пробрасываются в tor и тем самым открываются без проблем. С недавних пор заметил, что на запрос сайта одного трекера открывается провайдерская заплатка, мол, извини, иди лесом. Я подумал "КАК??". И понял, что DNS запросы каким то образом ходят через ipv6, т.к. принудительно отключив протокол ipv6 на ноуте у меня всё заработало как и было раньше. Но вот на мобильных девайсах такой фокус не сделаешь. Поэтому я стал рыть CLI в поисках отключения протокола, ибо из web интерфейса он не выпиливается, так как это обязательный компонент.

Я пробовал прописать на всех интерфейсах, которые показывали наличие ipv6 ip'шников, команды - 

no ipv6 address auto
no ipv6 prefix auto
no ipv6 name-servers auto
no ipv6 force-default
 

system configuration save
copy running-config startup-config
system reboot

Но каково же было моё удивление, когда командой show ipv6 addresses он показал мне прежний "фарш".. 

Уточните, гуру, что я упускаю? Заранее спасибо!

Если удалить компонент "Модули ядра подсистемы Netfilter" то "Протокол IPv6" станет не обязательный - но вас это может не устроить.

Share this post


Link to post
Share on other sites
  • 0

@TimopheiТак же в подключениях, снять галочку об использовании ipv6(если все же компонент установлен):

Скрытый текст

120790600__342.png.365ca1aab55547e6844d240b8796988d.png

 

Edited by AndreBA

Share this post


Link to post
Share on other sites
  • 0
13 минуты назад, AndreBA сказал:

@TimopheiТак же в подключениях, снять галочку об использовании ipv6(если все же компонент установлен):

  Скрыть содержимое

120790600__342.png.365ca1aab55547e6844d240b8796988d.png

 

Да, галку я конечно убрал, результата нет.

 ipv6 и Netfilter являются обязательными компонентам, в web interface их не удалить, так как окно не активно. И да, Netfilter нужен.

Edited by Timophei

Share this post


Link to post
Share on other sites
  • 0

Через CLI(попробовать):

interface no ipv6cp

Описание(из мануала):

Включить поддержку IPv6CP на этапе установления соединения.
Команда с префиксом no отключает IPv6CP.

Share this post


Link to post
Share on other sites
  • 0
2 минуты назад, Mikesk сказал:

Компонент Протокол IPv6 удалите.

Не сможет его удалить, пока не удалит компонент "Модули ядра подсистемы Netfilter"

 

1 час назад, Timophei сказал:

Поэтому я стал рыть CLI в поисках отключения протокола, ибо из web интерфейса он не выпиливается, так как это обязательный компонент.

 

52 минуты назад, AndreBA сказал:

Если удалить компонент "Модули ядра подсистемы Netfilter" то "Протокол IPv6" станет не обязательный - но вас это может не устроить.

 

Edited by AndreBA

Share this post


Link to post
Share on other sites
  • 0
16 минут назад, AndreBA сказал:

Через CLI(попробовать):

interface no ipv6cp

Описание(из мануала):

Включить поддержку IPv6CP на этапе установления соединения.
Команда с префиксом no отключает IPv6CP.

Это касается только PPP подключений. У меня же прямое соединение с провайдером. 

Share this post


Link to post
Share on other sites
  • 0
7 минут назад, Mikesk сказал:

Компонент Протокол IPv6 удалите.

 

8 минут назад, Mikesk сказал:

Компонент Протокол IPv6 удалите.

Как я писал, этот компонент является обязательным. Поле в web интерфейсе не активно. 

Share this post


Link to post
Share on other sites
  • 0
7 минут назад, AndreBA сказал:

Не сможет его удалить, пока не удалит компонент "Модули ядра подсистемы Netfilter"

 

 

 

Поле не активно.

netfilter.jpg

Share this post


Link to post
Share on other sites
  • 0
21 минуту назад, Timophei сказал:

Поле не активно.

netfilter.jpg

 "Модули ядра подсистемы Netfilter" зависит от "Пакет расширения Xtables-addons для Netfilter"

Share this post


Link to post
Share on other sites
  • 0
24 минуты назад, Timophei сказал:

Поле не активно.

netfilter.jpg

Когда поле не активно, значит есть связанные компоненты, которые от него зависят. Разверните компонент (стрелочка перед названием) и увидите их. И так по цепочке.

Снимок экрана от 2019-11-29 15-19-36.png

Share this post


Link to post
Share on other sites
  • 0
48 минут назад, Mikesk сказал:

Когда поле не активно, значит есть связанные компоненты, которые от него зависят. Разверните компонент (стрелочка перед названием) и увидите их. И так по цепочке.

Снимок экрана от 2019-11-29 15-19-36.png

Как выше этот модуль Netfilter мне всё же нужен. Выборочный обход блокировок я делал по этому мануалу: https://habr.com/ru/post/428992/ 

Share this post


Link to post
Share on other sites
  • 0
6 минут назад, Timophei сказал:

Как выше этот модуль Netfilter мне всё же нужен. Выборочный обход блокировок я делал по этому мануалу: https://habr.com/ru/post/428992/ 

Можно ещё отключить выдачу v6 на интерфейсах:

no ipv6 subnet Default

no ipv6 subnet Guest

Share this post


Link to post
Share on other sites
  • 0
5 минут назад, r13 сказал:

Можно ещё отключить выдачу v6 на интерфейсах:

no ipv6 subnet Default

no ipv6 subnet Guest

Эм, мне кажется это не совсем то. По Мануалу - "ipv6 subnet Описание Доступ к группе команд для настройки сегмента локальной сети IPv6. Если сегмент не найден, команда пытается его создать.". У меня таких сегментов нет, т.к. выдаётся ошибка. Но всё равно спасибо)

Share this post


Link to post
Share on other sites
  • 0
18 минут назад, Timophei сказал:

Эм, мне кажется это не совсем то. По Мануалу - "ipv6 subnet Описание Доступ к группе команд для настройки сегмента локальной сети IPv6. Если сегмент не найден, команда пытается его создать.". У меня таких сегментов нет, т.к. выдаётся ошибка. Но всё равно спасибо)

Стрвнно, это настройки по умолчанию

Посмотрите какие subnet есть в конфиге

Сами сегменты к которым применяется subnet определяются в параметрах subnet

Edited by r13

Share this post


Link to post
Share on other sites
  • 0
6 hours ago, Timophei said:

Как выше этот модуль Netfilter мне всё же нужен. Выборочный обход блокировок я делал по этому мануалу: https://habr.com/ru/post/428992/ 

А что мешает допилить все скрипты для IPv6?

Spoiler

Модифицировать файл /opt/etc/dnsmasq.conf добавив тутда всего одну строку:


listen-address=:: 

и добавить соответствующие правила для перенаправления IPv6 ДНС запросов на свой ДНС сервер:


if [ -z "$(ip6tables-save 2>/dev/null | grep "udp \-\-dport 53 \-j DNAT")" ]; then
	ip6tables -w -t nat -I PREROUTING -i br0 -p udp --dport 53 -j DNAT --to 192.168.0.1
fi

if [ -z "$(ip6tables-save 2>/dev/null | grep "tcp \-\-dport 53 \-j DNAT")" ]; then
	ip6tables -w -t nat -I PREROUTING -i br0 -p tcp --dport 53 -j DNAT --to 192.168.0.1
fi

 

Да, это очень тяжело сделать. Товарищи разработчики, давайте вообще IPv6 из ядра выпилим? :-)

Автор статьи на habr молодец. Сам использую его скрипты. Мои конфиги, в том числе и для IPv6 во вложении.

backup-Tor.tar.gz

  • Thanks 1

Share this post


Link to post
Share on other sites
  • 0

@Ivan Maslov, Стоит упомянуть, что ваши конфиги заработают только с патчами tor из этой ветки 

 

Share this post


Link to post
Share on other sites
  • 0

@@Ivan Maslov @imedvedev Привет! 

Я сам стал копать в этом направлении, спасибо за наглядный пример и инструкции! Попробую сделать. 

 

Share this post


Link to post
Share on other sites
  • 0

@Ivan Maslov Попробовал сделать по твоему примеру. Ничего не получается, браузер на mac'е упорно продолжает отображать заплатку от МГТС, при запросе kinozal.tv.

dig kinozal.tv с роутера показывает:

.......
.......

;; Query time: 68 msec
;; SERVER: 2a00:1370:1111:100::a401:d61#53(2a00:1370:1111:100::a401:d61)
;; WHEN: Mon Dec 02 14:50:16 MSK 2019
;; MSG SIZE  rcvd: 71

У меня на роутере крутится dnscrypt, на порту 55053, в dnsmasq прописан конфиг: 

listen-address=192.168.4.1
listen-address=127.0.0.1
listen-address=::1

server=192.168.4.1#55053

При отключении ipv6 на mac - всё ровно, заплатка не приходит, а сайт открывается через tor автоматом. 

В файле: 

/opt/etc/ndm/netfilter.d/100-redirect6

#!/bin/sh

[ "$type" == "iptables" ] && exit 0
[ "$table" != "nat" ] && exit 0

ipset create unblock6 hash:net family inet6 -exist

if [ -z "$(ip6tables-save 2>/dev/null | grep unblock6)" ]; then
    ip6tables -t nat -A PREROUTING -i br0 -p tcp -m set --match-set unblock6 dst -j REDIRECT --to-ports 9151  # TOR
fi

if [ -z "$(ip6tables-save 2>/dev/null | grep "udp \-\-dport 53 \-j DNAT")" ]; then
    ip6tables -w -t nat -I PREROUTING -i br0 -p udp --dport 53 -j DNAT --to 192.168.4.1:55053
fi

if [ -z "$(ip6tables-save 2>/dev/null | grep "tcp \-\-dport 53 \-j DNAT")" ]; then
    ip6tables -w -t nat -I PREROUTING -i br0 -p tcp --dport 53 -j DNAT --to 192.168.4.1:55053
fi

exit 0

Цель - чтобы запросы DNS уходили через DNSCRYPT, а не провайдеру. 

Подскажи, где ошибка, пожалуйста. 

Share this post


Link to post
Share on other sites
  • 0
1 hour ago, Timophei said:

ip6tables -w -t nat -I PREROUTING -i br0 -p udp --dport 53 -j DNAT --to 192.168.4.1:55053

Это правило руками пробовал запустить? Должно выдать ошибку.

Самый правильный вариант, такой:

1. Прописать на Bridge0 интерфейсе ipv6 адрес, например  - ipv6 address 2a05:xxxx:xxxx:xxxx::97, где xxxx - имя подсети, которую тебе выдал провайдер.

2. Прописать правило такое - ip6tables -w -t nat -I PREROUTING -i br0 -p tcp --dport 53 -j DNAT --to 2a05:xxxx:xxxx:xxxx::97:55053

Ошибки в студию.

 

Share this post


Link to post
Share on other sites
  • 0
2 часа назад, Timophei сказал:

У меня на роутере крутится dnscrypt, на порту 55053, в dnsmasq прописан конфиг: 

Добавьте в конфиг dnsmasq "conf-file=/opt/etc/unblock.dnsmasq" в который скрипт /opt/bin/unblock_dnsmasq.sh будет прописывать ipset=/$line/unblock,unblock6
Иначе в ipset не будут попадать поддомены домена из списка для разблокировки

Все подробности тут: https://habr.com/en/post/428992/

Edited by imedvedev

Share this post


Link to post
Share on other sites
  • 0

@Ivan Maslov лажанулся на записи ip6tables -w -t nat -I PREROUTING -i br0 -p tcp --dport 53 -j DNAT --to ::1, сначала прописал ip'шник v4, спасибо большое за уточнение. Странно, что при обновлении скриптом unblock_update.sh ошибки не было. А при вводе сточки вручную, сказал, что такого адреса не существует. Про пропись на Bridge0 адреса и потом указать его в конфиге тоже думал, но всё завелось и так, ещё раз спасибо!

Посмотрел твой конфиг dnsmasq, стало любопытно, можешь рассказать обо всём коротко? 

# DNS over TLS-HTTPS /tmp/ndnproxymain.stat

server=x.x.x.x#40500 - как работает этот сервис? 

# Tor onion

ipset=/.onion/unblock - тут всё понятно, просто не ясно откуда берутся пути /.onion/, /.exit/, /.i2p
server=/.onion/x.x.x.x#9153
ipset=/.exit/unblock
server=/.exit/x.x.x.x#9153

# I2P
address=/.i2p/x.x.x.x

# OpenNIC DNS
# https://servers.opennicproject.org/ - как работает сервис? 
server=/.lib/x.x.x.x.x.x
server=/.lib/x.x.x.x

Share this post


Link to post
Share on other sites
  • 0
6 minutes ago, Timophei said:

@Ivan Maslov лажанулся на записи ip6tables -w -t nat -I PREROUTING -i br0 -p tcp --dport 53 -j DNAT --to ::1, сначала прописал ip'шник v4, спасибо большое за уточнение. Странно, что при обновлении скриптом unblock_update.sh ошибки не было. А при вводе сточки вручную, сказал, что такого адреса не существует. Про пропись на Bridge0 адреса и потом указать его в конфиге тоже думал, но всё завелось и так, ещё раз спасибо!

Посмотрел твой конфиг dnsmasq, стало любопытно, можешь рассказать обо всём коротко? 

# DNS over TLS-HTTPS /tmp/ndnproxymain.stat

server=x.x.x.x#40500 - как работает этот сервис? 

# Tor onion

ipset=/.onion/unblock - тут всё понятно, просто не ясно откуда берутся пути /.onion/, /.exit/, /.i2p
server=/.onion/x.x.x.x#9153
ipset=/.exit/unblock
server=/.exit/x.x.x.x#9153

# I2P
address=/.i2p/x.x.x.x

# OpenNIC DNS
# https://servers.opennicproject.org/ - как работает сервис? 
server=/.lib/x.x.x.x.x.x
server=/.lib/x.x.x.x

 

Сейчас у тебя адекватно выглядит переброс на порт 53, раньше был на порт 55053. Т.е. получается, dnsmasq и не нужен. На самом деле все DNS запросы должен обслуживать именно dnsmasq на 53 порту. Он является агрегатором и решает кого и как "авторизовывать".

Тут все просто:

1. DNS over TLS-HTTPS -  это вместо DNS Crypt, прочитать можно тут

2. onion, exit - домены 0 уровня сети Тор. DNS запрос уходит на порт 9153 Tor сервиса, и IP адрес полученный в результате помешается в ipset unblock. ipset unblock - перенаправляет трафик на порт 9151 Tor сервиса.

3. lib - OpenDns домен 0-го уровня. Все имена, например rutracker.lib, будут авторизовываться через dns-server - x.x.x.x.x.x (/.lib/x.x.x.x.x.x) и /.lib/x.x.x.x

4. I2P address=/.i2p/172.17.17.17 весь трафик на домен 0-уровня i2p отправляется сразу на ip 172.17.17.17. Правило iptables -t nat -A PREROUTING -d 172.17.17.17 -p tcp --dport 80 -j REDIRECT --to-ports 9161 отправляет весь трафик в порт 9161, на котором висит i2p сервис.

 

  • Upvote 1

Share this post


Link to post
Share on other sites
  • 0
17 часов назад, imedvedev сказал:

Добавьте в конфиг dnsmasq "conf-file=/opt/etc/unblock.dnsmasq" в который скрипт /opt/bin/unblock_dnsmasq.sh будет прописывать ipset=/$line/unblock,unblock6
Иначе в ipset не будут попадать поддомены домена из списка для разблокировки

Все подробности тут: https://habr.com/en/post/428992/

Спасибо за сообщение, я конечно так сделал :)

Share this post


Link to post
Share on other sites
  • 0

@Ivan Maslov Спасибо за ответ выше.

Поясни, плз, ещё такой момент, когда создаётся пустое множество из IP v4/v6 скриптом:

 

#!/bin/sh

[ "$1" != "start" ] && exit 0

ipset create unblock hash:net family inet -exist
ipset create unblock6 hash:net family inet6 -exist

exit 0

Что означает ключ family? Извини, за такую кучу вопросов.

Share this post


Link to post
Share on other sites
  • 0
6 minutes ago, Timophei said:

@Ivan Maslov Спасибо за ответ выше.

Поясни, плз, ещё такой момент, когда создаётся пустое множество из IP v4/v6 скриптом:

 

#!/bin/sh

[ "$1" != "start" ] && exit 0

ipset create unblock hash:net family inet -exist
ipset create unblock6 hash:net family inet6 -exist

exit 0

Что означает ключ family? Извини, за такую кучу вопросов.

 

Тип ip адреса ipv6 или ipv4. ipset v4 не может содержать адресов v6 и на оборот.

Edited by Ivan Maslov
  • Upvote 1

Share this post


Link to post
Share on other sites
  • 0

@Ivan Maslov и, думаю, последний вопрос :)

Заметил, что в cкрипте автоматического заполнения множества unblock при загрузке маршрутизатора, т.е. в  файле /opt/etc/init.d/S99unblock дублируются записи из файлов из netfilter.d, в этом есть какой то определённый смысл? 

Share this post


Link to post
Share on other sites
  • 0
7 minutes ago, Timophei said:

@Ivan Maslov и, думаю, последний вопрос :)

Заметил, что в cкрипте автоматического заполнения множества unblock при загрузке маршрутизатора, т.е. в  файле /opt/etc/init.d/S99unblock дублируются записи из файлов из netfilter.d, в этом есть какой то определённый смысл? 

Нету. Это перестраховка.

Share this post


Link to post
Share on other sites
  • 0

Я в итоге нашёл, в чём была настоящая проблема, при которой у меня выступала заплатка от МГТС.

У меня есть TPLink PowerLine 2шт. которые продлевает обычный ethernet поверх 220В. Оказалось, что у моего соседа тоже такой есть и он подцеплялся к моей сети адаптеров из-за того, что шифрование у моих было выключено (сын постарался, нажал на сброс). Вследствие чего иногда мои устройства подхватывали IPv4/IPv6 от соседского GPON маршрутизатора со всеми вытекающими, поэтому у меня появлялась заплатка не смотря на жёстко прописанные в dnsmasq сервера dnscrypt. Зашёл на роутер соседей, убрал нафиг Ipv6, ибо очень приставучий он, заодно поставил шифрование между своими адаптерами. Теперь всё работает как часы. Забавно, что нашёл этот косяк случайно, когда в ifconfig'е увидел IP'шник присвоенный моему ноуту не из моей сети - это был разрыв шаблона :))

В любом случае, всем спасибо за помощь. Настроил фильтры на ipv6 для проброса в TOR, что тоже полезно.  

Edited by Timophei

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...