Dziś chciałbym pokazać wam ja wykorzystać sytuację w której posiadacie swojego hosta gdzieś w firmie lub w domu i chcecie korzystać właśnie z niego ze względu na IP a nie ma was na miejscu.

W brew pozorom jest to bardzo przydatna opcja. Bo np. macie dostęp gdzieś „dalej” tylko z konkretnego IP lub np. siedzicie w hotelu lub jeszcze gdzieś indziej i macie zablokowane strony www. Założenia są takie że mam router na którym jest przekierowany port 1194 na Raspberry Pi z Debianem i zainstalowanym OpenVPN. Jak zainstalować OpenVPN można przeczytać w poprzednim moim wpisie. Lub może to być jakikolwiek inny host z jakimś innym systemem do wyboru jest dużo. Uwaga, można było by od razu przekierować port 22 (ssh) na routerze i nie bawić się w VPN ale tak jest fajniej.

Dobra siedzę w hotelu i mam klienta OpenVPN którym się łączę do routera który przekierowuje mnie na Raspberry Pi. Połączenie zostało nawiązane jest ok. Wiadomo że OpenVPN daje możliwość dostępu tylko do LAN’u i nie tuneluje nas do internetu. Generalnie można było by tak zrobić aby po zapięciu tunelu mieć od razu dostęp do internetu z serwera VPN ale nie rozpatruję tego przypadku teraz bo konfiguracja było by poważniejsza. A tu chodzi o funkcjonalność przy okazji.

Teraz łączę się po ssh do mojego Raspberry Pi ale z opcją -D i portem 12345:

ssh -D 12345 pi@172.18.10.7

I nie zamykam okna ssh

ssh_proxy_raspberry_pi

SSH proxy?

Co mi to dało? To że będę mógł wpisać w przeglądarce proxy. W tym przypadku dzięki opcjom ssh tworzę proxy które jest pośrednikiem pomiędzy moim komputerem a Raspberry Pi. A przeglądarce każę używać właśnie tego pośrednika do wyświetlania stron. Więc w SOCKS host trzeba wpisać localhost a port 12345 czyli ten sam port który użyłem przy połączeniu ssh.

ssh_proxy_socks

Takim sposobem z każdego miejsca na świecie mogę się połączyć po VPN do domu i  stamtąd wychodzić zawsze z tego samego IP i to bez ewentualnych ograniczeń.