Vpn для отдельного приложения windows

Имеется нашумевшая игра Hogwarts Legacy, к которой идут внутриигровые предметы, получаемые через связь игры с аккаунтом WBgames. Проблема в том, что WBgames сидит на серверах Amazon, которые без VPN блочатся. Я смогла соединить аккаунты через пробный доступ к HideMyName, получить дропсы с твича и т.д., но пробный доступ кончился и сама игра без соединения этот контент всё равно не видит. Вторая проблема: мне нужно VPN-подключение конкретно для этой игры, а не на всё и вся, поэтому просто включить VPN не получится. И вариант с виртуалкой для меня тоже не подходит, слишком много возни для одной игры. В идеале мне нужно, чтобы VPN работал только для игры или включался/выключался на период запуска игры. Проблема третья: я абсолютный профан в этом, и мне нужно объяснить максимально простыми словами и подробной инструкцией. имеющийся на портале решённый вопрос для меня неинформативен, к сожалению. Проблема четвёртая (если это важно в контексте): роутер поддерживает только PPTP/L2TP, что такое OpenVPN, он не понимает.


  • Вопрос задан

  • 2897 просмотров

You can do it with network namespaces on GNU/Linux.

Here’s how to run OpenVPN and a single application in a separate namespace:

Create the net network namespace:

ip netns add myvpn

Start the loopback interface in the namespace (otherwise many things don’t work as expected…)

ip netns exec myvpn ip addr add 127.0.0.1/8 dev lo
ip netns exec myvpn ip link set lo up

Create virtual network interfaces that will let OpenVPN (in the namespace) access the real network, and configure the interface in the namespace (vpn1) to use the interface out of the namespace (vpn0) as its default gateway

ip link add vpn0 type veth peer name vpn1
ip link set vpn0 up
ip link set vpn1 netns myvpn up
ip addr add 10.200.200.1/24 dev vpn0
ip netns exec myvpn ip addr add 10.200.200.2/24 dev vpn1
ip netns exec myvpn ip route add default via 10.200.200.1 dev vpn1

Enable IPv4 routing and NAT for the interface in the namespace. As my default interface is a wireless one, I use wl+ (which may match wlan0, wlp3s0, etc.) in iptables for the outgoing interface; if you use a wired interface you should probably use en+ (or br+ for a bridged interface)

iptables -A INPUT \! -i vpn0 -s 10.200.200.0/24 -j DROP
iptables -t nat -A POSTROUTING -s 10.200.200.0/24 -o wl+ -j MASQUERADE
sysctl -q net.ipv4.ip_forward=1

Configure the nameserver to use inside the namespace

mkdir -p /etc/netns/myvpn
echo 'nameserver 8.8.8.8' > /etc/netns/myvpn/resolv.conf

Almost done, now we should have full network access in the namespace

ip netns exec myvpn ping www.google.com

Finally start OpenVPN in the namespace

ip netns exec myvpn openvpn --config /etc/openvpn/myvpn.conf

Once tun0 is up in the namespace, you’re ready to start the program you wanted!

while ! ip netns exec myvpn ip a show dev tun0 up; do sleep .5; done
ip netns exec myvpn sudo -u $MYSELF popcorntime

SOURCE article.

Also there is a wrapper script in the source article you can adapt for your needs.

вы можете сделать это с помощью сетевых пространств имен в GNU/Linux.

вот как запустить OpenVPN и одно приложение в отдельном пространстве имен:

создать сетевое пространство имен:

ip netns add myvpn

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

ip netns exec myvpn ip addr add 127.0.0.1/8 dev lo
ip netns exec myvpn ip link set lo up

создание виртуальных сетевых интерфейсов, которые позволят OpenVPN (в пространстве имен) получить доступ к реальной сети, и настроить интерфейс в пространстве имен (vpn1) использовать интерфейс из пространства имен (vpn0) в качестве шлюза по умолчанию

ip link add vpn0 type veth peer name vpn1
ip link set vpn0 up
ip link set vpn1 netns myvpn up
ip addr add 10.200.200.1/24 dev vpn0
ip netns exec myvpn ip addr add 10.200.200.2/24 dev vpn1
ip netns exec myvpn ip route add default via 10.200.200.1 dev vpn1

включить маршрутизацию IPv4 и NAT для интерфейса в пространстве имен. Поскольку мой интерфейс по умолчанию является беспроводным, я использую wl+ (который может совпасть с wlan0, wlp3s0, и т.д.) в iptables для исходящего интерфейса; если вы используете проводной интерфейс, вы, вероятно, должны использовать en+ (или br+ для мостового интерфейса)

iptables -A INPUT \! -i vpn0 -s 10.200.200.0/24 -j DROP
iptables -t nat -A POSTROUTING -s 10.200.200.0/24 -o wl+ -j MASQUERADE
sysctl -q net.ipv4.ip_forward=1

настройте сервер имен для использования внутри пространство имен

mkdir -p /etc/netns/myvpn
echo 'nameserver 8.8.8.8' > /etc/netns/myvpn/resolv.conf

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

ip netns exec myvpn ping www.google.com

наконец, запустите OpenVPN в пространстве имен

ip netns exec myvpn openvpn --config /etc/openvpn/myvpn.conf

как только tun0 появится в пространстве имен, вы сможете запустить нужную программу!

while ! ip netns exec myvpn ip a show dev tun0 up; do sleep .5; done
ip netns exec myvpn sudo -u $MYSELF popcorntime

исходная статья.

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

VPN не различает приложения и не занимается маршрутизацией трафика, а лишь предоставляет сетевой интерфейс со шлюзом. За маршрутизацию отвечает ваша операционная система.

Тем не менее, в программе для Android мы реализовали возможность выбирать приложения, которые должны работать через VPN, а какие не должны.

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

Написать в службу поддержки

Была ли статья полезна?

Спасибо за отзыв!

Уточните, почему:

  • содержание статьи не соответствует заголовку
  • текст трудно понять
  • мне не нравится, как это работает
  • нет ответа на мой вопрос
  • рекомендации не помогли
  • другая причина

Расскажите, что вам не понравилось в статье:

Расскажите, что вам не понравилось в статье:

Полезные ссылки

  • Приложение для Windows
  • Приложение для macOS
  • Приложение для Android
  • Приложение для iOS
  • Приложение для Linux
  • Настройка на роутере
  • Remove From My Forums
  • Вопрос

  • Добрый день.

    Задача: провайдер предоставляет доступ в Интернет через vpn, при этом внутри одного физического канала можно организовать несколько подключений. Необходимо создать несколько таких подключений, при этом прикладные программы
    (несколько копий браузера, к примеру) должны выходить в сеть каждый из под своего vpn-доступа. Работать они должны идти одновременно.

    Какая из серверных ОС позволяет подобное? Или можно ограничиться Windows 7 и аналогами?

Ответы

  • такое врядли получится, приложения используют стек винды, а винда работает с одним маршрутом по умолчанию

    • Предложено в качестве ответа

      7 мая 2013 г. 8:05

    • Помечено в качестве ответа
      Petko KrushevMicrosoft contingent staff
      7 мая 2013 г. 12:27

  • Vpn для определенной программы windows
  • Vpn прокси для windows 10
  • Vpn для обновления windows 11
  • Vpn поставщик услуг на windows 10
  • Vpn для ноутбука бесплатно для windows 10 россия