Ник Пост Дата
Joyz

На роутере поднят OpenVPN client antizapret и в локалке есть AdGuard Home.
Можно ли как по их подружить чтобы пользоваться этим одновременно или это заработает только если поднимать на удаленной VPS свой контейнер + AdGuard ?

2022-08-20T23:52:45.941Z
ValdikSS

Инструкция от @dartraiden

2022-08-22T16:22:28.937Z
dartraiden(Alexander Gavrilov)

Принцип ровно так же, как и со встроенным DNS-сервером роутера

  • клиентам в качестве DNS прописывается адрес AGH (где он там поднят в локалке)
  • в настройках AGH в качестве апстрима указываются некоторые публичные DNS (обычные а-ля 8.8.8.8, не DoH/DoT)
  • в конфиге OpenVPN на роутере трафик до всех этих публичных DNS с прошлого шага заворачивается в туннель командами route x.x.x.x
  • дальше уже на стороне сервера antizapret этот DNS-трафик автоматически перехватывается и вместо этих публичных DNS отвечает DNS-сервер antizapret, ответ поступает к AGH, а от него клиентам => profit
2022-08-22T19:14:10.891Z
nirvana008

Здравствуйте, столкнулся с той же проблемой, что и автор темы. Не могу подружить OpenVPN клиент с антизапретом на Asus Merlin и adguard home, установленный на мини-сервере в моей локалке. Adguard хочу использовать как локальный dns-сервер. Пробовал различные настроить по всем инструкциям выше, не хотят работать вместе, либо перестают открываться сайты, либо не работает локальный домен. В чем может быть проблема? Может быть из-за того, что у меня роутер asus, нужно еще что-то настроить в нем?

2025-01-26T16:29:49.716Z
dartraiden(Alexander Gavrilov)

Вряд ли я что-то могу сказать про то, почему не работает локальный домен.

2025-01-26T19:57:34.847Z
nirvana008

Складывается впечатление, что они мешают друг, поэтому работает либо vpn, либо adguard. В файле конфигурации vpn прописывал route с ip подсети, с ip роутера, с ip adguard, добавлял строчку dhcp-option DNS, менял access DNS на exclusive, ничего не помогает. В adguard прописывал upstream серверы такие же, как и в конфигурации VPN и отличные от внешних DNS, тоже не помогает, как только указываю adguard в качестве dns сервера, даже тест upstream перестают проходить. Может быть стоит dnsmasq использовать для локального DNS сервера?

2025-01-26T20:09:25.363Z
dartraiden(Alexander Gavrilov)

Ну, это совсем бессмысленно, вы же понимаете.

Что даёт route x.x.x.x? Это указание, что трафик к x.x.x.x нужно отправить в туннель. То есть, вы трафик, который предназначен локальному вашему AGH, зачем-то роутите в туннель. Типа “у меня в квартире в соседней комнате бабушка, так чтобы с ней пообщаться я буду писать в Германию”. Это даже в теории никак помочь не сможет.

Схема маршрутизации DNS-трафика должна быть такая:
клиент -> роутер -> AGH -> публичный plain-text DNS

Разделим задачу на две части

Часть 1

Добейтесь сначала того, чтобы это работало. Без всякого АнтиЗапрета (лучше пока вообще подключение к АнтиЗапрету снести, чтобы не мешалось). Убедитесь на клиенте (клиентском устройве типа смартфона или ПК), что ему по DHCP в качестве DNS пришёл адрес роутера. Затем убедитесь, что роутер использует в качестве апстрим-DNS AGH (например, заблокируйте на AGH какой-то домен и убедитесь, что он стал недоступен на клиентах). В AGH соответственно в качестве апстрима укажите публичный DNS типа 8.8.8.8 (не шифрованный).

Часть 2

Когда у вас всё будет работать именно таким образом, уже пытайтесь в эту схему встроить АнтиЗапрет. Обычно это делается путём помещения в конфиг OVPN директивы route 8.8.8.8 (тот адрес, который в AGH используется как апстрим).

Благодаря этому схема получится клиент -> роутер -> AGH -> АнтиЗапрет (т.к. трафик до публичного plain-text DNS будет ловиться АнтиЗапретом).

Где-то тут на форуме была тема про асусы, там был нюанс, что есть такая пакость, как VPN Director на асусах (в настройках) и что-то там в нём нужно было сделать. Но в любом случае это уже вторая часть уравнения.

2025-01-26T21:07:51.411Z
nirvana008

route использовал по одной из инструкций в интернете, решил попробовать, вдруг поможет, но не помогло. При отключении клиента vpn, adguard работает без проблем, как только включаю vpn, adguard перестает работать.
VPN director выключил, как было написано на этом форуме в одной из тем, так как он как я понял начинает весь трафик перенаправлять через vpn и прилетает бан от антизапрета.
Одинаковый публичный dns одинаковый указывал как в конфигурации OpenVPN, так и upstream сервер, не помогает.
Хочу еще попробовать указать ip dns сервера adguard как в конфигурации на сервере, так и на клиенте, может быть это поможет

2025-01-26T21:43:59.693Z
dartraiden(Alexander Gavrilov)

Да можно же просто трассировку запустить до условного 8.8.8.8 с указанием 53 порта и посмотреть, по какому маршруту оно идёт. Например, nmap позволяет указать порт
sudo nmap -Pn --traceroute -p 53 8.8.8.8

2025-01-26T21:46:46.455Z