Skocz do zawartości

Pytanie O Ssh


tsiru

Rekomendowane odpowiedzi

Witam !

Nie wiem czy to dobry dział, ale warto spróbować.

Chciałbym się połączyć przez ssh z kolegą, który jest za natem i nie ma niestety publicznegi IP (ja mam).

Serwer sieci lokalnej jest oczywiście na (_linuxie_ → Linuksie) ORT.

Czy to jest możliwe, a jeśli tak, to w jaki sposób ?

Odnośnik do komentarza
Udostępnij na innych stronach

bramka sieci lokalnej ( serwer ) musi przekierowywać swój port na port 21 twojego kolegi gdzie jest ssh :)

takie coś uzysuje sie poprzez odpowiednie wpisy w iptables amianowicie przy użyciu DNAT

( Destination NAT i preroutingu na serwerze ). Suma sumarum taki wpis powinien się znaleśc na sererze w sieci lokalnej twojego kumpla:

 

iptables -A PREROUTING -t nat -s 0/0 -p tcp --dport port_pierzekierowany -j DNAT --to-d
estination ip_kumpla_w_sieci:21 

 

 

tylko nie jestem pewien tego

 

-t nat 

 

ale to już zapewne ktoś ci pomoże jeszcze tutaj :)

Odnośnik do komentarza
Udostępnij na innych stronach

macmus napisał już na czym polega rozwiązanie problemu. Ja pozwolę sobie tylko uściślić odpowiedz.

Więc domyślnym portem dla ssh jest 22 (oczywiście jak sobie ustawisz to 21 też będzie działać) a przekierowanie robi się tak:

iptables -A FORWARD -i $EXTIF -p tcp --dport 2222 -d $IP -j ACCEPT
iptables -t nat -A PREROUTING -p tcp --dport 2222 -j DNAT --to $IP:22 -i $EXTIF

$EXTIF - interfejs zewnętrzny na serwwerze (np. eth1)

$IP - IP komputera w LANie

 

Jako że najprawdopodobniej admin nie zgodzi się na przekierowanie portu 22 więc w zamian przekieruje dowolny inny (tzn prawie dowolny - wiadomo o co chodzi), w moim przykładzie jest to 2222. Czyli połączenia przychodzące na port 2222 są przekierowywane na komp w LANie na port 22.

 

Pozdrawiam.

Odnośnik do komentarza
Udostępnij na innych stronach

 iptables -I FORWARD -p tcp -d $DSTIP --dport $DSTPRT -j ACCEPT
iptables -t nat -A PREROUTING -p tcp -i $EXTDEV -s $ALLOWFROM -d $SRCIP --dport $SRCPRT -j DNAT --to $DSTIP:$DSTPRT

gdzie

#       $SRCPRT         -port na komputerze z ktorego przekierowujemy.
       #       $SRCIP          -IP komputera z ktorego przekierowujemy.
       #       $DSTIP          -IP komputera do ktorego przekierowujemy
       #       $DSTPRT         -port na ktory bedziemy przekierowywac.
       #       $ALLOWFROM      -ktore komputery maja prawo wysylac do nas...

 

Już kiedyś pisałem o tym :)

pozdro

Odnośnik do komentarza
Udostępnij na innych stronach

bo tak :P

 

21 to Web EX 1.2, 1.3

 

iptables -A FORWARD -i $EXTIF -p tcp --dport 2222 -d $IP -j ACCEPT

 

nie napisałem tej linjki ale uważałem ze nasz port na który chcemy się łaczyć jest forwardowany do sieci

( łańcuch forward ) przez serwer z tego interfejsu.

 

to tyle :)

Odnośnik do komentarza
Udostępnij na innych stronach

Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto

Jedynie zarejestrowani użytkownicy mogą komentować zawartość tej strony.

Zarejestruj nowe konto

Załóż nowe konto. To bardzo proste!

Zarejestruj się

Zaloguj się

Posiadasz już konto? Zaloguj się poniżej.

Zaloguj się
×
×
  • Dodaj nową pozycję...