Перейти к содержимому

Как запустить весь трафик через vpn

  • автор:

Как пустить весь трафик через OpenVPN?

Есть компьютер, который находится в другой стране и работает под управлением WINDOWS Server; Пытаюсь поднять на этом компьютере свой персональный VPN сервис. Скачал дистрибутив openvpn http://openvpn.net/release/openvpn-2.1_rc20-install.exe и установил его как на WINDOWS Server, где поднимаю VPN, так и на свой персональный компьютер, с которого планирую подключаться. Сделал следующие конфигурационные файлы: # Для сервера: dev tun ifconfig 192.168.0.1 192.168.0.2 secret static.key #Для клиента remote 173.255.193.241 dev tun ifconfig 192.168.0.2 192.168.0.1 secret static.key После чего сгерил static.key выполнив команду: openvpn —genkey —secret static.key на сервере Запустил VPN на сервере, и на своем компьютере. Ура — мониторчики загорели зеленым, подключились. Как теперь весь трафик со своего компьютера пустить именно через VPN сервер. Прочитал, что нужно делать посредством маршрутизации. Но не знаю как, с маршрутизацией вообще никогда не работал. Помогите пожалуйста

На сайте с 19.02.2005
18 апреля 2012, 03:08
Поставить в свойствах vpn соединения маршрут по умолчанию.
Не стоит плодить сущности без необходимости
На сайте с 19.03.2012
18 апреля 2012, 07:27

А можно немного подробней, как это сделать. Перерыл тучу материалов, но как это сделать, так и не сообразил.

На сайте с 01.12.2009
18 апреля 2012, 08:26

man route, ip route Только не понятно зачем вам маршрут, когда есть, сервер — клиент. там достаточно и дефолтных настроек + nat

Администратор Linux,Freebsd. (/ru/forum/494299) построения крупных проектов. ICQ#: 241606.
На сайте с 26.11.2005
20 апреля 2012, 11:56

Поробуйте в эту сторону покопать. Изменение маршрута по умолчанию Есть возможность установить маршрут по умолчанию (default route) через созданный туннель OpenVPN. Для этого можно использовать директиву ‘redirect-gateway’, в т.ч. с автоматической передачей её клиенту через механизм push-pull. Однако при работе клиента под непривилегированным пользователем и в chroot-окружении возникают проблемы с восстановлением старого маршрута при закрытии соединения, т.к. клиенту не хватает прав внести изменения в таблицу маршрутизации. Для обхода этой ситуации следует использовать параметр ‘def1’ директивы ‘redirect-gateway’. При этом на сервере в файле конфигурации (глобальном или конкретного клиента) переназначение маршрута задаётся строкой вида

push "redirect-gateway def1"

Получив эту директиву (при наличии ‘pull’ в своей конфигурации), клиент не удаляет старый маршрут, а добавляет в таблицу маршрутизации записи вида:

0.0.0.0/1 via 192.168.231.5 dev tun0 
128.0.0.0/1 via 192.168.231.5 dev tun0

Как разделить VPN трафик в MacOS

VPN (англ. Virtual Private Network — виртуальная частная сеть — обобщённое название технологий, позволяющих обеспечить одно или несколько сетевых соединений (логическую сеть) поверх другой сети (например, Интернет) WikiPedia

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

Если вы посмотрите на все доступные инструкции как настраивать VPN на Mac OS, то увидите что авторы говорят вам ставить галку «отправлять весь трафик через VPN», что приводит к тому, что (Капитан Очевидность) весь трафик идет через VPN, что в свою очередь накладывает все ограничения корпоративной сети (запрет на посещение отдельных ресурсов, закрытые порты и т.д.) или ограничения сервиса анонимизации (узкий канал, долгий ping и т.д.).

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

Делается это довольно просто.

Кратко пройдемся по настройке VPN соединения.

Нажимаем на «яблочко» в левом верхнем углу экрана и выбираем «Системные настройки».

Выбираем «Сеть»

Нажимаем на «плюсик» в списке сетевых соединений.

Выбираем «VPN»

Тип VPN (в моем случае это L2TP через IPSec)

Заполняем параметры соединения

Галку «Отправлять весь трафик через VPN» не ставим

Теперь нам надо узнать интерфейс через который идет VPN-трафик.

Запускаем ifconfig без подключенного VPN

Подключаем VPN и снова запускаем ifconfig

Видим что появился интерфейс ppp0

Теперь по умолчанию весь трафик идет по обычному соединению (не VPN).

Далее, мне нужно чтобы коннекты к моему серверу, расположенному по адресу 192.168.0.20 шли через VPN. Для этого нам нужно построить сетевой маршрут. Воспользуемся штатной unix-командой route.

sudo /sbin/route add -host 192.168.0.20 -interface ppp0 

Теперь весь трафик идет через мое обычное соединение, а трафик к корпоративному серверу идет через VPN.

Для удобства в файле ~/.profile создаем алиасы на команду добавления маршрутов

alias server-vpn-up='sudo /sbin/route add -host 192.168.0.20 -interface ppp0' 

Теперь чтобы поднять соединение, необходимо подключиться к VPN и выполнить команду server-vpn-up.

Альтернативный вариант, это создать файл /etc/ppp/ip-up, прописать в него [в моем случае]

#!/bin/sh /sbin/route add 192.168.0.0/24 -interface $1 

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

sudo chmod +x /etc/ppp/ip-up 

После этого маршрут будет прописываться автоматически после соединения с VPN.

Какие могут встретиться подводные камни.

1. Может быть конфликт IP-адресов, если внутренняя и внешняя сеть используют одно адресное пространство (возможно я использую не правильный термин, поправьте в комментариях пожалуйста). Т.е. у вас и VPN и внутренняя домашняя сеть находятся в 192.168.0… В моем случае решением было перенастройка домашней сети на 10.0.1…

2. При подключении VPN автоматически ставился корпоративный DNS 192.168.0.7. И хотя весь трафик должен был идти вроде как не через VPN, все сайты переставали открываться. Решилось это добавлением Google-ового DNS 8.8.8.8 и поднятии его в самый верх.

Как пустить весь трафик через VPN?

Заранее прошу прощения, так как такая тема уже не раз поднималась. Но никак не получается приложить многочисленные инструкции к своей конкретной ситуации.

Вводная: Linux Debian 10. Openvpn с protonvpn. На всякий случай еще dnscrypt. Острая необходимость настроить kill switch. И такая же острая необходимость пустить трафик от Transmission в обход vpn.

Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface 0.0.0.0 10.22.0.1 0.0.0.0 UG 50 0 0 tun0 0.0.0.0 192.168.0.1 0.0.0.0 UG 600 0 0 wlx00c0caaebab6 10.22.0.0 0.0.0.0 255.255.0.0 U 50 0 0 tun0 169.254.0.0 0.0.0.0 255.255.0.0 U 1000 0 0 wlx00c0caaebab6 190.2.130.161 192.168.0.1 255.255.255.255 UGH 600 0 0 wlx00c0caaebab6 192.168.0.0 0.0.0.0 255.255.255.0 U 600 0 0 wlx00c0caaebab6 192.168.0.1 0.0.0.0 255.255.255.255 UH 600 0 0 wlx00c0caaebab6 192.168.12.0 0.0.0.0 255.255.255.0 U 0 0 0 ap0

Очень прошу помощи, сам бьюсь с проблемой уже долго

Как перенаправить весь ваш компьютерный трафик через VPN-сервер

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

Почему VPN могут не шифровать весь трафик?

В определенных обстоятельствах служба VPN может не шифровать весь трафик, и в зависимости от того, как настроен клиент VPN, мы можем туннелировать определенный трафик через VPN, а другой трафик через нашего интернет-оператора или через Wi-Fi, последний в обход VPN-сервера. Из-за этих настроек возможна утечка конфиденциальных данных о нас при использовании VPN. Если мы подключаемся через VPN и он настроен неправильно, мы можем непреднамеренно предоставить конфиденциальные данные, которые мы не предоставили бы в других обстоятельствах (в общедоступной сети Wi-Fi).

Перенаправьте весь ваш компьютерный трафик через VPN-сервер

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

Тесно связанный с VPN, когда мы туннелируем весь трафик, у нас есть еще одна особенность VPN — это « Аварийная кнопка «, Эта функция позволит нам блокировать трафик, уходящий с нашего компьютера, в случае отказа VPN, то есть, если VPN выйдет из строя, маршруты ПК, смартфона или устройства, которое мы используем, не будут изменены, мы будем просто прекратите подключение к Интернету, но никакие данные не будут отфильтрованы.

Как убедиться, что весь трафик проходит через VPN

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

Еще один способ проверить, проходит ли весь трафик через VPN, — это проверить маршруты нашего ПК, сервера или устройства. На Windows На компьютерах необходимо открыть командную строку и ввести следующее:

В таблице маршрутизации для сетей IPv4 или IPv6, когда мы подключены к нашему домашнему маршрутизатору, должен появиться шлюз по умолчанию с соответствующим маршрутом ко всей локальной сети и различным подсетям различных сетевых интерфейсов, которые у нас есть. Как видите, первый маршрут перенаправляет весь трафик на шлюз по умолчанию: сетевое назначение 0.0.0.0 (любое), маска 0.0.0.0 (любое), а шлюз — 10.11. 1.1, который является нашим маршрутизатором, а интерфейс 10.11.1.2 — нашим IP.

В таблице маршрутизации для сетей IPv4 или IPv6, когда мы подключаемся к VPN-серверу с перенаправлением трафика, должен отображаться шлюз по умолчанию с соответствующим маршрутом ко всей локальной сети и различным подсетям различных сетевых интерфейсов, которые у нас есть. Как видите, первый маршрут перенаправляет весь трафик на шлюз по умолчанию: сетевое назначение 0.0.0.0 (любое), маска 0.0.0.0 (любое), а шлюз — 10.11. 1.1, который является нашим маршрутизатором, а интерфейс 10.11.1.2 — нашим IP.

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

В других операционных системах вы также можете проверить таблицу маршрутизации и убедиться в правильности маршрутов, например, в Linux системы можно поставить:

Как перенаправить весь трафик через VPN

В зависимости от программного обеспечения, которое вы используете в различных существующих стандартах VPN, мы будем перенаправлять трафик полностью или только в определенные подсети. Первое, что нужно иметь в виду, это то, что такие сервисы, как Surfshark VPN, NordVPN, PureVPN и другие, всегда перенаправляют трафик, независимо от того, используют ли они IPsec, OpenVPN или WireGuard.

VPN-соединение, созданное в Windows 10

Если у вас Windows 10 и вы создали VPN-соединение с протоколами, поддерживаемыми операционной системой, что отображается в сетевых подключениях, вам нужно будет проверить следующее, чтобы убедиться, что мы перенаправляем весь трафик:

  1. Вам нужно перейти в Панель управления / Центр сетей и ресурсов.
  2. Вы находите VPN-соединение, щелкаете правой кнопкой мыши на «Свойства», на вкладке «Сети» выбираете Интернет-протокол версии 4 (TCP / IPv4), мы снова нажимаем кнопку «Свойства».
  3. В открывшемся окне мы нажимаем на кнопку Advanced, здесь мы убеждаемся, что опция «Использовать шлюз по умолчанию в удаленной сети» отмечена. Нажимаем принять и перезапускаем VPN-соединение.

VPN-соединение с OpenVPN в любой операционной системе

Если вы используете протокол OpenVPN, мы должны убедиться, что у нас есть следующее предложение на сервере VPN, чтобы клиенты VPN правильно принимали конфигурацию и перенаправляли весь сетевой трафик.

push «redirect-gateway def1»

Таким образом, «push» сообщит VPN-клиенту, что он должен отправлять абсолютно весь трафик через VPN-сервер. В случае, если у нас есть VPN-клиент, с помощью которого выполняется «split-vpn», когда он получает этот push, он автоматически перенаправляет весь сетевой трафик, но мы можем этого избежать и иметь доступ только к локальной домашней сети следующим образом:

route-nopull
route 192.168.1.0 255.255.255.0 10.8.0.1

Сеть 192.168.1.0/24 будет локальной сетью, а IP 10.8.0.1 будет там, где сервер OpenVPN будет прослушивать.

VPN-соединение с WireGuard в любой операционной системе

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

Если вы хотите получить доступ только к определенным подсетям и использовать split-vpn, вам следует сделать:

VPN-соединение — любой IPsec

Если вы используете программу для подключения к VPN-серверам с IPsec, способ перенаправления всего трафика через VPN — указать «0.0.0.0/0», это что-то универсальное и действует как для WireGuard, так и для остальных протоколов VPN. что мы можем использовать.

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

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

Ваш адрес email не будет опубликован. Обязательные поля помечены *