Настройка VPN для определенных сайтов: полное руководство по селективной маршрутизации

Подробное руководство по настройке VPN для выбранных сайтов и приложений. Разбираем методы на роутере, OpenVPN, клиентах и правила маршрутизации. Практические примеры и частые вопросы.

Зачем нужна селективная маршрутизация VPN

Селективная маршрутизация VPN позволяет направлять трафик только к выбранным сайтам или приложениям через зашифрованный туннель, оставляя остальной интернет-трафик прямым. Это решает несколько практических задач.

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

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

Работа с корпоративными ресурсами. Часто компании требуют подключения к внутренним сетям через VPN, но при этом сотрудникам нужен быстрый доступ к общим интернет-ресурсам. Селективная маршрутизация решает эту задачу.

Гибкость управления. Вы можете настроить правила для целых категорий сайтов (например, все видео-сервисы или все соцсети) или для конкретных доменов. Это удобно, когда нужно быстро изменить политику доступа.

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

Основные подходы к настройке: роутер, OpenVPN, клиентские приложения

Существует три основных способа настроить VPN только для определённых сайтов: на уровне роутера, на стороне сервера OpenVPN или в клиентском приложении. Каждый имеет свои особенности.

Настройка на роутере. Этот метод подходит, если вы хотите защитить все устройства в домашней сети. Роутер с поддержкой VPN (например, ASUS, TP-Link, OpenWRT, DD-WRT) позволяет задать правила маршрутизации. Трафик к определённым IP-адресам или доменам направляется через VPN-интерфейс, остальной — напрямую. Преимущество — централизованное управление, недостаток — сложность настройки и зависимость от возможностей роутера.

Настройка на сервере OpenVPN. Если вы используете собственный VPN-сервер, можно изменить конфигурацию сервера, убрав директиву push "redirect-gateway def1" и добавив конкретные маршруты. Тогда клиенты будут получать только те маршруты, которые вы укажете. Этот метод даёт полный контроль, но требует администрирования сервера.

Настройка в клиентском приложении. Многие современные VPN-клиенты (например, Happ, WireGuard, OpenVPN Connect) позволяют задать правила маршрутизации на стороне клиента. Вы можете создать профили, где для одних доменов трафик идёт через VPN, а для других — напрямую. Это самый гибкий и простой способ для пользователей, не желающих менять конфигурацию роутера или сервера.

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

Настройка OpenVPN для выборочной маршрутизации: серверная сторона

Если вы управляете собственным OpenVPN-сервером, можно настроить его так, чтобы клиенты получали маршруты только к нужным подсетям. Это особенно актуально при обходе блокировок.

Базовая конфигурация. По умолчанию в конфигурации сервера часто присутствует строка push "redirect-gateway def1 bypass-dhcp", которая заставляет весь трафик клиента идти через VPN. Чтобы сделать маршрутизацию выборочной, эту строку нужно удалить или закомментировать.

Добавление конкретных маршрутов. Вместо глобального перенаправления вы добавляете строки вида:

push "route 87.240.128.0 255.255.192.0"
push "route 95.213.0.0 255.255.128.0"

Эти маршруты будут переданы клиенту при подключении. Трафик к указанным сетям пойдёт через VPN, остальной — напрямую.

Пример для популярных сервисов. Для обхода блокировок социальных сетей можно использовать готовые списки подсетей. Например, для VK.com: 87.240.128.0/18, 93.186.224.0/20, 95.142.192.0/20, 95.213.0.0/17, 185.32.248.0/22. Для Яндекса: 77.88.0.0/18, 5.45.192.0/18, 213.180.192.0/19 и другие.

Важные нюансы. При такой настройке DNS-запросы клиента могут оставаться незащищёнными. Если DNS-сервер провайдера подменяет ответы, даже правильные маршруты не помогут. Рекомендуется на сервере поднять собственный DNS (например, кэширующий bind) и в конфигурации клиента указать dhcp-option DNS . Также нужно убедиться, что клиент не использует сторонние DNS.

Проверка. После настройки подключитесь к серверу и проверьте маршруты командой route print (Windows) или ip route (Linux). Вы должны увидеть только те сети, которые вы указали. Затем проверьте доступность нужных сайтов и свой IP через сервисы вроде whatismyip.com.

Настройка на стороне клиента OpenVPN: route-nopull и локальные правила

Если у вас нет доступа к серверу, но вы используете OpenVPN-клиент, можно настроить выборочную маршрутизацию на стороне клиента. Для этого используется директива route-nopull и ручное добавление маршрутов.

Принцип работы. Директива route-nopull в конфигурации клиента запрещает применение маршрутов, полученных от сервера. После этого вы сами добавляете нужные маршруты.

Пример конфигурации клиента:

client
dev tun
proto tcp
remote your-server.com 1194
resolv-retry infinite
nobind
persist-key
persist-tun
remote-cert-tls server
cipher AES-256-CBC
comp-lzo
verb 3
route-nopull
route 87.240.128.0 255.255.192.0
route 95.213.0.0 255.255.128.0

В этом случае трафик к указанным сетям пойдёт через VPN, а весь остальной — напрямую.

Проблемы и их решение. На практике многие пользователи сталкиваются с тем, что после добавления route-nopull перестают работать даже DNS-запросы. Это происходит потому, что сервер не передаёт маршрут по умолчанию, и клиент не знает, как отправлять пакеты в интернет. Решение — добавить маршрут к DNS-серверу, который вы будете использовать, или явно указать шлюз по умолчанию.

Рекомендации. Если вы не уверены в правильности маршрутов, лучше использовать готовые списки подсетей для нужных сервисов. Также можно комбинировать route-nopull с dhcp-option DNS, чтобы указать надёжный DNS (например, 8.8.8.8), но помните, что некоторые провайдеры могут подменять ответы даже от публичных DNS.

Альтернатива. Вместо ручного добавления маршрутов можно использовать PAC-файлы (Proxy Auto-Config) для браузеров, но этот метод работает только для HTTP/HTTPS трафика и не защищает другие приложения.

Настройка VPN на роутере для выборочной маршрутизации

Настройка VPN на роутере позволяет централизованно управлять трафиком всех устройств в сети. Рассмотрим основные шаги и варианты.

Требования. Роутер должен поддерживать VPN-клиент (OpenVPN, L2TP/IPsec или WireGuard). Подойдут модели ASUS с прошивкой Asuswrt-Merlin, роутеры на OpenWRT, DD-WRT или некоторые модели TP-Link. Также потребуется конфигурационный файл от VPN-провайдера.

Базовая настройка. Войдите в веб-интерфейс роутера, найдите раздел VPN и загрузите файл конфигурации. После подключения проверьте, что VPN работает (например, откройте сайт для проверки IP).

Настройка правил маршрутизации. На роутерах с OpenWRT или DD-WRT можно задать правила iptables или статические маршруты. Например, чтобы трафик к определённому IP-адресу шёл через VPN, выполните команду:

ip route add  via  dev tun0

В Asuswrt-Merlin есть графический интерфейс для policy routing, где можно указать, какие IP-адреса или диапазоны должны использовать VPN.

Использование DNS-правил. Некоторые роутеры позволяют настроить DNS-сервер так, чтобы запросы к определённым доменам возвращали IP-адреса, которые затем маршрутизируются через VPN. Это удобно, если вы не хотите работать с IP-диапазонами.

Ограничения. Не все роутеры поддерживают гибкую маршрутизацию. На бюджетных моделях может быть доступен только режим «весь трафик через VPN». Также производительность роутера может снизиться при шифровании большого объёма данных.

Проверка. После настройки убедитесь, что сайты, которые должны идти через VPN, показывают IP-адрес VPN-сервера, а остальные — ваш реальный IP. Используйте сервисы вроде whatismyip.com.

Настройка в клиентских приложениях: Happ и другие

Современные VPN-клиенты предоставляют удобные интерфейсы для настройки выборочной маршрутизации. Рассмотрим на примере приложения Happ.

VPN только для выбранных сайтов. В приложении Happ можно создать профиль маршрутизации, в котором указать, какие домены или категории доменов должны идти через VPN. Для этого:

  1. Перейдите в раздел «Правила маршрутизации».
  2. Создайте новый профиль и включите использование маршрутизации.
  3. В редакторе правил отключите глобальный прокси.
  4. В разделе «Прокси» добавьте нужные домены (например, domain:youtube.com) или категории (например, geosite:youtube).
  5. После этого весь трафик к указанным ресурсам пойдёт через VPN, остальной — напрямую.

Выбранные сайты без VPN. Если нужно, чтобы VPN работал на все сайты, кроме нескольких, создайте профиль с включённым глобальным прокси и в разделе «Direct» укажите исключения. Например, добавьте geoip:RU и geosite:CATEGORY-RU, чтобы все российские ресурсы шли напрямую.

Настройка на конкретные приложения. В Happ можно исключить отдельные приложения из VPN. Для этого в настройках прокси для приложений добавьте нужные программы и включите опцию «Выбранные приложения идут напрямую». Все остальные приложения будут использовать VPN.

Использование geosite и geoip. Вместо ручного ввода десятков доменов можно использовать готовые категории. Например, geosite:google включает все домены Google, geosite:telegram — все домены Telegram. Список категорий можно найти в документации приложения.

Преимущества. Клиентские приложения не требуют доступа к роутеру или серверу, настройка интуитивно понятна, и изменения вступают в силу сразу. Это лучший выбор для большинства пользователей.

Использование geosite и geoip для упрощения правил маршрутизации

Geosite и geoip — это мощные инструменты, которые позволяют задавать правила маршрутизации на основе категорий доменов или стран, а не отдельных IP-адресов.

Что такое geosite? Это файл или список, содержащий домены, сгруппированные по принадлежности к компании, сервису или типу контента. Например, geosite:youtube включает все домены YouTube (youtube.com, ytimg.com, googlevideo.com). geosite:category-video включает все популярные видеохостинги.

Что такое geoip? Это правило, которое маршрутизирует трафик в зависимости от страны IP-адреса назначения. Например, geoip:RU направит через VPN все запросы к серверам, расположенным в России.

Примеры популярных geosite:

  • geosite:google — Google, YouTube, Gmail
  • geosite:telegram — Telegram, t.me
  • geosite:netflix — Netflix
  • geosite:steam — Steam
  • geosite:category-porn — сайты для взрослых

Как это использовать? В приложении Happ или другом клиенте с поддержкой geosite вы просто добавляете нужные категории в правила прокси или direct. Например, чтобы все сервисы Google шли через VPN, добавьте geosite:google в раздел прокси.

Преимущества. Не нужно знать IP-адреса и подсети. Категории автоматически обновляются, поэтому новые домены сервиса также будут маршрутизироваться правильно. Это значительно упрощает настройку.

Ограничения. Geosite не всегда покрывает все возможные домены. Если какой-то сайт не входит в категорию, его нужно добавить вручную как domain:example.com. Также стоит помнить, что geosite основан на общедоступных списках, которые могут не включать все региональные домены.

Практические примеры: обход блокировок и оптимизация трафика

Рассмотрим несколько реальных сценариев, где селективная маршрутизация VPN особенно полезна.

Сценарий 1: Обход блокировок социальных сетей. Предположим, в вашей стране заблокированы VK, Instagram и Twitter. Вы хотите иметь к ним доступ, но не хотите замедлять работу с местными сайтами. Решение: настройте VPN только для этих сервисов. В OpenVPN добавьте маршруты к их подсетям. В клиентском приложении используйте geosite:facebook (включает Instagram), geosite:twitter и geosite:vk (если есть такая категория) или вручную укажите домены.

Сценарий 2: Доступ к стриминговым сервисам. Netflix, Spotify и другие сервисы часто ограничивают контент по регионам. Вы хотите смотреть Netflix США, но при этом пользоваться местными новостными сайтами. Настройте VPN только для Netflix: добавьте geosite:netflix или домены netflix.com, nflxvideo.net. Остальной трафик останется прямым.

Сценарий 3: Корпоративный VPN. Вы работаете удалённо и подключаетесь к офисной сети через VPN. Однако вам нужен быстрый доступ к интернету для личных нужд. Настройте маршрутизацию так, чтобы только трафик к корпоративным ресурсам (например, 10.0.0.0/8) шёл через VPN, а всё остальное — напрямую. Это можно сделать на стороне клиента или сервера.

Сценарий 4: Экономия трафика на мобильных устройствах. Если у вас ограниченный тариф, вы можете направить через VPN только те приложения, которые требуют обхода блокировок (например, Telegram), а остальные (браузер, карты) оставить прямыми. В приложении Happ это настраивается через исключения приложений.

Важно: При использовании селективной маршрутизации убедитесь, что DNS-запросы к сайтам, идущим через VPN, также обрабатываются через VPN. Иначе возможна утечка данных.

Частые проблемы и их решение

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

Проблема 1: После настройки ничего не работает. Это часто происходит, если вы удалили redirect-gateway, но не добавили маршрут к DNS-серверу. Клиент не может разрешить доменные имена. Решение: укажите в конфигурации клиента dhcp-option DNS 8.8.8.8 или IP вашего VPN-сервера, если на нём поднят DNS.

Проблема 2: Некоторые сайты открываются, другие нет. Проверьте, все ли нужные подсети добавлены в маршруты. Например, для YouTube нужно не только youtube.com, но и ytimg.com, googlevideo.com. Используйте geosite-категории, чтобы не пропустить важные домены.

Проблема 3: Утечка DNS. Даже если трафик идёт через VPN, DNS-запросы могут отправляться напрямую провайдеру. Решение: настройте DNS на роутере или в клиенте так, чтобы использовался только DNS-сервер, доступный через VPN. В OpenVPN можно добавить dhcp-option DNS 10.8.0.1 (адрес VPN-сервера).

Проблема 4: Низкая скорость на некоторых сайтах. Если сайт использует CDN, его IP-адрес может часто меняться. Ваш маршрут может устареть. Решение: используйте geosite или динамические списки, которые обновляются автоматически.

Проблема 5: На роутере не работают правила маршрутизации. Убедитесь, что прошивка роутера поддерживает policy routing. На некоторых моделях нужно включить «Policy Rules» в настройках VPN. Если роутер не поддерживает, рассмотрите установку альтернативной прошивки (OpenWRT, DD-WRT).

Проблема 6: Приложения не используют VPN. Некоторые приложения (например, мессенджеры) могут игнорировать системные настройки прокси. В этом случае поможет настройка на уровне приложения или использование VPN-клиента с функцией «принудительный туннель» для выбранных приложений.

Вопросы и ответы

Можно ли настроить VPN только для одного сайта?

Да, это возможно. В OpenVPN добавьте маршрут только к IP-адресу или подсети этого сайта. В клиентских приложениях (например, Happ) укажите домен сайта в правилах прокси. На роутере создайте правило маршрутизации для конкретного IP. Учтите, что сайт может использовать несколько IP-адресов и CDN, поэтому лучше указывать диапазон или использовать geosite.

Как сделать, чтобы VPN работал на все сайты, кроме нескольких?
Что такое geosite и как его использовать?
Почему после настройки OpenVPN с route-nopull не работают сайты?
Как проверить, что трафик к определённому сайту идёт через VPN?
Можно ли настроить селективную маршрутизацию на роутере без прошивки OpenWRT?
Какие DNS-серверы лучше использовать при селективной маршрутизации?