Как перенаправить определенный трафик через VPN?

Вопрос или проблема

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

Я хотел бы направить конкретный трафик через мой VPN, через локальную машину или через WSL.

То есть, трафик через/связанный с google.com должен идти через VPN (локальную машину и т.д.), НО amazon.com будет оставаться без VPN любым нормальным способом.

Я не нашел источников, которые описывают или показывают, или спрашивают, как назначить конкретный IP или адрес, чтобы он перенаправлялся на VPN. Возможно, они повсюду, и я просто их не замечаю, или я не знаю, как правильно это спросить, или, может быть, это что-то настолько базовое, что я это упускаю.

Я думал, что мог бы найти, какие порты определенные адреса веб-сайтов пытаются получить доступ, но если я правильно понимаю, порты больше похожи на магистрали и позволяют потоку трафика двигаться по нескольким полосам, так что я перенаправлял бы целую сеть, а не один сайт/адрес. Может быть, я слишком усложняю эту задачу или иду неверным путем.

Я также проверил настройки в Mozilla и ProtonVPN, но не увидел ничего, что соответствовало бы моим ожиданиям, хотя, возможно, я просто не осознавал, что это то, что я искал. ProtonVPN позволяет мне выбирать пользовательские порты, но не конкретные сайты/адреса, а Mozilla предлагает установить ручной прокси, что похоже на то, что я ищу, но, похоже, более сосредоточено на проксировании всех, кроме избранных сайтов; мне нужно обратное.

**ОС:** Windows 10  
**WSL:** Pengwin  
**VPN:** ProtonVPN  
**Браузер:** Firefox Developers Edition

(Я не знаю, важно ли это здесь, но вот оно)

Если вы можете использовать Linux в VMware или чем-то подобном, вы можете легко использовать proxychains для удовлетворения своих потребностей. У нас не так много статей о том, как использовать цепочки прокси в Windows, но, эй… в Windows теперь есть терминалы Ubuntu, вы можете использовать подсистему Linux для Windows, а затем использовать proxychains.

Это может не быть оптимальным решением, но это возможно.

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

Из https://www.howtogeek.com/howto/windows/adding-a-tcpip-route-to-the-windows-routing-table/

Маршрутная таблица диктует, куда уходят все пакеты, когда они покидают систему — будь то физический маршрутизатор или ПК. Большинство маршрутизаторов — включая тот, который встроен в ваш компьютер с Windows — используют какую-то форму динамической маршрутизации, при которой маршрутизатор способен выбирать лучшее место для пересылки пакетов на основе информации, которую он получает от других маршрутизаторов. Вы можете увидеть это в действии, если используете команду traceroute, чтобы отслеживать соединения, которые пакет устанавливает, пока он достигает своей конечной цели.

Секрет здесь в шлюзе по умолчанию. Если вы используете локальный шлюз по умолчанию, ваш интернет-трафик будет направляться через локальное соединение. Если вы используете шлюз VPN, интернет-трафик идет через соединение VPN. По умолчанию соединения VPN Windows используют удаленный шлюз VPN для вашего конкретного назначения.

Вам нужно найти IP-адрес шлюза для вашего удаленного VPN-соединения и сделать его шлюзом для IP-адреса назначения, который вы хотите направить через VPN. Для этого смотрите https://superuser.com/questions/12022/how-can-i-make-the-windows-vpn-route-selective-traffic-by-destination-network

Проверьте ваш файл конфигурации OpenVPN, чтобы увидеть IP шлюза VPN, или проверьте вывод журнала, когда вы подключаетесь к VPN. На Linux я использовал следующий гид, чтобы настроить так, чтобы все назначения шли через VPN. Смотрите https://sweetcode.io/routing-all-traffic-through-a-vpn-gateway-on-linux/

Ответ или решение

Для настройки выборочного перенаправления трафика через VPN в Windows 10, а также в Windows Subsystem for Linux (WSL) существует несколько методов, которые могут вам помочь. Выберем наиболее подходящий способ, исходя из вашего запроса: перенаправлять трафик только для определенных адресов (например, google.com), в то время как трафик для других адресов (например, amazon.com) будет проходить без VPN.

Шаг 1: Установка VPN и определение шлюза

Первый шаг — убедиться, что ваш VPN (в вашем случае ProtonVPN) установлен и работает. После подключения к VPN необходимо узнать IP-адрес шлюза вашего VPN. Обычно это можно сделать следующим образом:

  1. Подключитесь к VPN.
  2. Откройте командную строку Windows (cmd) и введите команду:
    route print

    или

    ipconfig

    Найдите IP-адрес, который соответствует вашему VPN-соединению.

Шаг 2: Добавление маршрута для трафика

Теперь, когда у вас есть IP-адрес шлюза VPN, можно добавить маршрут для конкретного трафика, чтобы он проходил через VPN.

Вариант для Windows

  1. Откройте командную строку с правами администратора (щелкните правой кнопкой мыши на значке командной строки и выберите "Запуск от имени администратора").

  2. Используйте следующую команду для добавления маршрута. Например, чтобы направить трафик на google.com через VPN:

    route add google.com MASK 255.255.255.255 <IP-адрес шлюза VPN>
  3. Убедитесь, что маршруты добавлены, снова запустив команду route print и убедившись, что ваш адрес появляется в списке маршрутов.

Вариант для WSL

Если вы хотите сделать то же самое в WSL, то процесс аналогичен. Вам нужно будет использовать команду ip route в терминале WSL:

  1. Откройте WSL.
  2. Введите команду, аналогичную вышеуказанной:
    sudo ip route add <адрес сайта> via <IP-адрес шлюза VPN>

Шаг 3: Проверка маршрутизации

После настройки маршрутов важно убедиться, что они работают. Для этого вы можете использовать команду tracert в командной строке Windows или traceroute в WSL, чтобы проверить путь, по которому проходит трафик.

Альтернативные методы

Если вы чувствуете, что этот метод слишком сложен или если вам нужно больше гибкости, вы можете рассмотреть использование дополнительных программ:

  1. Proxychains: это утилита для Linux, которая позволяет перенаправлять TCP-соединения через прокси. Вы можете попробовать установить и настроить ее в WSL.
  2. VPN-клиенты с поддержкой маршрутизации: некоторые VPN-клиенты могут предоставлять функцию выбора трафика по адресам URL. Убедитесь, что вы проверили настройки своего клиента.

Заключение

Выборочное перенаправление трафика через VPN возможно с использованием команд, которые управляют маршрутами в вашей системе. Если у вас возникнут сложности с пониманием маршрутизации, всегда полезно ознакомиться с дополнительными ресурсами по сетевому администрированию и маршрутизации TCP/IP. Надеемся, что эти шаги помогут вам успешно организовать желаемую конфигурацию сети.

Оцените материал
Добавить комментарий

Капча загружается...