Обход блокировок в России через АнтиЗапрет на прошивке Keenetic

Если у вас прошивка версии 3.8 или новее

  1. Должны быть установлены компоненты «Фильтрация контента и блокировка рекламы при помощи облачных сервисов» и «Прокси-сервер DNS-over-HTTPS». Если у вас оригинальный роутер Keenetic, то установите эти компоненты, если не оригинальный, то все компоненты уже установлены.

  2. В разделе «Интернет-фильтр» на вкладке «Настройка DNS» в «Системный» профиль добавить серверы

Тип сервера DNS: DNS-over-HTTPS
URL сервера DNS: https://common.dot.dns.yandex.net/dns-query
Домен: v.31337.lol

Тип сервера DNS: DNS-over-HTTPS
URL сервера DNS: https://dns.google/dns-query
Домен: v.31337.lol

Вы можете использовать другие публичные DNS, главное, чтобы это были серверы DNS-over-HTTPS. В этом примере выбраны адреса Яндекса и Google для отказоустойчивости (российский сервис + зарубежный сервис). Единственная цель этих серверов — корректно отрезолвить домен АнтиЗапрета для поднятия VPN-туннеля.

  1. В том же разделе («Интернет-фильтр» на вкладке «Настройка DNS») в «Системном» отключить получение адресов от провайдера и добавить серверы
Тип сервера DNS:  По умолчанию
Адрес сервера DNS: 195.208.4.1

Тип сервера DNS:  По умолчанию
Адрес сервера DNS: 1.1.1.1

Вы можете использовать другие публичные серверы, главное, чтобы соблюдались условия:

  • это должны быть классические IPv4 DNS-серверы, никаких IPv6/DoH/DoT
  • эти серверы не должны пересекаться с теми, которые используются на предыдущем шаге (например, если вы использовали сервер dns.google, то тут нельзя использовать сервер 8.8.8.8, т. к. это один и тот же сервер)

В этом примере выбраны адреса НСДИ и Cloudflare для отказоустойчивости (российский сервис + зарубежный сервис).

Цель этих серверов — предоставить доступ к обходу блокировок удалённым клиентам роутера (например, если вы подняли на роутере VPN-сервер и подключаетесь к нему через интернет). Кроме того, эти серверы будут использоваться для внутренних нужд роутера (например, чтобы отрезолвить домены компании Keenetic, через которые роутер проверяет обновления, держит связь с KeenDNS и тому подобное).

  1. В разделе «Интернет-фильтр» на вкладке «Настройка DNS» создать профиль «AntiZapret» и добавить в него серверы
Тип сервера DNS:  По умолчанию
Адрес сервера DNS: 62.76.62.76

Тип сервера DNS:  По умолчанию
Адрес сервера DNS: 9.9.9.10

Нажать «Сохранить», чтобы рядом с именем профилей пропала звёздочка.

Вы можете использовать в профиле «AntiZapret» другие публичные серверы (вместо 62.76.62.76 и 9.9.9.10, как в примере), главное, чтобы соблюдались условия:

  • это должны быть классические IPv4 DNS-серверы, никаких IPv6/DoH/DoT
  • эти серверы не должны пересекаться с теми, которые использовались на предыдущих шагах (например, если вы использовали сервер dns.google на первом шаге, то тут нельзя использовать сервер 8.8.8.8, т. к. это один и тот же сервер)

В этом примере выбраны адреса MSK-IX и Quad9 для отказоустойчивости (российский сервис + зарубежный сервис).

Цель этих серверов — предоставить доступ к обходу блокировок локальным клиентам роутера.

Внимание: если у вас прошивка 3.9 и новее желательно отключить «Транзит запросов» для только что созданного профиля «AntiZapret».

  1. В разделе «Интернет-фильтры» на вкладке «Контентный фильтр» выбрать режим фильтрации «Публичные DNS-резолверы и настраиваемые профили». Ниже в разделе «Профили контентной фильтрации по умолчанию» для всех сетей (домашняя, гостевая) выбрать из выпадающего списка профиль «AntiZapret» (он в самом низу выпадающего списка).

  2. В разделе «Другие подключения» создать OpenVPN-подключение с именем «AntiZapret». Включить настройку «Получать маршруты от удаленной стороны». Скачать файл конфигурации (зеркало на случай, если сайт заблокировали; ещё зеркало), открыть его блокнотом и вставить содержимое в поле «Конфигурация OpenVPN». Кроме того, туда же в самое начало или самый конец добавить следующие строки

pull-filter ignore block-outside-dns
route 195.208.4.1
route 1.1.1.1
route 62.76.62.76
route 9.9.9.10

Важно: эти адреса в конфиге OpenVPN должны полностью совпадать с теми, которые вы указали на шагах 2 и 3. Если вы использовали не 62.76.62.76 и 9.9.9.10, а, скажем, 8.8.4.4, то и тут у вас будет route 8.8.4.4

Внимание: если у вас прошивка версии 3.8, нужно удалить строку setenv opt data-ciphers AES-128-GCM:AES-256-GCM:AES-128-CBC. На более свежих прошивках (3.9 и новее) это УДАЛЯТЬ НЕ НУЖНО.

  1. Включить это только что созданное OpenVPN-подключение.

Опционально: доступ к ИИ-сервисам (ChatGPT, Microsoft Copilot, Bing Chat и Google Gemini) из России

В разделе «Интернет-фильтр» на вкладке «Настройка DNS» в «Системный» профиль добавить серверы:

Для доступа к ChatGPT (веб)

Тип сервера DNS: DNS-over-HTTPS
URL сервера DNS: https://dns.comss.one/dns-query
Домен: chatgpt.com

Тип сервера DNS: DNS-over-HTTPS
URL сервера DNS:https://dns.comss.one/dns-query
Домен: openai.com

Тип сервера DNS: DNS-over-HTTPS
URL сервера DNS: https://dns.comss.one/dns-query
Домен: oaistatic.com

Тип сервера DNS: DNS-over-HTTPS
URL сервера DNS: https://dns.comss.one/dns-query
Домен: oaiusercontent.com

Для доступа к Microsoft Copilot (приложение Windows) и Microsoft Copilot: Ihr KI-Begleiter

Тип сервера DNS: DNS-over-HTTPS
URL сервера DNS: https://dns.comss.one/dns-query
Домен: copilot.microsoft.com

Тип сервера DNS: DNS-over-HTTPS
URL сервера DNS: https://dns.comss.one/dns-query
Домен: bing.com

Для доступа к Google Gemini через браузер

Тип сервера DNS: DNS-over-HTTPS
URL сервера DNS: https://dns.comss.one/dns-query
Домен: gemini.google.com

Для доступа к Google Gemini через приложение на Android дополнительно добавить

Тип сервера DNS: DNS-over-HTTPS
URL сервера DNS: https://dns.comss.one/dns-query
Домен: proactivebackend-pa.googleapis.com

Поскольку KeenticOS не позволяет добавить более 8 записей DoH, придётся либо отказаться от каких-то сервисов, либо вместо DNS-over-HTTPS и https://dns.comss.one/dns-query использовать DNS-over-TLS и dns.comss.one. В таком случае допустимое количество серверов увеличиваетсчя до 16 (8 DoH + 8 DoT). Если ваш провайдер не перехватывает DNS-трафик, то вместо DNS-over-HTTPS можете использовать обычный DNS и адрес 195.133.25.16.


Опционально: совместная работа AdGuard Home, установленного на роутере, с АнтиЗапретом.


Если вы используете не публичный АнтиЗапрет, а свой собственный, развёрнутый на вашем сервере, то в инструкции ничего не меняется за исключением того, что шаг 1 вы пропускаете полностью, а на шаге 5 берёте свой файл конфигурации. Кроме того, домены ИИ-сервисов вам проще добавить в “белый” список на вашем сервере и проксировать их через него, а не использовать Comss DNS. Актуальный список доменов, блокирующих со своей стороны доступ из России, вы можете взять в моём репозитории.

Если у вас прошивке версии 3.7 или старее

  1. В свойствах подключения к провайдеру включить настройку «Игнорировать DNS», а также вписать в качестве «DNS 1» и «DNS 2» адреса каких-нибудь публичных DNS-серверов, например, 77.88.8.8 и 9.9.9.10. Если у вас подключение к провайдеру по протоколу PPPoE, то это всё надо делать в настройках PPPoE. Если у вас модем, то всё это делать в настройках самого модема (вам виднее, где там у модема настройки, у модемов обычно свой веб-интерфейс).

Внимание: Если подключение к провайдеру у вас осуществляется в виде VPN-подключения (LT2P/PPTP) к какому-то непубличному серверу (например, tp.internet.beeline.ru или l2tp.freedom), адрес которого не резолвится через публичные DNS, то вместо домена (в примере выше tp.internet.beeline.ru) указывайте его IP. Иначе, подключение к провайдеру работать не будет, поскольку включена настройка «Игнорировать DNS».

Вы можете использовать другие публичные серверы (вместо 77.88.8.8 и 9.9.9.10, как в примере), главное, чтобы это были классические IPv4 DNS-серверы, никаких IPv6/DoH/DoT

  1. В разделе «Другие подключения» создать OpenVPN-подключение с именем «AntiZapret». Включить настройку «Получать маршруты от удаленной стороны». Скачать файл конфигурации (зеркало на случай, если сайт заблокировали; ещё зеркало), открыть его блокнотом и вставить содержимое в поле «Конфигурация OpenVPN». Кроме того, туда же в самое начало или самый конец добавить следующие строки
pull-filter ignore block-outside-dns
route 77.88.8.8
route 9.9.9.10

А также удалить строку setenv opt data-ciphers AES-128-GCM:AES-256-GCM:AES-128-CBC

Важно: эти адреса в конфиге OpenVPN должны полностью совпадать с теми, которые вы указали на шаге 1. Если вы на шаге 1 использовали не 77.88.8.8 и 9.9.9.10, а, скажем, 1.1.1.1, то и тут у вас будет route 1.1.1.1

  1. Включить это только что созданное OpenVPN-подключение.

Если вы используете не публичный АнтиЗапрет, а свой собственный, развёрнутый на вашем сервере, то в инструкции ничего не меняется за исключением того, что на шаге 2 вы берёте свой файл конфигурации.

[зарезервировано на будущее]

Спасибо, помогло

Работает ли у вас AZ совместно с удаленным доступом через KeenDNS?
У меня при включении AZ роутер становится недоступным.

У меня нет оригинальных Keenetic-ов с актуальной версией прошивки. Только пиратки, на которых KeenDNS не работает, и старый оригинал с прошивкой 2.16, до которого я в ближайшие недели вряд ли доберусь.

На 2.16, кстати, всё настраивается, как и на 3.6, за тем исключением, что опция “использовать DNS провайдера” в веб-интерфейсе отсутствует и её нужно выключать через CLI командой no ip dhcp client name-servers (на интерфейсе WAN).

Диагностика в случае возникновения проблем

  1. Добавьте в конфиг строку verb 5
    Это заставит OpenVPN выдавать в системный журнал более подробные сведения о происходящем. После этого смотрите системный журнал в разделе настроек «Диагностика».

  2. Возможно, провайдер заблокировал доступ к домену АнтиЗапрета. Особенно актуально для прошивок 3.6 и старее, где нет защиты от блокировки доступа к серверу. Скачайте актуальный файл конфигурации и убедитесь, что адрес в строке remote ... совпадает с тем, который указан в конфиге на роутере.

  3. Пройдите стандартный тест («standard test») на сайте dnsleaktest.com
    В результатах теста должен быть лишь ОДИН сервер — сервер АнтиЗапрета. Если вы видите какие-то другие серверы, возможно, на устройстве, на котором вы проходите тест, уже настроен какой-то VPN, установлено расширение для обхода блокировок в браузере, указаны вручную адреса сторонних DNS-серверов в настройках подключения к сети, либо включён «безопасный DNS» в настройках браузера или настройках операционной системы. Всё это необходимо отключить.

  4. Проверьте, в какие IP-адреса преобразуются имена заблокированных доменов.
    Самый простой способ: выполнить в консоли на клиентском устройстве (не на самом роутере) пинг заблокированного ресурса: ping rutracker.org
    При правильных настройках пинг пойдёт до адреса, начинающегося с 10., например
    Обмен пакетами с rutracker.org [10.224.0.209]

Подскажите пожалуйста, если я настрою свой Keenetic по этой инструкции, будут проксироваться все сайты или только заблокированные РК?

Только.

Понятно.Спасибо.Настроил по инструкции всё работает.

Подскажите, пожалуйста, возможно ли настроить Keenetic на одновременную работу DNS-фильтра AntiZapret (настроен по инструкции) и DNS-серверов Comss.one для работы Gemini (AI от Google)?
По отдельности два настроенных по инструкции DNS-фильтра работают:

  • включаю AntiZapret с DNS-серверами 77.88.8.8 и 9.9.9.10 - разблокируются сайты;
  • влючаю Системный с DoH и DoT от Comss.one DNS - работает Gemini (AI от Google).

Реально работает у меня на Дом.Ру. Спасибо!
Keenetic Viva, прошивка 4.1.3

Если поставить вопрос иначе:
Можно ли настроить роутер таким образом, чтобы web-страница gemini.google.com фильтровалась DNS-фильтром Системный, в то время как для всего сегмента влючен DNS-фильтр AntiZapret?

В Системный профиль нужно добавить DoH комсы для конкретного домена (в моём случае это bing.com для Microsoft Copilot, в вашем будет gemini.google.com или вообще google.com, а может быть понадобятся ещё какие-то адреса). Этот DoH комсы будет использоваться, чтобы резолвить именно указанный домен, поэтому он не нарушает работу АнтиЗапрета.

Будет полезно добавить в системный профиль ещё раз DoH комcы, но уже для домена antizapret.prostovpn.org или v.31337.lol (смотря какой у вас сервер указан в конфиге OpenVPN, старый antizapret.prostovpn.org или новый v.31337.lol). Это помогает обходить блокировку АнтиЗапрета со стороны провайдеров.

Результат: при заходе на Bing AI - Suchen мне доступен Copilot. Если бы для этого домена не использовался DNS комсы, я бы получил сообщение, что Copilot мне не полагается. При этом, все остальные домены резолвятся через АнтиЗапрет, поэтому работает обход блокировок.

Было бы куда проще, если бы KeeneticOS позволяла добавлять DoH/DoT для конкретного домена не только в системный профиль. Но по какой-то причине это доступно лишь для системного.

Благодарю.
Теперь работает AntiZapret и Gemini одновременно.
PS: Copilot заработал после добавления домена copilot.microsoft.com, т.е. с доменом bing.com Copilot не захотел работать.

Класс! Гемини заработал а вот Copilot нет, и на бинг даже не заходит (добавил оба)! А можно так же сделать для чатгпт или у нее слишком много доменов? добавил 4 основных:
chat.openai.com
intercomcdn.com
oaistatic.com
oaiusercontent.com
но не открывается.
Хотя у меня не открывается чатгпт даже когда я добавил эти домены в список кастомных хостов (антизапрет на своем сервере)

UPD. 1 не знаю связано это или нет, но через 10 мин обновил прошивку на роутере и гемини перестал открываться… если кто-то может натолкнуть, куда копать, то пожалуйста, помогите.
UPD. 2 через 10 мин заработало снова)

Можно в браузере через инструменты разработчика посмотреть, к каким доменам идут запросы при обращении к chat.openai.com

Я пытался, но ни к каким особенным доменам не ведет, причем на странице блокировки показывает не айпишник сервера, а мой домашний, я их менял, но толку нет…


неужели может мешать favicon.ico?

UPD. добавил все что можно, помогло.


еще нужно добавить oaiusercontent.com но внезапно, в настройках моего роутера больше 8 доменов DoH нельзя добавить, он просто исчезает…