Tunelowanie portów przez ssh

kratek210

Użytkownik
Dołączył
Listopad 24, 2010
Posty
45
Witam. Moze na poczatek opisze troche swoja siec i system. Internet dolatuje do mnie od szanownego operatora sieci play który nie udostepnia publicznego adresu IP i udostepniac nie zamiaru ani odplatnie ani bezplatnie. W moim lapku siedzi ubuntu 10.4. Problem mam nastepujacy chcialbym postawic na swoim sprzecie serwer przy pomocy tunelu ssh. W terminal wklepuje
Kod:
ssh -l user mojzdalnyhost.com -p 22 -R 8080:localhost:80
ale wywala mi blad cannot bind adress. Blad wywala dlatego ze na porcie 80 siedzi apache ktory wlasnie chce udostepnic przez tunel ssh. Wiem ze istnieje vpn i hamachi ale ma to duze ograniczenia, ja raczej chce udostepnic serwer szerszemu gronu. Przeszukałem google ale nie moge nic wygooglowac na ten temat. Prosze was o pomoc ewentualnie o odpowiedz czy wogole cos takiego jest mozliwe z uzyciem ssh
 
Ostatnia edycja:

Hunter

Użytkownik
Dołączył
Październik 29, 2005
Posty
478
Hej,

Nie bardzo rozumiem co chcesz osiagnac ale opisze zastosowanie tunelowania ssh, moze to rozwieje Tobie lub innym pewne watpliwosci:

1) Tunelowanie lokalne - zakladamy ze twoj komputer chce sie polaczyc z usluga apache ktory dziala na Twoim zdalnym serwerze na standardowym porcie 80:

ssh [email protected] -L 8080:127.0.0.1:80

dzieki temu na Twoim lokalnym komputerze zostanie otwarty lokalny port 8080 ktory bedzie tunelem dla docelowego portu 80 na zdalnym serwerze.
Czyli wpisujac w przegladarce 127.0.0.1:8080 wyswietli sie Tobie strona www z uslugi apache2 na Twoim zdalnym linuxie.

2) Tunelowanie jako serwer socks proxy - wyobrazmy sobie sytuacje ze zapomnielismy zaplacic za neta... admin zablokowal nam dostep do www: port 80,443,8080

mozemy ominac ta blokade zestawiajac dynamiczny tunel na dostepnym lokalnym porcie, w tym celu klepiemy:

ssh [email protected] -D 3000

nastepnie w przegladarce internetowej wchodzimy do konfiguracji proxy i ustawiamy tylko 1 rodzaj proxy SOCKS v5, 127.0.0.1, port 3000 :)
Dzieki temu nasza przegladarka laczy sie dynamicznym tunelem przez nasz lokalny port 3000 na mojzdalnyhost.com a nastepnie polaczenie jest forwardowane na port 80 naszego zdalnego hosta :).

3) tunelowanie z przekazem zdalnym - dzieki temu mozemy uruchomic na zdalnym serwerze port ktory bedzie forwardowany do innego docelowego serwera. Pewnie jest to malo zrozumiale dlatego wyjasnie to w praktyce.

Zalozmy ze w mojej firmie chcialbym wyslac maila z serwera poczty innej firmy. Wszystko bylo by ok gdyby nie to ze zew. adres ip tejze firmy jest zmienny i nie ma mozliwosci stworzenia dynamicznych dns'ow.

dlatego zestawiamy tunel z przekazywaniem zdalnym na komputerze drugiej firmy z serwerem mojej firmy:
ssh [email protected] -R 4000:127.0.0.1:25

nastepnie na komputerze w mojej firmie zestawiam tunel z serwerem na ktorym wczesniej ustawilismy polaczenie z przekazem zdalynm:
ssh [email protected] -L 5000:127.0.0.1:4000

Dzieki temu otrzymalismy:

komputer firma X ----> serwer firma X <----- komputer firma Y --> serwer poczty Y
teraz aby moc wyslac maila wystarczy na komputerze firmy X wpisac adres serwera 127.0.0.1 port smtp:25

Istnieje tez mozliwosc tunelowania ruchu tcp/udp po udp ale nie bede o tym pisal poniewaz tego typu tunelowanie przydaje sie raczej w skrajnych przypadkach :).

A dobrze wiemy ze tunelowanie tcp po udp uzywa sie w vpn'ie ktory jest uznany za bezpieczniejszy i bardziej zautomatyzowany standard nizeli ssh.


Ps. pragne tylko przypomniec ze kazdy rodzaj tunelowania ssh jest szyfrowanym polaczeniem ;-).
 
Ostatnia edycja:
Do góry Bottom