n1ro°
RU

Текст и данные · Инструкция

WireGuard AllowedIPs: как настроить split tunnel

WireGuard AllowedIPs split tunnel настраивается списком сетей у конкретного peer.

Редакция N1RO · Проверено

Короткий ответ

Как настроить AllowedIPs в WireGuard для split tunnel: какие сети указывать, когда не ставить 0.0.0.0/0 и ::/0, как проверить маршруты и конфликты LAN.

Что делает AllowedIPs

AllowedIPs в WireGuard — не просто декоративный список «разрешённых адресов». Для исходящего трафика эти сети помогают определить, какому peer соответствует адрес назначения; для входящего трафика они ограничивают допустимые адреса источника от этого peer. Поэтому запись 10.20.0.0/16 подходит для удалённой сети с таким префиксом, а 0.0.0.0/0 соответствует любому IPv4-адресу. Для IPv6 аналогом полного охвата является ::/0. Если задача — открыть только офисную сеть, NAS или один сервер, широкий маршрут обычно не нужен. Чем точнее префикс, тем предсказуемее split tunneling и тем меньше шанс, что обычный интернет неожиданно начнёт идти через VPN.

Важно: Не копируйте 0.0.0.0/0 и ::/0 из чужой конфигурации, если нужен только доступ к одной сети.

Сначала определите назначения

Перед изменением профиля выпишите реальные адреса, которые должны быть доступны через туннель. Для одного IPv4-хоста используют /32, для одной IPv6-точки — /128, для сети — её настоящий CIDR. Не добавляйте домашнюю LAN «на всякий случай»: если локальная сеть клиента совпадёт с удалённой, система получит два конкурирующих пути. Отдельно решите вопрос DNS. Split tunnel по IP не гарантирует, что внутренние имена будут разрешаться правильным DNS-сервером. Если корпоративный DNS доступен только через VPN, до него тоже должен существовать маршрут, а клиент должен действительно его использовать. Это объясняет частый симптом: внутренний IP открывается, а короткое имя сервера — нет.

Совет: Проверяйте IP и DNS раздельно: рабочий маршрут ещё не доказывает правильное разрешение имён.

Как настроить

  1. 1. Узнайте точный CIDR удалённой сети у администратора или из маршрутизатора; не выводите маску по одному знакомому IP.
  2. 2. В секции [Peer] оставьте PublicKey и Endpoint, а в AllowedIPs перечислите только нужные удалённые сети через запятую.
  3. 3. Для сети 10.20.0.0/16 используйте AllowedIPs = 10.20.0.0/16; для одного узла 10.20.5.25 можно сузить правило до 10.20.5.25/32.
  4. 4. Не добавляйте 0.0.0.0/0, если интернет должен идти напрямую. Не добавляйте ::/0, если весь IPv6 тоже не должен идти через VPN.
  5. 5. Переподключите интерфейс и проверьте конфигурацию через wg show или штатный интерфейс клиента.
  6. 6. Сначала проверьте внутренний IP, затем имя, затем обычный интернет: так маршрут, DNS и общий выход диагностируются отдельно.

Совет: После изменения AllowedIPs переподключите туннель: маршруты часто применяются только при повторном поднятии интерфейса.

Примеры AllowedIPs

  • 10.20.0.0/16. Через peer соответствует только эта IPv4-сеть.
  • 10.20.5.25/32. Только один IPv4-узел.
  • 0.0.0.0/0. Весь IPv4; основа full tunnel.
  • ::/0. Весь IPv6; full tunnel для IPv6.

Почему сеть всё ещё может не открываться

Handshake WireGuard подтверждает связь с peer, но не доказывает, что сервер умеет пересылать трафик дальше. Если удалённая LAN находится за VPN-сервером, на сервере должны существовать маршрутизация и правила firewall, а у удалённой сети — путь ответа. Другой частый крайний случай — одинаковые подсети дома и в офисе, например 192.168.1.0/24 с обеих сторон. Тогда пакет к принтеру или серверу может уйти не туда, куда ожидается. Лечить это расширением AllowedIPs до всего интернета плохо: проблема адресации останется. Лучше развести подсети или спроектировать контролируемый NAT/маршрут на шлюзе. Если растут счётчики WireGuard, но ресурс молчит, проверяйте путь по слоям: клиент, peer, сервер, forwarding, удалённый gateway, обратный маршрут и firewall.

Предупреждение: Handshake — это связь с peer, а не гарантия доступности ресурсов за ним.

Как сделать схему устойчивой

Сохраняйте рабочую конфигурацию до изменений и сравнивайте таблицу маршрутов до и после подключения. При нескольких peer следите, чтобы диапазоны не создавали двусмысленную адресацию. Для инфраструктуры с десятками сетей лучше поддерживать документированный набор CIDR, чем годами расширять маски после каждого сбоя. При появлении IPv6 проверяйте его отдельно: отсутствие ::/0 при полном туннеле может оставить прямой путь, а при осознанном split tunnel нужны такие же точные IPv6-префиксы. После обновления клиентской оболочки повторите тесты, потому что маршрутизацию создаёт не только сам протокол, но и управляющее приложение. Так конфигурация остаётся понятной и не превращается в набор случайных исключений.

Проверка результата

  • Обычный интернет идёт напрямую, если нужен split tunnel.
  • Внутренний IP доступен только при активном WireGuard.
  • В AllowedIPs нет лишних default-route.
  • Локальная и удалённая сети не пересекаются.
  • Внутренние имена разрешаются нужным DNS.
  • После отключения исчезает только доступ к защищённой сети.

Дополнительный контроль

После настройки полезно один раз посмотреть системную таблицу маршрутов и сохранить её вместе с конфигурацией. Это помогает увидеть, какие префиксы реально создал клиент, и быстро отличить ошибку AllowedIPs от DNS или firewall. При обновлении адресного плана проверяйте этот список заново: даже одна новая пересекающаяся подсеть способна изменить поведение старого профиля.

Как проверить, что маршрут действительно раздельный

После подключения не ограничивайтесь проверкой одного внутреннего сайта. Откройте таблицу маршрутов системы и убедитесь, что там появился именно нужный удалённый CIDR, а default route остался прежним, если вы строили split tunnel. Затем сравните внешний IP в обычном браузере: он не должен меняться из-за доступа к одной внутренней сети. Если внутри VPN доступны несколько сервисов, проверьте по одному адресу из каждого объявленного префикса. Отдельно проверьте IPv6: если он используется в локальной или удалённой инфраструктуре, его маршруты должны быть спроектированы так же осознанно, как IPv4. Такой тест сразу показывает, что AllowedIPs решает конкретную задачу, а не случайно перехватывает лишний трафик.

Что учитывать

Handshake WireGuard подтверждает связь с peer, но не доказывает, что сервер умеет пересылать трафик дальше. Если удалённая LAN находится за VPN-сервером, на сервере должны существовать маршрутизация и правила firewall, а у удалённой сети — путь ответа. Другой частый крайний случай — одинаковые подсети дома и в офисе, например 192.168.1.0/24 с обеих сторон. Тогда пакет к принтеру или серверу может уйти не туда, куда ожидается. Лечить это расширением AllowedIPs до всего интернета плохо: проблема…

Источники и проверка

Инструкция составлена редакцией N1RO на 2026-09-21. Перед действием сверьте актуальные условия на официальном сайте сервиса или производителя.