Zwykle oznacza to, że przekierowałeś port na niewłaściwy adres IP w sieci LAN.
Domyślnie Ubuntu nie filtruje przychodzących prób połączenia z zaporą. Tak więc, chyba że zmieniłeś ustawienia zapory w Ubuntu, próba otwarcia połączenia z dowolnym portem TCP, od 1 do 65535, albo:
To powoduje dokładnie opisaną sytuację. Najprawdopodobniej możesz to naprawić, upewniając się, że port jest przekierowywany na właściwy adres IP w sieci LAN.
... wtedy będziesz musiał rozwiązać niektóre problemy.
Czy port określony dla strony LAN jest prawidłowy? To znaczy, zakładając, że nie zmieniłeś konfiguracji serwera SSH, czy port 57757 po stronie WAN jest ustawiony na przekazywanie do portu 22 na serwerze OpenSSH? (Możesz to sprawdzić dwukrotnie).
Może jest jakiś problem z wybranym portem (57757). Wypróbuj inny i sprawdź, czy to działa lepiej.
(Jeśli nie, i postępujesz zgodnie z tymi instrukcjami, zmień go z powrotem lub zastąp „57757” poniżej nowym numerem).
Spróbuj zrestartować serwer OpenSSH. Może to pomóc w przypadku problemu z siecią. Jeśli to nie pomoże, spróbuj zrestartować router i modem kablowy / DSL / ISDN.
Jeśli z jakiegoś powodu nie możesz ponownie uruchomić wszystkich trzech urządzeń, zalecamy zrestartowanie wszystkiego, co możesz. Jeśli nie możesz zrestartować usługi OpenSSH, przynajmniej możesz zrestartować usługę i (bardziej prawdopodobne, że to naprawi) zdejmij interfejs i uruchom go ponownie.
Aby zrestartować serwer OpenSSH:
sudo restart ssh
Aby obniżyć interfejs sieciowy, najpierw dowiedz się, na jakim interfejsie się on znajduje:
ifconfig
Zazwyczaj w przypadku urządzenia z pojedynczą kartą Ethernet i / lub pojedynczą kartą bezprzewodową Ethernet jest eth0
i sieć bezprzewodowa jest wlan0
.
Jeśli przewodowe połączenie Ethernet jest tym, co chcesz zdjąć i uruchomić ponownie, uruchom:
sudo ifdown eth0
Następnie uruchomić:
sudo ifup eth0
Alternatywnie możesz uruchomić:
sudo ifconfig eth0 down
Śledzony przez:
sudo ifconfig eth0 up
Jeśli komputer używa NetworkManager do zarządzania interfejsem, na którym działa serwer OpenSSH, nadal zalecam wypróbowanie powyższych sposobów, ale możesz także spróbować rozłączyć się i ponownie połączyć w NetworkManager.
W przypadku połączenia Ethernet spróbuj także odłączyć kabel i podłączyć go ponownie. W przypadku połączenia bezprzewodowego spróbuj go wyłączyć przełącznikiem sprzętowym (jeśli taki istnieje) i włącz go ponownie.
Dzieje się tu coś dziwnego i nic z tego nie trwa bardzo długo - warto zachować ostrożność przed podjęciem bardziej żmudnych kroków rozwiązywania problemów.
Jak próbujesz uzyskać do niego dostęp ze strony WAN? Jeśli używasz do tego maszyny w sieci LAN (tylko połączenie z sieci LAN do adresu WAN routera), jest to obsługiwane tylko w przypadku niektórych routerów. W końcu zadaniem routera jest kierowanie ruchem między stronami WAN i LAN, a nie kierowanie ruchem z jednej strony do siebie. Obsługa łączenia się z przekierowanymi portami w sieci WAN IP z sieci LAN jest w rzeczywistości raczej wyjątkiem niż regułą, chociaż wiele routerów domowych / biurowych ma tę funkcję.
Więc jeśli nie testujesz portu przekierowującego z hosta po stronie WAN, powinieneś to zrobić. Dostępne są następujące opcje:
Połącz się ze strony WAN. Działa to, jeśli masz tam dostęp do komputera, na przykład dostęp SSH do zdalnego komputera w szkole, pracy, domu znajomego lub podobnym.
Podłączyć maszynę testową między routerem a co zapewnia jej połączenia z Internetem. Jeśli masz modem kablowy / DSL / ISDN z portem Ethernet i router jest do niego podłączony, możesz podłączyć przełącznik do modemu i podłączyć router do przełącznika. Podłącz komputer do przełącznika. Najpierw sprawdź, czy ta maszyna ma tylko dostęp do Internetu - obecnie wielu dostawców usług internetowych zapewnia dwa lub więcej oddzielnych adresów IP. Jeśli nie , przejdź do strony konfiguracji routera i sprawdź jego adres WAN IP i maskę podsieci WAN , a następnie statycznie przypisz adres IP do urządzenia podłączonego do przełącznika, które znajduje się w tej samej podsieci.
Ta metoda ma pewne wady. To ból! Teoretycznie możliwe jest, że dostawca usług internetowych nieprawidłowo skonfiguruje swoją sieć, aby maszyna testowa podłączona do przełącznika mogła uzyskać dostęp do Internetu. (Chyba że intencją twojego dostawcy usług internetowych jest połączenie się z więcej niż jednym adresem WAN IP iakurat wybrałeś adres WAN IP dla maszyny testowej, którą przypisał ci twój dostawca usług internetowych, ruch między nim a prawdziwym hostem WAN powinien zostać zablokowany / odrzucony przez dostawcę usług internetowych. Ale niektórzy dostawcy usług internetowych mają dziwne praktyki, więc kto wie?) Jeśli tak się stanie, prawdopodobnie nie spowoduje nikomu poważnych problemów (a nawet gdyby tak było, masz połączenie tylko przez kilka minut). Jednak może to być potencjalnie postrzegane jako próba uzyskania dodatkowego dostępu poza granice subskrypcji, a - co ważniejsze - jeśli inny użytkownik ma ten sam adres IP, może przeszkadzać w ich połączeniu. Dlatego jeśli chcesz wypróbować tę metodę, nie próbuj uzyskiwać dostępu do Internetu z maszyny testowej, zatrzymaj się natychmiast, jeśli okaże się, że maszyna testowa ma dostęp do Internetu i nie próbuj w ogóle, jeśli jest to zabronione lub odradzane przez Twojego dostawcę usług internetowych. (I nie używaj tego, jeśli strona WAN routera jest biurową siecią LAN, bez uprzedniej konsultacji z administratorem sieci. To nie jest dostawca usług internetowych i nie ma założeń, że zasoby są zabezpieczone przed niepożądanym dostępem).
Istnieje pewna odmiana tej techniki, która czasem jest bardziej odpowiednia. Router prawdopodobnie otrzymuje informacje o połączeniu - adres IP, maskę podsieci, adres IP bramy (routera) w sieci WAN, z której korzysta, gdy nie wie, gdzie coś wysłać, oraz informacje o serwerach DNS - z twojego ISP, przez DHCP, przez modem kablowy / DSL / ISDN. Dlatego musisz podłączyć router do modemu, aby uzyskać niezbędną konfigurację, aby wyniki testów po stronie sieci WAN były znaczące. Ale router zazwyczaj zapamiętuje te informacje, o ile faktycznie jest podłączony do sieci po stronie WAN. Możesz więc podłączyć router, modem i urządzenie testowe, ale potem szybko iprzed zrobieniem czegokolwiek z maszyną testową oprócz upewnienia się, że przełącznik widzi ją jako podłączoną , odłącz modem.
Skorzystaj z bezpłatnej usługi w Internecie, aby przetestować swoje porty. Ponieważ włożenie testowej maszyny między interfejs WAN routera a Internetem (powyżej) jest bardzo zaangażowane - i ponieważ pokaże port jako dostępny, nawet jeśli jest niedostępny z powodu zablokowania przez twojego usługodawcę internetowego (co jest również prawdą w przypadku łączenia się z routera WAN IP od strony sieci LAN) - zwykle lepiej jest skorzystać z internetowej usługi skanowania portów.
Istnieje wiele usług skanowania portów. (Niektórzy mają frazę „sprawdź swoją zaporę ogniową” z myślą, że większość ludzi próbuje zablokować, a nie ułatwić dostęp.) To jest jedna. Jeśli zdecydujesz się go użyć, kliknij Kontynuuj , wpisz 57757 w polu tekstowym i kliknij Użyj określonej niestandardowej sondy portu . Aby serwer mógł działać, chcesz , aby był „otwarty”. „Zamknięty” oznacza, że port jest dostępny, ale serwer nie działa (dlatego próba połączenia została odrzucona). „Stealth” oznacza, że port był niedostępny - to tak, jakby nie było tam żadnej maszyny (lub jakby port był przekazywany tam, gdzie nie ma żadnej maszyny).
OK, więc ustaliłeś, że tak naprawdę nie jest dostępny z Internetu. Potencjalnie możesz go zeskanować (najlepiej ze strony WAN), aby uzyskać szczegółowe informacje, choć często nie daje to przydatnych informacji.
Jeśli chcesz to zrobić, po stronie WAN możesz uruchomić:
sudo nmap -sS -sV -p57757 -vv WAN-IP
Jeśli port jest wyświetlany jako przefiltrowany, oznacza to, że wysłane tam pakiety prawdopodobnie nigdzie nie idą (lub są blokowane / upuszczane po drodze).
Warto sprawdzić, czy problem wynika z faktu, że port narażony na WAN różni się od portu, na którym serwer nasłuchuje. Przekazywanie portu 55757 w sieci WAN do portu 22 na maszynie LAN powinno sprawić, że wszystko będzie dobrze, ale może gdzieś (serwer, klient) coś zakłada, że numer portu jest taki sam z perspektywy serwera i klienta.
Prawdopodobnie nie można przekierować portu 22 przez router. Być może twój dostawca usług internetowych blokuje ten port. Ale jeśli możesz to zrobić, zrób to!
W przeciwnym razie można zrobić serwer OpenSSH faktycznie nasłuchuje na porcie 57757.
Aby to zrobić, wykonaj kopię zapasową pliku konfiguracyjnego serwera:
cd /etc/ssh
sudo cp sshd_config sshd_config.old
Następnie edytuj to:
gksu gedit sshd_config
Lub użyj edytora tekstowego konsoli, jeśli komputer nie ma GUI:
sudo nano -w sshd_config
W górnej części pliku pojawia się ten blok tekstu:
# What ports, IPs and protocols we listen for
Port 22
# Use these options to restrict which interfaces/protocols sshd will bind to
#ListenAddress ::
#ListenAddress 0.0.0.0
Protocol 2
# HostKeys for protocol version 2
HostKey /etc/ssh/ssh_host_rsa_key
HostKey /etc/ssh/ssh_host_dsa_key
HostKey /etc/ssh/ssh_host_ecdsa_key
#Privilege Separation is turned on for security
UsePrivilegeSeparation yes
Po prostu zmień Port 22
wiersz u góry, żeby powiedzieć Port 57757
.
Zapisz plik, zamknij edytor tekstu i uruchom ponownie serwer SSH za pomocą:
sudo restart ssh
Teraz zmień port przekierowania na routerze, aby port 57757 przekierował na port 57757 (nie 22) na serwerze OpenSSH i sprawdź, czy jest dostępny z Internetu.
Jeśli nadal nie działa, sprawdź, czy być może zapora sieciowa Ubuntu faktycznie blokuje ruch pochodzący spoza sieci LAN.
(Jest to mało prawdopodobne, jeśli sam nie skonfigurowałeś tego w ten sposób, ale jeśli wszystkie ustawienia są prawidłowe i żaden z powyższych kroków nie ujawnił nic na temat problemu, warto to sprawdzić).
Biegać:
sudo iptables -L
Domyślnie w Ubuntu dane wyjściowe wyglądają następująco:
Chain INPUT (policy ACCEPT)
target prot opt source destination
Chain FORWARD (policy ACCEPT)
target prot opt source destination
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
Jest to prosta polityka zezwalająca, zasadniczo równoważna z brakiem zapory ogniowej. (Rzeczywiście, jeśli moduł zapory sieciowej netfilter nie zostałby wkompilowany w jądro, system zachowałby się tak samo jak przy powyższych ustawieniach, chociaż iptables
polecenie, które pyta netfilter
o ustawienia zapytania , nie działałoby oczywiście.)
Jeśli Twoja konfiguracja nie wygląda tak, przeczytaj, man iptables
aby dowiedzieć się, co robią i / lub edytuj swoje pytanie (lub, jeśli jesteś inną osobą z podobnym problemem czytającym to, opublikuj nowe pytanie), aby dołączyć im. Pamiętaj, że potencjalnie Twoje iptables
reguły mogą ujawniać poufne informacje o Twojej konfiguracji. Praktycznie rzecz biorąc, zazwyczaj tak nie jest - z możliwym wyjątkiem reguł dotyczących określonych hostów, które są blokowane lub jeśli twoja konfiguracja jest bardzo zła / niepewna - zazwyczaj przydatność tych informacji dla atakującego, szczególnie w przypadku komputera na domowa / biurowa sieć LAN za routerem NAT jest minimalna.