-
Notifications
You must be signed in to change notification settings - Fork 56
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Перехват DNS не работает в отдельных случаях #213
Comments
А. Причина работы после шаманства с настройкамиСобственно, надо узнать почему: Ndhcps начинает слушать, что ему указали
, получить скриншоты Б. Просто переписать PREROUTINGХотя текущие правила почти идеальны, на мой взгляд. Но можно над ними по-разному издеваться, тестируя каждый. Вдруг так проявляется работа хардварного оптимизатора запросов, и что-то он пропустит?
В. Проба перехвата после NdhcpsМы сейчас пытаемся перехватывать DNS-трафик до ухода его в Ndhcps. Это оптимизированно; но если хотим ловить, например, и сегменты; то универсальнее после. Попытка этого через настройки приводит к тому, что в каждом случае своё шаманство (собственно, по этой причине и пытаемся пересесть на правила перехвата вместо настроек). Но если уж переписывать имеющиеся правила, то почему бы не замахнуться на победу над двумя проблемами сразу? Таблица nat, как сейчас (там доступны DNAT). Цепочка или OUTPUT, если перехватывать после Ndhcps; или POSTROUTING, если хотим хватать любой нешифрованный DNS. Если критерием, опять же, ставить порт 53; то людям надо запретить использовать DoT и DoH в админке (при пути через настройки, коий сейчас используется, аналогично). Ещё из минусов, что мы захватываем DNS всех подсетей (путь через настройки, который сейчас, аналогично).
|
самый гибкий (если он рабочий вариант) , с моей точки зрения это:
Нет нужды в отлавливании наименования интерфейсов. |
Надо просто добраться до хоть одного устройства, у которого воспроизводится проблема. Когда поставленная из коробки бета не перехватывает DNS. Ну и проверить всю пачку вариантов. Возможно, это на какой-то из архитектур так аппаратный сетевой ускоритель отрабатывает, прокидывая мимо софтовой обработки iptables эти запросы. И с какой-то из видов записей будет работать хорошо. У нескольких человек я спросил, на днях попробую. Пункт В я вечером проверю у себя, но это чисто ради #41. Хотя он может тоже помочь на тех случаях, что у меня не воспроизводятся. Если не поможет в итоге ничего из этого, то останется лишь вариант возврата на 53 порт (во всех случаях DNS протекал через прокси Кинетика). Но это пока забегание вперёд, сначала нужно проверить. |
Сегодня удалось поковырять один из девайсов с нерабочим перехватом DNS. Он из нового поколения с изменённым процом, так что нюансы аппаратного ускорения явно изменились. Никакой реакции на сочетание
|
Немного на тему #195 ещё. Вот в этом вопросе я рассказывал, что какие бы настройки не указывал в админке в разделе Сейчас подёргал в API
У меня нигде в настройках нет этого самого 8.8.4.4. Opkg чистый. Если я сохраняю файл конфигурации роутера, то там тоже 8.8.4.4 нигде не упоминается. Нет ни на одной странице настроек! По Вызвал
Аналогично с 8.8.4.4. Записи пропадают. И даже 192.168.112.1, который нельзя. Получаем:
После этого на странице с интернет-провайдером пробую указать ещё раз порядок
Он обратно восстанавливает всё это. Т.е. я могу за счёт |
Полагаю, что это проблема и недочет в самой прошивке. Для окончательной проверки надо бы попробовать в старой версии - до 4.1 |
На время, можно в крон поставить обновление dns_server = 192.168.1.1:9753, только вот период надо понять какой поставить. Но это "костыль", конечно. |
Кроме этого, боюсь, какие-то из тоннелей перестанут работать после ndnproxy глубоко зашит в прошивку, обслуживает все из видов туннелей. И, видимо, на лету собирает свой приоритет: сначала для туннелей; потом, что указано в настройках. И в дальнейшей работе, встретив общественный для туннеля, DNS-трафик уходит туда. Забивая на истинные настройки в разделе «Профили DNS», они для него вторичны. |
Четвёртый способ с маркировкой одолеть не смог. Шестое из предположений завелось; но, как и с аутпутом, работа была не стабильна у одного человека:
В любом случае, до этого у человека вообще не работало. Нужно будет собрать очередную версию, и проверить с такими правилами. Завтра пришлю патч. Ещё понял, что отлов DNS на выходе/аутпутах может иметь проблемы, т.к. ndnproxy имеет свой кэш и навскидку не увидел, как это отключить. А у нас из-за такой прослойки ipset не заполнится. Так что решений вопроса меньше, чем предположил в начале. Только прероутинг. Рубрика странности Кинетика: вот мы свои правила помещаем под системными. Если посмотреть в системный NAT |
Текущая доработка #221 меняет приоритет так. Можем сделать ещё на шаг выше. |
Статистика среди опрошенных шла примерно как у 8 работало, у 4 новые изменения позволили начать работать динамическим спискам. Поэтому задачу закрыл. Сейчас всплыли двое с неработой динамического ipset (Hero 4G KN-2310, DSL KN-2010). Пока что плохо, что они не провели список проверки (повышение приоритета, смена порта, смена ДНС). Но т.к. случаи есть, то можно таким людям вернуть старый режим, как в предыдущей версии. Тот механизм завернул в команду Альтернативный режимМожно дописать к
Ещё надо будет, если реализовывать это:
|
Пока нет решения. Оставлю подумать себе.
По сути варианты стали всплывать от тех, у кого обход работал лишь частично. Поддомены динамически не добавлялись, но т.к. основные домены прогревались при рестарте, то выглядело рабочим. Жили в режиме «работает, если периодически дёргать kvas test».
В обоих случаях правила перехвата висели верно (у одного роутер только был 192.168.2.1)
DNS и браузеры были настроены верно (добавление в ipset руками чинило ситуацию). Dnsmasq на правильном порту, с рабочими выходом и kvas.dnsmasq. У обоих в итоге можно было завести через шаманство настроек (в одном случае случай идентичен моему, когда с правильными не войти в интернет, но после входа их можно изменить, и всё работает). Но это всё не важно, ведь основной вопрос — почему правила перехвата выше не работали. Они бы избавили от необходимости колдовать с настройками.
Вроде как общее правило у одного начинало работать
Но это опять даст дыру в безопасности (доступ извне).
Также можно попробовать словить на другом интерфейсе или исходящий.
The text was updated successfully, but these errors were encountered: