Rozdzielenie ip na porty

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ć ?

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.

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.

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.

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.

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.

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 ?

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?

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

 

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

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.