Files
PCA_Phobos/docs/DNS.md
2026-11-11 15:12:21 +03:00

52 lines
3.9 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 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`.
1. **AGH должен слушать адрес wg0.** В `AdGuardHome.yaml`, в разделе `dns.bind_hosts`, должен быть `10.25.11.1` или `0.0.0.0`. Если там только `127.0.0.1`, добавьте адрес wg0 и перезапустите AGH.
2. **Откройте 53 порт только из туннеля** (нужно, если входящие соединения на сервере закрыты):
```bash
iptables -I INPUT -i wg0 -p udp --dport 53 -j ACCEPT
iptables -I INPUT -i wg0 -p tcp --dport 53 -j ACCEPT
```
Чтобы правило пережило перезагрузку, сохраните его, например через `netfilter-persistent save`.
3. **Пропишите этот адрес клиентам:** панель → «Настройки» → «DNS для клиентов» → `10.25.11.1`.
4. Если у клиента включён firewall 🛡, добавьте в разрешённые `10.25.11.1:53/udp`.
Проверка с устройства клиента при включённом VPN:
```bash
nslookup ya.ru 10.25.11.1
```
Запрос должен появиться в журнале запросов AGH.
**Если серверов несколько.** Клиент может переключиться на другой сервер, а адрес DNS в конфиге один для всех. Поэтому либо ставьте AGH на каждый сервер так, чтобы он слушал адрес wg0 этого сервера, либо оставьте общедоступные DNS.