52 lines
3.9 KiB
Markdown
52 lines
3.9 KiB
Markdown
# 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.
|