Перейти к содержанию

Вопрос

Опубликовано

Всем привет!

Должен сказать, что прежде чем написать вопрос, я испробовал массу вариантов. И так, вопрос - как полностью исключить работу протокола 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 он показал мне прежний "фарш".. 

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

Рекомендуемые сообщения

  • 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" станет не обязательный - но вас это может не устроить.

  • 0
Опубликовано (изменено)

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

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

120790600__342.png.365ca1aab55547e6844d240b8796988d.png

 

Изменено пользователем AndreBA
  • 0
Опубликовано (изменено)
13 минуты назад, AndreBA сказал:

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

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

120790600__342.png.365ca1aab55547e6844d240b8796988d.png

 

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

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

Изменено пользователем Timophei
  • 0
Опубликовано

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

interface no ipv6cp

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

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

  • 0
Опубликовано (изменено)
2 минуты назад, Mikesk сказал:

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

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

 

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

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

 

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

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

 

Изменено пользователем AndreBA
  • 0
Опубликовано
16 минут назад, AndreBA сказал:

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

interface no ipv6cp

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

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

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

  • 0
Опубликовано
7 минут назад, Mikesk сказал:

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

 

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

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

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

  • 0
Опубликовано
7 минут назад, AndreBA сказал:

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

 

 

 

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

netfilter.jpg

  • 0
Опубликовано
21 минуту назад, Timophei сказал:

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

netfilter.jpg

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

  • 0
Опубликовано
24 минуты назад, Timophei сказал:

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

netfilter.jpg

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

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

  • 0
Опубликовано
5 минут назад, r13 сказал:

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

no ipv6 subnet Default

no ipv6 subnet Guest

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

  • 0
Опубликовано (изменено)
18 минут назад, Timophei сказал:

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

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

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

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

Изменено пользователем r13
  • 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

  • 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, а не провайдеру. 

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

  • 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

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

 

  • 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/

Изменено пользователем imedvedev
  • 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

  • 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 сервис.

 

  • 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/

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

  • 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? Извини, за такую кучу вопросов.

  • 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 и на оборот.

Изменено пользователем Ivan Maslov
  • 0
Опубликовано

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

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

  • 0
Опубликовано
7 minutes ago, Timophei said:

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

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

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

  • 0
Опубликовано (изменено)

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

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

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

Изменено пользователем Timophei
  • 0
Опубликовано
1 час назад, Timophei сказал:

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

У меня есть TPLink PowerLine 2шт. которые продлевает обычный ethernet поверх 220В. Оказалось, что у моего соседа тоже такой есть и он подцеплялся к моей сети адаптеров из-за того, что шифрование у моих было выключено (сын постарался, нажал на сброс).

За пару последних дней вторая отличная история о глюках КинОС 😁 В первой истории фигурировала дочка-хакер 🤣

  • 0
Опубликовано
2 часа назад, vk11 сказал:

За пару последних дней вторая отличная история о глюках КинОС 😁 В первой истории фигурировала дочка-хакер 🤣

Ооооо, да. Представляешь как я мучился не понимая, почему же это opkg dns-override не работает, а dnsmasq не выполняет своих прямых обязанностей 😂

Скинь ссылку про дочку хакера, почитаю :)

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.
Примечание: Ваш пост будет проверен модератором, прежде чем станет видимым.

Гость
Ответить на вопрос...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу
×
×
  • Создать...

Важная информация

На этом сайте используются файлы cookie. Нажимая "Я принимаю" или продолжая просмотр сайта, вы разрешаете их использование: Политика конфиденциальности.