Nie można połączyć się z RasPi przez SSH tylko z interfejsem WiFi

13

Obserwuję naprawdę irytujące problemy z łącznością z RasPi w sieci WiFi. Mam urządzenie podłączone zarówno kablem LAN, jak i Wi-Fi. Jeśli podłączony jest zarówno kabel, jak i klucz WiFi - oba interfejsy działają dobrze i jestem w stanie połączyć się z RasPi poprzez adresy IP obu interfejsów.

Jednak po odłączeniu kabla LAN - po ponownym uruchomieniu - RasPi staje się niedostępny przez SSH. Jeśli odłączę - do ponownego uruchomienia - urządzenie będzie nadal w pełni dostępne przez interfejs WiFi przez SSH! Po ponownym uruchomieniu - nie można już uzyskać do niego dostępu.

Oto moje ustawienia: / etc / network / interfaces

auto lo

iface lo inet loopback
iface eth0 inet dhcp

auto wlan0
iface wlan0 inet dhcp
wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf

/etc/wpa_supplicant/wpa_supplicant.conf

ctrl_interface=/var/run/wpa_supplicant
ctrl_interface_group=0
update_config=1

network={
        ssid="linksys"
        scan_ssid=1
        mode=0
        proto=WPA2
        auth_alg=OPEN
        pairwise=CCMP
        group=TKIP
        key_mgmt=WPA-PSK
        psk="xxx-password-here"
        id_str="raspberrypi-wif"
        priority=1
}

Pomóż zidentyfikować przyczynę problemu.

Maxim Galushka
źródło
Z lokalnej konsoli sprawdź, czy masz domyślną trasę po odłączeniu jednej z sieci. Wykonaj, netstat -raby zobaczyć tabelę tras. Mam podobny problem.
HeatfanJohn,
wygląda tak, jak oczekiwano, przed i po . Widzę, że eth0 właśnie zniknął z listy.
Maxim Galushka
@HeatfanJohn, udało Ci się rozwiązać problem?
Maxim Galushka
Mój interfejs eth0 zachowuje się dziwnie, interfejs pozostaje „w górze” nawet po odłączeniu kabla Cat-5.
Stworzę
dla początkujących takich jak ja, wykonując sudo raspi-confignastępnie (ponownie) włączanie SSH w Interfacing optionsMam interfejs eth1 (USB Ethernet), aby akceptować połączenia SSH zarówno z lokalnej sieci LAN, jak i Internetu
Ivan Ferrer Villa

Odpowiedzi:

8

Sprawdź, czy konfiguracja SSH jest ustawiona na nasłuchiwanie na wszystkich interfejsach. Zapewni to, że jeśli system uruchomi się i dostępne będzie tylko WiFi, będzie nasłuchiwał na interfejsie WiFi. Podejrzewam, że jest to w porządku na podstawie powyższego opisu, ale i tak warto to sprawdzić.

Inną rzeczą, którą chciałbym zrobić, to obserwować proces uruchamiania za pomocą monitora (jeśli to możliwe lub za pośrednictwem dmesg i logów po fakcie), aby sprawdzić, czy interfejs bezprzewodowy jest rzeczywiście dostępny, zanim SSH spróbuje uruchomić.

W zależności od urządzenia bezprzewodowego, może nie być zainicjowany lub niedostępny w momencie uruchamiania demona SSH, co powoduje awarię SSH, a zatem brak dostępu do Pi przez SSH po ponownym uruchomieniu tylko za pomocą sieci bezprzewodowej.

Hurgh
źródło
Dzięki za odpowiedź, co ciekawe, ssh jest dostępny na wszystkich interfejsach: ListenAddress 0.0.0.0w /etc/ssh/sshd_config. Widzę, że interfejs WiFi jest aktywny z routera: raspberrypi Wireless 192.168.1.105 00:02:72:B7:9A:C5ale nie mogę pingować adresu IP. Spróbuję obejrzeć boot, jak zasugerowałeś.
Maxim Galushka
Spojrzałem dmesgi odkryłem, że nawet jeśli zacznę od samego Wi-Fi, pokazuje tylko linie dotyczące eth0interfejsu i nic nie dotyczy wlan0. Naprawdę dziwne. zrzut ekranu
Maxim Galushka
Dziękuję, Hurgh, twoja odpowiedź była naprawdę pomocna. Zapomniałem, że wcześniej /boot/cmdline.txthakowałem, aby przypisać statyczny adres IP RasPi (który różni się od adresu IP, który mój router przypisał do interfejsu WiFi urządzenia). To jest w pełni mój błąd. Za pomocą dmesgbyłem w stanie debugować problem i to naprawić. Teraz działa dobrze. Wielkie dzięki!
Maxim Galushka
Cieszę się, że mogłem pomóc, przepraszam, że nie oddzwoniłem między wiadomościami. Dziękujemy również za opublikowanie ostatecznego rozwiązania, które pomoże innym (i mnie) następnym razem, gdy pojawi się to samo pytanie.
Hurgh
3

Miałem dokładnie ten sam problem na Beaglebone Black. Po marnowaniu dnia na majstrowanie przy ustawieniach / etc / network / interfaces zauważyłem, że eth0 jest aktywny / aktywny po uruchomieniu, nawet jeśli kabel sieciowy jest odłączony w czasie uruchamiania (wystarczy wydać polecenie route, a zobaczysz na liście eth0). Wydaje się to zakłócać łączność interfejsu wlan. Lekarstwem jest dezaktywacja eth0 (ifdown eth0) i niestety problem zniknął na dobre. Podłączanie i odłączanie kabla sieciowego miało ten sam efekt (ma efekt uboczny dezaktywacji eth0). Następnie mogę pingować / ssh interfejs wlan0 z dowolnego urządzenia w mojej sieci domowej. Zgadnij, że napiszę skrypt do wykrywania w czasie rozruchu, czy kabel eth jest podłączony czy nie, i wyłączania eth0, jeśli tak nie jest.

Anioł
źródło
-3

O ile warto, miałem takie same problemy (ssh w porządku przez Ethernet, nie idź przez Wi-Fi) i odkryłem, że wlan0 w / etc / network / interfaces ustawiono na manual, a nie na dhcp. Zmieniłem to i zacząłem działać poprawnie po restarcie

Alberto
źródło
Czy przejrzałeś plik / etc / network / interfaces, który zawiera OP?
Steve Robillard