3.9 KiB
DNS для клиентов и свой AdGuard Home
Какие DNS получают клиенты
По умолчанию в конфиге клиента (секция [Interface]) стоит строка
DNS = 1.1.1.1, 8.8.8.8
То есть Cloudflare и Google.
Где посмотреть и поменять
В панели: «Настройки» → «DNS для клиентов». Впишите адреса через запятую. Если поле пустое, используются 1.1.1.1 и 8.8.8.8.
- Новые клиенты получают новый DNS сразу.
- Уже выданным клиентам достаточно заново открыть ссылку или QR, пересоздавать клиента не нужно.
- Значение хранится в
/opt/Phobos/server/server.envв строкеCLIENT_DNS=..., без пробелов.
Вручную, только для одного клиента: исправьте строку DNS = в его .conf и заново импортируйте конфиг.
Роутеры Keenetic раздают устройствам в домашней сети свой собственный DNS, строка из конфига на них не влияет.
Firewall клиента (🛡). Если клиенту задан список разрешённых адресов, всё остальное блокируется, и запросы к DNS тоже. Добавьте в разрешённые адреса DNS-серверов, например 1.1.1.1:53/udp, 8.8.8.8:53/udp.
Свой AdGuard Home на том же VPS
127.0.0.1в конфиг клиента прописывать нельзя. СтрокуDNS =выполняет устройство клиента, и127.0.0.1для него — это оно само, а не сервер.
Указывать нужно адрес сервера внутри туннеля. Это первый адрес подсети WG, его видно в строке Address файла /etc/wireguard/wg0.conf на сервере, например 10.25.11.1. Закрытый наружу 53 порт ничему не мешает: запросы идут внутри туннеля через интерфейс wg0.
- AGH должен слушать адрес wg0. В
AdGuardHome.yaml, в разделеdns.bind_hosts, должен быть10.25.11.1или0.0.0.0. Если там только127.0.0.1, добавьте адрес wg0 и перезапустите AGH. - Откройте 53 порт только из туннеля (нужно, если входящие соединения на сервере закрыты):
Чтобы правило пережило перезагрузку, сохраните его, например через
iptables -I INPUT -i wg0 -p udp --dport 53 -j ACCEPT iptables -I INPUT -i wg0 -p tcp --dport 53 -j ACCEPTnetfilter-persistent save. - Пропишите этот адрес клиентам: панель → «Настройки» → «DNS для клиентов» →
10.25.11.1. - Если у клиента включён firewall 🛡, добавьте в разрешённые
10.25.11.1:53/udp.
Проверка с устройства клиента при включённом VPN:
nslookup ya.ru 10.25.11.1
Запрос должен появиться в журнале запросов AGH.
Если серверов несколько. Клиент может переключиться на другой сервер, а адрес DNS в конфиге один для всех. Поэтому либо ставьте AGH на каждый сервер так, чтобы он слушал адрес wg0 этого сервера, либо оставьте общедоступные DNS.