2011-06-07 12:51:27 +0000 2011-06-07 12:51:27 +0000
44
44

VPN-verbinding alleen gebruiken voor geselecteerde toepassingen

Ik heb toegang tot een VPN en wil die alleen voor sommige toepassingen gebruiken, niet voor alle.

Bijvoorbeeld: Als ik verbinding maak met een VPN wil ik dat alleen de applicaties Opera en Newsbin die VPN verbinding gebruiken. Alle andere applicaties, zoals b.v. Outlook, moeten de normale internet verbinding gebruiken (terwijl de VPN verbonden/geopend is).

Afaik is dit niet mogelijk, maar ik ben er niet helemaal zeker van. Dus daarom mijn vraag: is het te doen?

Antwoorden (8)

37
37
37
2013-09-12 01:28:23 +0000

Het is mogelijk om dit te bereiken, althans op Linux (en ik denk ook op BSD en OS X). Je kunt dit doen door:

  • Maak een exra gebruiker aan voor al het VPN verkeer.
  • Maak een extra routing tabel aan met 1 default route via het VPN.
  • Configureer Netfilter via Iptables om de andere routeringstabel te gebruiken voor al het verkeer afkomstig van een specifieke User ID.
  • Draai de applicaties die de VPN moeten gebruiken onder hun eigen gebruiker. Bijvoorbeeld met ‘sudo’.

Er zijn scripts om de bovenstaande stappen uit te voeren hier of er is een andere gids hier .

Hier is een gedetailleerde gids voor het routeren van Transmissie via een VPN (met behulp van een VPN server die je zelf bezit.

14
14
14
2011-07-07 16:01:13 +0000

Je zou de Windows Firewall kunnen gebruiken om dit te bereiken (mits je Win 7 of Vista gebruikt) - Ik heb hier een handleiding voor geschreven

  1. Maak verbinding met je VPN zoals je normaal zou doen.

  2. Open het Netwerkcentrum - klik met de rechtermuisknop op het pictogram voor de internetverbinding in de taakbalk en kies “Open Network and Sharing Center” (zie hieronder)

  3. Je zou (minstens) twee netwerken moeten zien onder “View Your Active Networks” - je VPN-verbinding en één met de naam “Network” - ook wel je ISP-verbinding genoemd. Zorg ervoor dat uw VPN een “Openbaar Netwerk” is, en uw ISP-verbinding een “Thuisnetwerk”. Als u een van beide verbindingen wilt wijzigen, klik er dan op en er verschijnt een optie-venster (zie hieronder).

  4. Ga naar het Configuratiescherm en klik op Systeem en beveiliging (zie hieronder).

  5. In het venster dat verschijnt, klikt u op Windows Firewall (zie hieronder).

  6. Klik in het venster Windows Firewall op Geavanceerde instellingen in het linkerdeelvenster (zie hieronder). Opmerking: U moet ingelogd zijn als Beheerder om wijzigingen aan te brengen in de Firewall-instellingen.

  7. Er verschijnt nu een venster met de titel Windows Firewall met Geavanceerde beveiliging. Klik in dit venster op Inkomende regels (zie hieronder).

  8. In het rechtervenster zie je een optie voor een Nieuwe regel. Klik erop (zie hieronder).

  9. In de Wizard Nieuwe Inkomende Regel (die zou moeten verschijnen), doet u het volgende:

  10. Herhaal stap 9 voor uitgaande regels.

5
5
5
2017-05-29 07:03:30 +0000

Ik heb dit op Windows gedaan. Het idee is om de uitgaande netwerkpakketten te binden aan de interface van VPN. Mensen suggereren ForceBindIP hiervoor, maar dankzij dit antwoord heb ik een idee gekregen om proxy te gebruiken. Het nadeel van deze methode is dat of je apps proxy ondersteuning moeten hebben of dat je een proxifier moet gebruiken (zie hier en hier ). Het voordeel is dat je op deze manier het gebruik van VPN in de browser kunt beperken tot specifieke domeinen met FoxyProxy of vergelijkbare add-ons.

Ik gebruik 3proxy in SOCKS mode en bind zijn externe interface aan het IP van VPN. OpenVPN wordt gebruikt voor de VPN verbinding.

In mijn .ovpn bestand (client, dev tun) heb ik deze regels toegevoegd:

route-nopull
route 0.0.0.0 0.0.0.0 vpn_gateway
pull-filter ignore "dhcp-option DNS "
script-security 2
up 'c:\path\to\up.cmd'
down 'c:\path\to\down.cmd'

route-nopull om routes te negeren die vanaf de server worden gepushed. In jouw geval moet je misschien redirect-gateway uitcommentariëren.

route om een route voor deze interface toe te voegen, zonder deze regel zal hij niet gebruikt worden, zelfs als de app er aan gebonden is.

pull-filter om gepushte DNS te behouden die anders door route-nopull samen met de gepushte routes gedropt worden. Deze optie wordt ondersteund vanaf OpenVPN 2.4, als u het bij OpenVPN 2.3 moet houden (laatste versie voor Windows XP), zult u in plaats daarvan twee dhcp-option DNS x.x.x.x regels met hardcoded IP’s moeten toevoegen.

script-security 2 om scripting toe te staan.

up script:

cd %~dp0
echo auth none> 3proxy-openvpn.conf
echo internal 127.0.0.1>> 3proxy-openvpn.conf
echo external %4>> 3proxy-openvpn.conf
echo socks>> 3proxy-openvpn.conf
start /b 3proxy.exe 3proxy-openvpn.conf

down script:

taskkill /f /im 3proxy.exe

Dus, nadat u verbinding maakt met VPN met deze configuratie, zal het 3proxy.exe proces gestart worden en een localhost-beperkte SOCKS5 proxy met DNS resolutie mogelijkheid zal draaien op de 1080 poort, nu hoeft u alleen uw app te configureren om de localhost:1080 SOCKS proxy te gebruiken.

4
4
4
2017-10-25 10:36:54 +0000

Je kunt het doen met netwerk namespaces op GNU/Linux.

Hier is hoe je OpenVPN en een enkele applicatie in een aparte namespace kunt draaien:

Maak de net netwerk namespace:

ip netns add myvpn

Start de loopback interface in de namespace (anders werken veel dingen niet zoals verwacht…)

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

Maak virtuele netwerk interfaces die OpenVPN (in de namespace) toegang geven tot het echte netwerk, en configureer de interface in de namespace (vpn1) om de interface buiten de namespace (vpn0) te gebruiken als standaard 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

Activeer IPv4 routing en NAT voor de interface in de namespace. Aangezien mijn standaard interface een draadloze interface is, gebruik ik wl+ (wat overeen kan komen met wlan0, wlp3s0, enz. ) in iptables voor de uitgaande interface; Als je een bedrade interface gebruikt, moet je waarschijnlijk en+ gebruiken (of br+ voor een gebridgde 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

Configureer de nameserver om binnen de namespace te gebruiken

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

Bijna klaar, nu zouden we volledige netwerk toegang moeten hebben in de namespace

ip netns exec myvpn ping www.google.com

Start tenslotte OpenVPN in de namespace

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

Als tun0 eenmaal draait in de namespace, ben je klaar om het programma te starten dat je wilde!

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

BRON artikel.

Er is ook een wrapper script in het bron artikel dat je kunt aanpassen voor je behoeften.

1
1
1
2018-07-12 16:19:29 +0000

Als u op linux zit, en u gebruikt openVPN, dan werkt VPNShift uitstekend.

0
0
0
2019-09-12 14:47:21 +0000

Ik weet dat dit een veel te laat antwoord is dat ik net tegenkwam, maar voor het geval het ooit relevant is voor iemand, ik had dezelfde omstandigheid waarbij ik mijn werkverkeer via de VPN wilde laten lopen, maar niet wilde dat mijn persoonlijke verkeer via hun proxy servers en dergelijke werd geleid. Dus ik draaide toen Win7 maar zij draaiden nog WinXP op veel van hun systemen. Uiteindelijk gaven ze me een tweede PC om op te werken, wat het probleem oploste (een switchbox gekoppeld aan beide PC’s, kon gewoon heen en weer springen) maar voordien draaide ik een Virtual XP die ik instelde als mijn werk OS… Ik maakte een VPN vanuit die VM om verbinding te maken met mijn werk, wat mijn persoonlijke OS verkeer vrij zou laten van de werk beperkingen en spionage.

0
0
0
2018-01-16 01:54:06 +0000

Ga gewoon naar de VPN via een virtuele machine.

  1. Maak een VM, dan vanuit de VM…
  2. Installeer de ‘geselecteerde’ applicaties

Gebruik de ‘geselecteerde’ applicaties vanuit de VM in plaats van ze vanaf de host machine te gebruiken.

P.S. Je moet natuurlijk netwerktoegang geven aan de VM via de host machine.

-1
-1
-1
2011-06-10 22:32:46 +0000

Nee, dat is het niet. Niet met normale middelen. Routing is routing. Routing werkt lager in het OSI model. Wat er moet gebeuren is dat het zich bewust is op het applicatieniveau (hogerop) zodat het kan detecteren welk programma je gebruikt enz. NORMALE routers staan niet toe dat je routes configureert op basis van applicaties of poortnummers.

Ik denk dat het wel mogelijk is. Routers kunnen poorten zien, zodat je ze kunt filteren op poortnummer en het verkeer verschillende routes kunt laten volgen. Ik weet zeker dat ik een tijdje geleden iets heb gelezen over Cisco routers die dit kunnen. Ze zijn echter niet goedkoop en het zijn zakelijke routers die veel configuratie vereisen en ik gok dat je iets eenvoudigs voor thuisgebruik wilt.

Samengevat is het de router die deze functie nodig zou hebben en uw bog standaard degenen voor thuisgebruik, zelfs business ondersteunen deze functies niet. Alleen de geavanceerde lijn van Cisco en Sonicwalls bieden deze mogelijkheden.