Rozdzielenie ip na porty


(Sirserega Pb) #1

Witam,

 

Chciałbym łaczyć się z innego komputera do komputera w domu. Mam router i kilka urządzeń podłaczonych pod niego. Mam pytanie, co mam przestawic w firewallu żeby na port 22 się łaczyć z konkretnym komputerem ? jak to ustawić ?


(Longhorn2009) #2

Chodzi ci o telnet? Jeśli tak to jest on przestarzały, choć jeśli mówisz o porcie 22 to dotyczy on SSH. Najlepiej zrobisz używając do tego programów typu TeamViewer, są bardziej rozbudowane niż windowsowe odpowiedniki.


(Sirserega Pb) #3

ale nie o to chodzi mam czasem prace np zainstalowac linuxa komus chcialbym z komputerem ktory mam w domu laczyc sie przez ssh ale wiem ze cos sie tam przestawia 192.168.0.1 na moje ip i moj port ale nie bardzo wiem o co chodzi.


(roobal) #4

Jeśli w sieci masz kilka komputerów, na których działa dla przykładu SSH, to możesz wykorzystać PAT (tłumaczenie portów). Chodzi o to, że wszystkie serwery SSH nasłuchują sobie na swoim porcie, ale w NAT ustawiasz inny port publiczny, dla przykładu: port publiczny dla komputera jeden ustawiasz na 1024, a prywatny na 22, dla komputera 2 1025 i prywatny 22 itd. (porty mogą być dowolne powyżej portu 1023). Wówczas zamiast xxx.xxx.xxx.xxx:22 łączysz się na xxx.xxx.xxx.xxx:1024 itd. NAT sam już skieruje pakiety do opowiedniego hosta.

Dla systemu Windows też są serwery SSH.


(Sirserega Pb) #5

To rozumiem, przepraszam cieżko mi zdać pytanie bo nie bardzo to rozumiem, chodzi bardziej o to że:

 

  • Mam w sieci domowej kilka urządzeń połaczonych za routerem ale jedno IP zewnętrzne;

  • Chce się połączyć z komputer z sieci zewnętrznej do mojego komputera w sieci domowej;

  • Z racji że mam kilka urządzeń router łaczy mnie z ip zewnętrznym np 192.162.121.17:22 na dowolne urządzenie w sieci (na chybił trafił);

  • Ja bym chciał żeby router łaczył mnie z ip mojego komputera (192.168.1.1.) a nie np komórki (192.168.1.2);

 

Kiedyś znajomy mi pomagał i to ustawił ale przeprowadziłem się i zmieniłem router.


(roobal) #6

No to o tym właśnie pisałem. Do tego co chcesz wykorzystujesz PAT (translację portów). Załóżmy, że masz publiczne IP 100.100.100.100, adresy prywatne z podsieci 192.168.1.0/24. Ustawiasz regułę dla hosta 192.168.1.1, jako publiczny port ustawiasz dla przykładu 1024, jako prywatny ustawiasz 22. Masz na zrzucie przykład.

Z sieci zewnętrznej łączysz się w taki sposób (przykład dla klienta ssh dla systemu Linux).

ssh uzytkownik@100.100.100.100 -p 1024

Jeśli korzystasz z PuTTY, to robisz to tak jak na zrzucie.

Działa to tak, że łączysz się na port 1024, NAT/PAT zamienia go na port 22, a że port 1024 jest przypisany do hosta 192.168.1.1 stąd wie, do którego komputera przekazać pakiet. Teraz rozumiesz?

Oczywiście twój router musi posiadać PAT. Ja mam np. dwa routery i jeden posiada tylko NAT, a drugi NAT i PAT.


(Sirserega Pb) #7

Czyli tak to na routerze rozpisać powinienem ?

 

https://imagizer.imageshack.us/v2/1007x524q90/536/781c8b.jpg

 

IP Docelowego LAN - moj komputer

Bramka domyślna - zewnętrzne ip

Hop Count - port ?


(roobal) #8

To jest routing, a nie forwarding. Szukaj w firewall albo opcjach zaawansowanych. Spójrz na mój pierwszy zrzut, zobaczysz różnicę. Swoją drogą czy hop count i port range to jest to samo?


(Sirserega Pb) #9

To ? jeżeli tak to jak to ustawić ?

 

https://imagizer.imageshack.us/v2/1017x543q90/901/276fd5.jpg


(roobal) #10

Jak pisałem, twój router musi mieć taką możliwość. Niestety router, który posiadasz nie ma możliwości zamiany portów. W takiej sytuacji pozostaje Ci niestety ręczna zmiana portów, na której działają usługi. Jeśli SSH działa domyślnie na porcie 22, to kilka hostów nie może korzystać z tego samego portu, bo NAT się pogubi. Wówczas w ustawieniach serwera SSH zmieniasz domyślny port na dowolny powyżej 1023. Na przykład komputer1 zmieniasz na 1024, komputer2 na 1025 itd. Przekierowanie robisz wtedy tak.

Komputer1 (zakładam, że adresacja z podsieci 192.168.1.0/24)

Prywatne IP: 192.168.1.1

Nazwa komputera: wybierasz z listy (prawdopodobnie automatycznie uzupełni Ci adres IP)

Typ: TCP

Zakres portów: 1024 - 1024

Komentarz: przekierowanie dla ssh na komputer1 (tu robisz opis reguły, abyś wiedział do czego służy jak będziesz ich miał więcej).

Dla reszty przekierowań robisz tak samo.

Port SSH w konfiguracji serwera możesz szybko zmienić takimi poleceniami na Linuksie (jako root).

 

sed -i 's\Port 22\Port 1024\' /etc/ssh/sshd_config
service ssh restart

Serwer SSH może nasłuchiwać na wielu portach, więc w LANie możesz zrobić jeszcze tak, że ustawiasz dodatkowe porty dla sieci zewnętrznych, a w LANie korzystasz z portu 22. Gdyby takie rozwiązanie Cię interesowało, to zrobisz to takimi poleceniami (jako root).

echo "Port 1024" >> /etc/ssh/sshd_config
service ssh restart

Z tego co pamiętam, na CentOS jest chyba service sshd restart.

Najszybciej byłoby to załatwić za pomocą PAT, ale niestety na twoim routerze nie da się tego zrobić, dlatego trzeba pokombinować w konfiguracji serwerów.