У меня есть доступ к VPN и я хочу использовать его только для некоторых приложений, а не для всех.
Например:
если я подключаюсь к VPN, я хочу, чтобы только приложения Opera и Newsbin использовали это VPN-соединение. Все другие приложения, такие как, например, Outlook, должны использовать обычное интернет-соединение (в то время как VPN подключен / открыт).
Афайк, это невозможно, но я не совсем уверен. Итак, поэтому мой вопрос: это выполнимо?
networking
internet
vpn
privacy
dirkt
источник
источник
Ответы:
Нет, это не так. Ну, не используя обычные средства. Маршрутизация - это маршрутизация. Маршрутизация работает ниже модели OSI. Вам нужно, чтобы он был осведомлен на уровне приложения (выше), чтобы он мог определить, какую программу вы используете и т. Д. Маршрутизаторы NORMAL не позволяют настраивать маршруты на основе приложений или номеров портов.
Я думаю, что это возможно, хотя. Маршрутизаторы могут видеть порты, поэтому вы можете фильтровать их по номеру порта и отправлять трафик по разным маршрутам. Я уверен, что прочитал что-то некоторое время назад с маршрутизаторами Cisco, которые могут сделать это. Хотя они не дешевы и являются бизнес-роутерами, которые требуют много настроек, и я предполагаю, что вы хотите что-то простое для домашнего использования.
Таким образом, эта функция понадобится маршрутизатору, а ваши стандартные - для домашнего использования, даже компании не поддерживают эти функции. Только передовые линии Cisco и Sonicwall предлагают эти возможности.
источник
Это возможно сделать, по крайней мере, в Linux (и я думаю о BSD и OS X). Вы можете сделать это:
Есть сценарии для выполнения вышеуказанных шагов здесь или есть другой гид здесь .
Вот подробное руководство по маршрутизации передачи через VPN (используя принадлежащий вам сервер VPN).
источник
Вы можете использовать брандмауэр Windows для этого (при условии, что вы используете Win 7 или Vista) - я написал руководство по этому
источник
Вы можете сделать это с сетевыми пространствами имен в GNU / Linux.
Вот как запустить OpenVPN и отдельное приложение в отдельном пространстве имен:
Создайте пространство имен сети:
Запустите петлевой интерфейс в пространстве имен (в противном случае многие вещи работают не так, как ожидалось…)
Создайте виртуальные сетевые интерфейсы, которые позволят OpenVPN (в пространстве имен) получить доступ к реальной сети, и настройте интерфейс в пространстве имен (vpn1) для использования интерфейса из пространства имен (vpn0) в качестве шлюза по умолчанию.
Включите маршрутизацию IPv4 и NAT для интерфейса в пространстве имен. Поскольку мой интерфейс по умолчанию является беспроводным, я использую wl + (который может соответствовать wlan0, wlp3s0 и т. Д.) В iptables для исходящего интерфейса; если вы используете проводной интерфейс, вы, вероятно, должны использовать en + (или br + для мостового интерфейса)
Настройте сервер имен для использования внутри пространства имен
Почти готово, теперь у нас должен быть полный доступ к сети в пространстве имен
Наконец запустите OpenVPN в пространстве имен
Как только tun0 появится в пространстве имен, вы готовы запустить нужную программу!
ИСТОЧНИК статья.
Также в исходной статье есть скрипт-обертка, который вы можете адаптировать под свои нужды.
источник
Я сделал это на Windows. Идея состоит в том, чтобы связать исходящие сетевые пакеты с интерфейсом VPN. Люди предлагают ForceBindIP для этого, но благодаря этому ответу у меня появилась идея использовать прокси. Недостатком этого метода является то, что либо ваши приложения должны иметь поддержку прокси, либо вам придется использовать проксификатор (см. Здесь и здесь ). Положительным моментом является то, что таким образом вы сможете ограничить использование VPN в браузере для определенных доменов, используя FoxyProxy или аналогичные дополнения.
Я использую 3proxy в режиме SOCKS и привязываю его внешний интерфейс к IP VPN. OpenVPN используется для VPN-подключения.
В моем файле .ovpn (
client
,dev tun
) я добавил эти строки:route-nopull
игнорировать маршруты, отправленные с сервера. В вашем случае вам может понадобиться закомментировать redirect-gateway.route
чтобы добавить маршрут для этого интерфейса, без этой линии он не будет использоваться, даже если приложение привязано к нему.pull-filter
сохранить выдвинутый DNS, который в противном случае будет сброшенroute-nopull
вместе с выдвинутыми маршрутами. Эта опция поддерживается начиная с OpenVPN 2.4, если вам нужно придерживаться OpenVPN 2.3 (последняя версия для Windows XP), вам придетсяdhcp-option DNS x.x.x.x
вместо этого добавить две строки с жестко закодированными IP-адресами.script-security 2
разрешить сценарии.up
сценарий:down
сценарий:Таким образом, после того, как вы подключитесь к VPN с помощью этой конфигурации,
3proxy.exe
процесс будет запущен, и на1080
порту будет работать прокси SOCKS5 с ограниченным локальным хостом с возможностью разрешения DNS , теперь просто настройте ваше приложение на использованиеlocalhost:1080
прокси SOCKS.источник
Options error: option 'route' cannot be used in this context ([PUSH-OPTIONS])
иOptions error: option 'redirect-gateway' cannot be used in this context ([PUSH-OPTIONS])
. Тем не менее, это решение работает. Если вы пропустите апострофы для сценариев «вниз» и «вверх», используйте двойную обратную косую черту:c:\\path\\to\\script
Если вы используете Linux и используете openVPN, VPNShift прекрасно работает.
источник
Просто получите доступ к VPN через виртуальную машину.
Используйте «выбранные» приложения из виртуальной машины вместо того, чтобы использовать их с хост-компьютера.
PS Конечно, вам нужно предоставить сетевой доступ к виртуальной машине через хост-компьютер.
источник
Я знаю, что это слишком поздний ответ, который я только что натолкнул, но в случае, если это когда-либо будет иметь отношение к кому-то, у меня было то же обстоятельство, что я хотел пропустить свой рабочий трафик через VPN, но не хотел, чтобы мой личный трафик направлялся через их прокси-серверы и тому подобное. Я тогда работал с Win7, но они все еще работали с WinXP на многих своих системах. В конце концов они просто дали мне второй компьютер для работы, который решил проблему (коммутатор, подключенный к обоим компьютерам, мог просто перепрыгивать), но до этого я запускал Virtual XP, который я установил как свою рабочую ОС .. Я бы подключился к работе через VPN с указанной виртуальной машины, что бы освободило трафик моей персональной ОС от рабочих ограничений и шпионажа.
источник