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

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

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

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

Тип сервера DNS: DNS-over-HTTPS
URL сервера DNS: https://dns.cloudflare.com/dns-query

Тип сервера DNS: DNS-over-HTTPS
URL сервера DNS: https://dns.google/dns-query

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

  • это должны быть серверы DNS-over-HTTPS
  • эти адреса не должны никоим образом пересекаться с адресами в профиле «AntiZapret» (об этом далее)
  1. В разделе «Интернет-фильтр» на вкладке «Настройка DNS» создать профиль «AntiZapret» и добавить в него публичные DNS-серверы 77.88.8.8 и 9.9.9.10 (это адреса серверов Яндекса и Quad9). Нажать «Сохранить», чтобы рядом с именем профилей пропала звёздочка. Должно получиться следующее:
  • в «Системном профиле» адреса, автоматически полученные от провайдера, плюс адреса DNS-over-HTTPS, добавленные вами на прошлом шаге
  • в профиле «AntiZapret» адреса 77.88.8.8 и 9.9.9.10

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

  • это должны быть классические IPv4 DNS-серверы, никаких IPv6/DoH/DoT
  • эти адреса не должны никоим образом пересекаться с адресами в «Системном профиле» (то есть, быть полностью иными: если у вас в системном профиле используется dns.google, то в профиле «AntiZapret» не должно быть ничего, связанного с Google, типа 8.8.8.8)
  • желательно, чтобы это не были серверы Google, иначе при развёртывании OPKG (Entware) произойдёт ошибка

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

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

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

pull-filter ignore block-outside-dns
route 77.88.8.8
route 9.9.9.10

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

Внимание: если у вас прошивка версии 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.controld.com/comss
Домен: chatgpt.com

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

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

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

Для доступа к Microsoft Copilot

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

Для доступа к Bing Chat

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

Для доступа к Google Gemini

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

Поскольку KeenticOS не позволяет добавить более 8 записей DoH, придётся либо отказаться от одного из сервисов (например, от Bing Chat), либо вместо DoH и https://dns.controld.com/comss использовать DoT и comss.dns.controld.com. В таком случае допустимое количество серверов увеличиваетсчя до 16 (8 DoH + 8 DoT).

Если у вас прошивке версии 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».

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

  • это должны быть классические IPv4 DNS-серверы, никаких IPv6/DoH/DoT
  • желательно, чтобы это не были серверы Google, иначе при развёртывании OPKG (Entware) произойдёт ошибка
  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-подключение.

К слову, первый вариант (который с DoH) успешно продолжает работать через провайдера Дом.ру даже со старым доменом (antizapret.prostovpn.org)

Всё потому, что провайдер осуществил блокировку соединения c VPN-сервером самым примитивным способом:

  • заворачивает весь трафик по 53 порту на свой DNS, чтобы пользователи не могли использовать сторонние DNS
  • вместо реального IP-адреса домена antizapret.prostovpn.org провайдерский DNS-сервер выдаёт адрес заглушки, чтобы VPN-туннель не поднялся

Поскольку в “Системном” профиле (профиль, используемый прошивкой для своих внутренних нужд) у меня предусмотрительно используется DoH, то этот трюк провайдера не срабатывает и туннель успешно поднимается.

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

Работает ли у вас 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 нельзя добавить, он просто исчезает…