Strona projektu:
GRAY-WORLD.NETNa forum często pada pytania - jak dostać się do serwisu czy generalnie routera postawionego zza firewallem, natem, bez publicznego adresu IP. Zasada działania w takich przypadkach jest w sumie zawsze taka sama - musimy znaleźć w internecie host z publicznym adresem IP, uruchamiamy na nim "coś", co pozwoli wszystkie połączenia przekazywać dalej do docelowego hosta. A nasz komputera zza firewallem musi samodzielnie nawiązać połączenie z takim hostem w sieci.
Active Port Forwarder służy właśnie do takiego celu - na komputerze zza firewallem uruchamiamy program który łączy się do innego komputera w internecie. Na tym innym uruchomiony jest program, który pozwala na przekierowanie wszystkich pakietów do schowanego komputera. Sprawdza się to np. przy połączenia komórkowych, przy firewallach gdzie nie ma możliwości otworzenia i przekierowania portu czy zza natem bez publicznego adresu IP.
Na serwerze należy uruchomić cześć "serwerową" projektu,
afserver. Plik konfiguracyjny umieszczony może zostać w pliku
/etc/afserver.conf; jego domyślna zawartość jest wystarczająca:
cerfile server-cert.pem
keyfile server.rsa
log file,logfile,LOG_T_ALL,LOG_I_CRIT,LOG_I_ERR,LOG_I_WARNING
realm my realm
listenport 50127
manageport 50126
listenport to numer portu na którym serwer nasłuchuje na połączenia przychodzące.
manageport to numer portu do którego część "kliencka" apf musi zostać podłączona.
Uruchomienie to po prostu
# afserver
Na komputerze/routerze zza firewallem uruchamiamy część "kliencką". Plik konfiguracyjny musi zostać umieszczony w
/etc/afclient.conf, parametry można także podać z linii poleceń, np.
# afclient -n publiczna_nazwa_hosta_w_sieci -m 50126 -p 80
I teraz: na serwerze z publicznym adresem IP uruchomiony został proces. Na komputerze zza firewallem uruchamiamy klienta, który podłączy się do serwera na port 50126 i wszystko co odbierze przekieruje na swój port 80.
Łącząc się teraz do serwera na port 50127 automatycznie pakiety zostaną przekierowane do ukrytego komputera na port 80.
Mamy wiec zapewniony zdalny dostęp do zasobów komputera czy routera, nawet jeżeli nie mamy adresu publicznego i jest on dobrze zabezpieczony. Wadą takiego rozwiązania jest konieczność znalezienia dostępnego komputera w sieci na którym zostanie uruchomiony proces
afp.
Należy pamiętać o odblokowaniu na firewallu serwera portów (w tym przypadku: 50126 oraz 50127). Możliwości pakietu są większe - połączenia klienta do serwera można zabezpieczać hasłem, certyfikatem itd. Polecam zapoznanie się z dokumentacją projektu.
Sam pakiet dla platformy ar71xx można pobrać ode mnie z repo:
http://ecco.selfip.net/backfire/packages/