3x-ui Admin Guide
Теория VPN

Маршрутизация и DNS

Теория VPN. Глава 4 из 38.

Маршрутизация и DNS

Цель

Показать, почему маршрутизация и DNS являются центральными частями VPN-сценария, а не второстепенными настройками.

Теория

VPN или proxy-соединение отвечает только за доставку трафика до определенной точки. Решение о том, какой трафик отправлять через туннель, какой выпускать напрямую и какие DNS-серверы использовать, задается маршрутами и правилами DNS.

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

История

В корпоративных VPN маршрутизация часто строилась вокруг доступа к внутренним подсетям. В современных пользовательских и proxy-сценариях чаще встречаются split tunneling, доменные правила, географические списки, отдельная DNS-маршрутизация и разные outbound-направления.

Архитектура

Базовая модель включает:

  • таблицу маршрутов операционной системы;
  • правила клиента;
  • DNS-резолвер;
  • серверные routing-правила;
  • outbound-направления;
  • исключения для локальных сетей;
  • правила для доменов, IP-диапазонов и приложений.
Маршрутизация и DNS
Маршрутизация и DNS

Настройка

Перед настройкой нужно выбрать режим:

  • full tunnel — весь трафик идет через туннель;
  • split tunnel — через туннель идет только часть трафика;
  • domain-based routing — решение принимается по доменному имени;
  • IP-based routing — решение принимается по IP-адресу;
  • app-based routing — решение зависит от приложения, если клиент это

поддерживает.

Пример выбора режима:

СценарийПодходящий режимПочему
Доступ ко всем ресурсам через серверFull tunnelУпрощает контроль маршрута и DNS
Доступ только к отдельным ресурсамSplit tunnelСнижает нагрузку на сервер
Разные правила для доменовDomain-based routingУдобно для пользовательских сценариев
Корпоративные подсетиIP-based routingЯвно задает доступные сети

Разбор параметров

  • default route — маршрут по умолчанию для трафика без специальных правил.
  • split tunnel — выборочная отправка трафика через туннель.
  • dns server — сервер, который разрешает доменные имена.
  • dns leak — ситуация, когда DNS-запрос уходит вне ожидаемого канала.
  • domain rule — правило маршрутизации по имени домена.
  • ip rule — правило маршрутизации по адресу или подсети.
  • outbound — направление, через которое сервер выпускает трафик.

Типовые ошибки

  • настроить туннель, но оставить DNS у локального провайдера;
  • направить весь трафик через сервер без оценки нагрузки;
  • забыть исключения для локальной сети;
  • создать конфликтующие routing-правила;
  • считать доменное правило достаточным после того, как домен уже разрешен в IP;
  • не проверять IPv6.

Безопасность

DNS может раскрывать больше информации, чем кажется: домены, время запросов и часть поведенческого профиля клиента. Для чувствительных сценариев нужно контролировать DNS-канал, исключать утечки и проверять, что IPv4 и IPv6 маршрутизируются согласованно.

Чек-лист

  • Выбран full tunnel или split tunnel.
  • Проверены DNS-серверы.
  • Проверены утечки DNS.
  • Описаны исключения для локальной сети.
  • Проверены IPv4 и IPv6.
  • Routing-правила упорядочены и не конфликтуют.