Быстрый старт Сеть Обновлено 6 Кроссплатформенно

WireGuard и приватный DNS 1.1.1.1: настройка

Пошаговая инструкция по настройке WireGuard с DNS-сервером 1.1.1.1 от Cloudflare: как прописать DNS, настроить маршрутизацию и проверить отсутствие утечек.

WireGuardDNS1.1.1.1Cloudflareприватностьнастройка
Содержание
КороткоВ этой статье вы найдёте практические шаги по настройке WireGuard с DNS-сервером 1.1.1.1 от Cloudflare. Мы объясним, зачем это нужно, как прописать DNS в конфигурации и проверить, что запросы не утекают. Инструкция подойдёт для серверов и клиентов на Linux, Windows, macOS и мобильных устройствах.

WireGuard — это современный VPN-протокол, который обеспечивает быстрый и безопасный туннель. Однако даже при использовании VPN ваши DNS-запросы могут «утекать» — то есть отправляться через обычный канал провайдера. Это сводит на нет приватность и может привести к блокировкам. Один из лучших способов избежать этого — настроить WireGuard с приватным DNS (например, 1.1.1.1 от Cloudflare). В этой статье — конкретные шаги, как это сделать на сервере и клиенте.

Зачем нужен приватный DNS в WireGuard?

Когда вы используете WireGuard, ваш трафик проходит через туннель, но операционная система по-прежнему может использовать DNS-серверы, выданные провайдером. Это означает, что сайты вы открываете через VPN, но запросы к их IP-адресам (DNS) видны вашему провайдеру. Приватный DNS решает эту проблему: вы указываете в конфигурации WireGuard адрес доверенного DNS-сервера, например 1.1.1.1. Cloudflare гарантирует отсутствие логов и поддержку современных протоколов шифрования, что дополнительно защищает ваши запросы.

Что понадобится для настройки

Прежде чем приступить, убедитесь, что у вас есть:

  • установленный WireGuard (проверьте версию командой wg --version — актуальная для вашей ОС может отличаться, проверьте официальную документацию);
  • права администратора на сервере и клиенте;
  • базовые файлы конфигурации — как минимум wg0.conf или аналогичный;
  • понимание, где находится конфигурационный файл на вашей платформе (например, /etc/wireguard/ на Linux, C:\Program Files\WireGuard\ на Windows).

Все команды ниже нужно выполнять в терминале от имени пользователя с соответствующими правами.

Настройка DNS на сервере WireGuard

Если вы управляете сервером WireGuard (то есть тем узлом, через который идёт трафик), впишите DNS-сервер прямо в секцию [Interface] серверного конфига. Это даст клиентам автоматическую инструкцию использовать нужный DNS.

[Interface]
Address = 10.0.0.1/24
PrivateKey = <приватный ключ сервера>
ListenPort = 51820
DNS = 1.1.1.1, 1.0.0.1

Обратите внимание: строку DNS нужно добавить рядом с Address. В некоторых версиях WireGuard (проверьте для своей версии) параметр может называться иначе, но обычно это именно DNS. После изменения сохраните файл и перезапустите туннель: sudo systemctl restart wg-quick@wg0 (на системах с systemd).

Настройка DNS на клиенте

На клиенте (вашем компьютере или телефоне) также нужно указать DNS. Если сервер настроен как выше, некоторые клиенты подхватят DNS автоматически. Но для надёжности пропишите DNS явно в клиентском конфиге, в секции [Peer] или [Interface] — зависит от реализации. Например:

[Interface]
PrivateKey = <приватный ключ клиента>
Address = 10.0.0.2/24
DNS = 1.1.1.1

[Peer]
PublicKey = <публичный ключ сервера>
Endpoint = vpn.example.com:51820
AllowedIPs = 0.0.0.0/0, ::/0

Здесь важны два момента. Во-первых, AllowedIPs = 0.0.0.0/0 включает маршрутизацию всего трафика через туннель, включая DNS-запросы. Если вы хотите отправлять через VPN только DNS, можно сузить до IP-адреса сервера и адреса DNS — но это редкость. Во-вторых, строка DNS гарантирует, что ваша система будет использовать именно 1.1.1.1 для резолвинга.

После правки конфига перезапустите WireGuard. На Linux: sudo wg-quick down wg0 && sudo wg-quick up wg0. В Windows просто переключите туннель в приложении. На Android/iOS отредактируйте туннель и перезапустите его.

Проверка подключения и утечек DNS

Чтобы убедиться, что DNS-запросы идут через WireGuard и используют 1.1.1.1, выполните несколько простых команд (команды могут отличаться в зависимости от ОС — проверьте для своей версии):

  • Убедитесь, что туннель активен: wg show.
  • Проверьте, какой DNS сейчас используется: на Linux resolvectl status или cat /etc/resolv.conf.
  • Сделайте DNS-запрос к конкретному серверу: dig @1.1.1.1 example.com (или nslookup example.com 1.1.1.1). Если он успешно резолвится, значит доступ до DNS работает.
  • Проверьте утечки через внешний сервис: откройте в браузере сайт типа ipleak.net или dnsleaktest.com и посмотрите, какие DNS-серверы видны снаружи. Если там не 1.1.1.1 — значит запросы уходят мимо туннеля.

Если утечки обнаружены, проверьте, что AllowedIPs включает маршрут к 1.1.1.1 (обычно это 0.0.0.0/0) и что в файле конфигурации нет опечаток. Также на некоторых системах нужно отключить другие DNS-демоны (systemd-resolved, resolvconf) или настроить их правильно — но это выходит за рамки статьи.

Типичные ошибки и их устранение

Настройка DNS в WireGuard может подкинуть несколько сюрпризов. Вот что чаще всего идёт не так, и как это исправить:

  • DNS не меняется после включения туннеля. Проверьте, что в конфиге есть строка DNS и что вы перезапустили туннель. В некоторых системах нужно вручную изменить файл /etc/resolv.conf — но лучше использовать штатные механизмы.
  • DNS-запросы идут через провайдера. Это происходит, когда AllowedIPs не включает IP-адрес DNS-сервера. Убедитесь, что у вас 0.0.0.0/0 или добавьте отдельный маршрут 1.1.1.1/32.
  • Конфликт с systemd-resolved. Если у вас Ubuntu с systemd, WireGuard может не переключить DNS автоматически. Решение — использовать DNS = 1.1.1.1 и настройки PostUp, либо отключить systemd-resolved и вручную редактировать resolv.conf (проверьте для вашей версии).
  • Не работает доступ к локальной сети. Если вы добавили AllowedIPs = 0.0.0.0/0, весь трафик пойдёт через VPN, и локальные ресурсы в вашей офисной сети перестанут открываться. Добавьте исключения в AllowedIPs, например 192.168.1.0/24, либо разделите туннели.

Следуя этим рекомендациям, вы сможете настроить приватный DNS в WireGuard и избавиться от утечек. Помните, что конфигурации могут отличаться в зависимости от вашей версии WireGuard и операционной системы — всегда сверяйтесь с документацией к вашему дистрибутиву.

Мини-чеклист

  • Строка DNS = 1.1.1.1 прописана в секции [Interface] и на сервере, и на клиенте.
  • AllowedIPs на клиенте включает 0.0.0.0/0 или отдельный маршрут к 1.1.1.1/32.
  • Туннель перезапущен после изменения конфигурации (wg-quick down/up или эквивалент).
  • Проверено отсутствие утечек DNS через dnsleaktest.com или ipleak.net.

Частые ошибки

  • Забывают добавить DNS в конфигурацию — система продолжает использовать DNS провайдера.
  • Указывают DNS, но не обновляют AllowedIPs — запросы к 1.1.1.1 идут в обход туннеля.
  • Не перезапускают туннель — изменения в конфиге не применяются.
  • Игнорируют конфликт с systemd-resolved, что приводит к сбою резолвинга (особенно на Ubuntu).

Источники и документация

FAQ

Что такое приватный DNS и почему 1.1.1.1 считается приватным?

Приватный DNS — это сервер, который не ведёт логи запросов и поддерживает шифрование (DoH или DoT). 1.1.1.1 от Cloudflare гарантирует удаление логов в течение 24 часов и не передаёт данные третьим лицам, поэтому он считается приватным. Настройка его в WireGuard защищает ваши DNS-запросы от перехвата.

Можно ли использовать 1.0.0.1 вместо 1.1.1.1?

Да, 1.0.0.1 — это второй DNS-сервер Cloudflare с аналогичными свойствами. Вы можете указать оба адреса через запятую (DNS = 1.1.1.1, 1.0.0.1) для резерва.

Перестанет ли работать интернет, если я укажу DNS в WireGuard?

Если конфигурация настроена корректно (включая AllowedIPs), интернет продолжит работать, но все DNS-запросы будут идти через 1.1.1.1. Сбои обычно возникают из-за ошибок в маршрутизации или конфликтов с системными DNS-сервисами.

Нужно ли настраивать DNS на обоих концах (сервер и клиент)?

Оптимально указать DNS и в серверном, и в клиентском конфиге. Серверная настройка автоматически передаёт DNS некоторым клиентам, но клиентская — гарантирует, что именно ваше устройство использует нужный адрес, даже если серверной директивы не хватает.

Хотите перейти сразу к рабочему доступу?

Если сценарий уже ясен и не хочется проходить все шаги вручную, оформите доступ и проверьте подключение на своем устройстве.

Получить доступ

Дальше по теме

Связанные статьи