Knowledgebase: Konfiguracja VPN
OpenVPN - Jak tunelowac ruch tylko do jednego IP
Posted by Robert O on 11 sierpnia 2016 04:16 PM

Problem:
Łączę się przez klienta OpenVPN na komputerze, potrzebuje aby ruch był tunelowany tylko do jednego adresu IP.
Cały pozostały ruch ma wychodzić przez lokalny adres IP.

Rozwiązanie
Mechanizm nazywa się split-tunneling i umożliwia przekierowanie ruchu VPN tylko do konkretnych adresów IP.

Po zestawieniu sesji VPN przez OpenVPN klienta, cały ruch do Internetu wychodzi przez VPN, czyli ma inny publiczny adres IP niż nasz lokalny.

Przykład:
Chcemy aby tylko ruch do adresu wp.pl (212.77.100.101) wychodził przez tunel VPN
W pliku konfiguracyjnym zmieniamy ostatnią linijkę:

usuwamy:

redirect-gateway def1


dodajemy:

route-nopull 
route 212.77.100.101 255.255.255.255 vpn_gateway


Oczywiście możemy dodać więcej adresów IP w kolejnych linijkach.
Niestety nie możemy dodać nazwy domeny jak "wp.pl" wiec zmiana nie zadziała na portalach gdzie oprócz głównego adresu IP,
pod którym jest strona, dane pobierane są jeszcze z innych źródeł np. portale vod.
Oczywiście dodatkowe adresy możemy pozyskać za pomocą sniffera, ale to już bardziej zaawansowana zabawa ;)

Plik przed zmianą:

client
dev tun
remote "adres serwera vpn" 443
proto tcp-client
remote-cert-tls server
auth-user-pass auth.txt
tls-client
pull
persist-key
resolv-retry infinite
reneg-sec 0
verb 3
script-security 2 system
auth-nocache
route-delay 2
redirect-gateway def1

Po zmianie:

client
dev tun
remote "adres serwera vpn" 443
proto tcp-client
remote-cert-tls server
auth-user-pass auth.txt
tls-client
pull
persist-key
resolv-retry infinite
reneg-sec 0
verb 3
script-security 2 system
auth-nocache
route-delay 2
route-nopull 
route 212.77.100.101 255.255.255.255 vpn_gateway

(2 vote(s))
Helpful
Not helpful