Mam dostęp do sieci VPN i chcę jej używać tylko do niektórych aplikacji, a nie wszystkich.
Na przykład:
jeśli łączę się z VPN, chcę, aby tylko aplikacje Opera i Newsbin korzystały z tego połączenia VPN. Wszystkie inne aplikacje, takie jak np. Outlook, powinny korzystać z normalnego połączenia internetowego (gdy VPN jest podłączony / otwarty).
Afaik, to nie jest możliwe, ale nie jestem całkowicie pewien. Zatem moje pytanie: czy jest to wykonalne?
Odpowiedzi:
Nie, nie jest. Cóż, nie używam normalnych środków. Routing to routing. Routing działa niżej w dół modelu OSI. To, co musisz zrobić, to mieć świadomość na poziomie aplikacji (wyżej), aby mógł wykryć używany program itp. Routery NORMAL nie pozwalają na konfigurowanie tras na podstawie aplikacji lub numerów portów.
Myślę, że to możliwe. Routery widzą porty, dzięki czemu można je filtrować według numeru portu i wysyłać ruch z różnych tras. jestem pewien, że jakiś czas temu przeczytałem coś na temat routerów Cisco, które mogą to zrobić. Nie są tanie i są routerami biznesowymi, które wymagają dużej konfiguracji i domyślam się, że chcesz czegoś prostego do użytku domowego.
Podsumowując, to router potrzebowałby tej funkcji, a twoje standardowe torfowiska do użytku domowego, nawet firmy nie obsługują tych funkcji. Tylko zaawansowana linia Cisco i Sonicwalls oferuje te możliwości.
źródło
Można to osiągnąć, przynajmniej w Linuksie (i myślę także o BSD i OS X). Możesz to zrobić przez:
Istnieją skrypty do realizacji powyższych czynności tu czy tam jest inny przewodnik tutaj .
Oto szczegółowy przewodnik dotyczący routingu Transmisja za pośrednictwem VPN (za pomocą własnego serwera VPN.
źródło
Możesz to zrobić za pomocą Zapory systemu Windows (pod warunkiem, że korzystasz z Win 7 lub Vista) - napisałem o tym przewodnik
źródło
Możesz to zrobić z sieciowymi przestrzeniami nazw w systemie GNU / Linux.
Oto jak uruchomić OpenVPN i pojedynczą aplikację w oddzielnej przestrzeni nazw:
Utwórz przestrzeń nazw sieci:
Uruchom interfejs pętli zwrotnej w przestrzeni nazw (w przeciwnym razie wiele rzeczy nie będzie działać zgodnie z oczekiwaniami…)
Utwórz wirtualne interfejsy sieciowe, które pozwolą OpenVPN (w przestrzeni nazw) uzyskać dostęp do prawdziwej sieci, i skonfiguruj interfejs w przestrzeni nazw (vpn1), aby używać interfejsu poza przestrzenią nazw (vpn0) jako domyślną bramą
Włącz routing IPv4 i NAT dla interfejsu w przestrzeni nazw. Ponieważ moim domyślnym interfejsem jest interfejs bezprzewodowy, używam wl + (który może pasować do wlan0, wlp3s0 itd.) W iptables dla interfejsu wychodzącego; jeśli używasz interfejsu przewodowego, prawdopodobnie powinieneś użyć en + (lub br + dla interfejsu pomostowego)
Skonfiguruj serwer nazw, aby używał go w przestrzeni nazw
Prawie gotowe, teraz powinniśmy mieć pełny dostęp do sieci w przestrzeni nazw
Na koniec uruchom OpenVPN w przestrzeni nazw
Gdy tun0 znajdzie się w przestrzeni nazw, jesteś gotowy, aby uruchomić żądany program!
Artykuł ŹRÓDŁOWY.
W artykule źródłowym znajduje się również skrypt opakowania, który można dostosować do własnych potrzeb.
źródło
Zrobiłem to w systemie Windows. Chodzi o to, aby powiązać wychodzące pakiety sieciowe z interfejsem VPN. Ludzie sugerują do tego ForceBindIP , ale dzięki tej odpowiedzi mam pomysł na użycie proxy. Minusem tej metody jest to, że albo twoje aplikacje muszą mieć wsparcie proxy, albo będziesz musiał użyć proxy (patrz tutaj i tutaj ). Plusem jest to, że w ten sposób będziesz mógł ograniczyć użycie VPN w przeglądarce do określonych domen za pomocą FoxyProxy lub podobnych dodatków.
Używam 3proxy w trybie SOCKS i wiążę jego interfejs zewnętrzny z adresem IP VPN. OpenVPN służy do połączenia VPN.
W moim pliku .ovpn (
client
,dev tun
) dodałem następujące linie:route-nopull
aby zignorować trasy wypychane z serwera. W twoim przypadku może być konieczne skomentowanie bramy przekierowania.route
aby dodać trasę dla tego interfejsu, bez tej linii nie będzie używana, nawet jeśli aplikacja jest z nią związana.pull-filter
aby zachować wypychany DNS, który w przeciwnym razie zostanie zrzuconyroute-nopull
wraz z wypychanymi trasami. Ta opcja jest obsługiwana począwszy od OpenVPN 2.4, jeśli musisz trzymać się OpenVPN 2.3 (najnowsza wersja dla Windows XP),dhcp-option DNS x.x.x.x
zamiast tego musisz dodać dwie linie z zakodowanymi adresami IP.script-security 2
aby umożliwić skryptowanie.up
scenariusz:down
scenariusz:Tak więc, po połączeniu się z VPN przy użyciu tej konfiguracji,
3proxy.exe
proces zostanie uruchomiony i na1080
porcie zostanie uruchomiony serwer proxy SOCKS5 z ograniczeniem localhost i funkcją rozpoznawania nazw DNS , teraz wystarczy skonfigurować aplikację do korzystania zlocalhost:1080
serwera proxy SOCKS.źródło
Options error: option 'route' cannot be used in this context ([PUSH-OPTIONS])
iOptions error: option 'redirect-gateway' cannot be used in this context ([PUSH-OPTIONS])
. Niemniej jednak to rozwiązanie działa. Jeśli pominiesz apostrofy dla skryptu w dół i w górę, użyj podwójnych odwrotnych ukośników:c:\\path\\to\\script
Jeśli korzystasz z systemu Linux i używasz openVPN, VPNShift działa pięknie.
źródło
Wystarczy uzyskać dostęp do VPN za pośrednictwem maszyny wirtualnej.
Korzystaj z „wybranych” aplikacji z maszyny wirtualnej zamiast z hosta.
PS Oczywiście musisz dać dostęp sieciowy do maszyny wirtualnej za pośrednictwem komputera hosta.
źródło
Wiem, że to spóźniona odpowiedź, na którą właśnie natknąłem się, ale na wypadek, gdyby była dla kogoś istotna, miałem taką samą okoliczność, w której chciałem kierować ruchem roboczym przez VPN, ale nie chciałem, aby mój ruch osobisty był kierowany przez serwery proxy i tym podobne. Więc wtedy uruchomiłem Win7, ale nadal działali WinXP na wielu swoich systemach. W końcu dali mi drugi komputer do pracy, co rozwiązało problem (skrzynka rozdzielcza podłączona do obu komputerów mogła po prostu przeskakiwać w przód iw tył), ale wcześniej uruchomiłem Virtual XP, który skonfigurowałem jako system operacyjny. Chciałbym połączyć się VPN z tą maszyną wirtualną, aby połączyć się z pracą, co spowodowałoby, że mój osobisty ruch systemu operacyjnego byłby wolny od ograniczeń pracy i szpiegowania.
źródło