Jak debugować brak połączenia z Internetem?

10

Używam Raspberry Pi, który jest podłączony do routera bezpośrednio za pomocą kabla Ethernet, ale urządzenie nie łączy się z Internetem. Wszystkie lampki sieci świecą, ale nie mogę uzyskać dostępu do Internetu, a polecenia cURL, wget i ping nie są w stanie rozpoznać adresu hosta. Po podłączeniu kabla do laptopa mój laptop może dobrze połączyć się z Internetem.

Raspberry Pi działał dobrze w moim domu, ale teraz, gdy konfiguruję go w domu przyjaciela, nie łączy się (nawet ze świeżym wizerunkiem). Mają dość stary router (tylko jedno gniazdo Ethernet).

Moje pytanie brzmi: jak mogę dalej to debugować, aby znaleźć problem? Czy jest jakiś sposób (na przykład), żebym mógł przetestować TCP / IP lub coś takiego? Wziąłem udział w zajęciach networkingowych na studiach i rozumiem teorię, ale nie wiem, jak właściwie zagłębić się w problem z siecią.

anthonybell
źródło
Jeśli potrzebujesz pomocy, musisz opisać problem i to, czego próbowałeś. Co mówi ifconfig na Pi? Jakie są ustawienia internetowe laptopa?
Milliways,

Odpowiedzi:

9

[Większość odpowiedzi jest nieaktualna i nie będzie przydatna w wersjach Raspbian poza pierwszą, „jessie”.]

Jeśli wszystkie lampki Ethernet są włączone, gdy kabel jest podłączony i można podłączyć monitor i klawiaturę lub linię szeregową, jak sugeruje John, powinieneś być w stanie nawiązać połączenie.

Najpierw po prostu biegnij ifconfig. Możliwe, że etyka nie istnieje, a zobaczysz po prostu:

lo        Link encap:Local Loopback  
          inet addr:127.0.0.1  Mask:255.0.0.0
          UP LOOPBACK RUNNING 
          [...]

Możesz także zobaczyć na eth0liście. Jeśli nie, nie przejmuj się tym na chwilę; zanim zrobisz cokolwiek innego, warto wyłączyć automatyzację sieci, ponieważ oczywiście to nie działa:

sudo service networking stop
sudo service ifplugd stop

Rozpoczną się one ponownie przy następnej zmianie poziomu rozruchu / pracy. Jeśli nie chcesz, aby usługi uruchamiały się ponownie przy starcie systemu, użyj disablezamiast stop, w takim przypadku będziesz musiał dokonać własnych ustaleń lub zrobić to ręcznie za każdym razem. Drugi (ifplugd) ma nawiązywać połączenie za każdym razem, gdy podłączony jest kabel Ethernet. 1

To jest na uboczu, jeśli nie widziałeś eth0wcześniej na liście sudo ifconfig eth0 up, w przeciwnym razie po prostu ifconfigponownie, aby upewnić się, że nadal działa. Następnie, sudo dhclient -rktóry powinien zatrzymać wszelkie działające instancje; dla pewności, sudo killall -9 dhclientto ps -A | grep dhcsprawdź inne oprogramowanie klienckie dhcp, ponieważ myślę, że debian domyślnie używa dhcpcd(zamiast dhclient). Jeśli tak, musisz to zabić. Uważaj, jeśli jeśli nie wyłączyłeś usługi sieciowej jak wyżej, prawdopodobnie wróci.

Gdy to zrobisz, powinieneś być w stanie połączyć się z sudo dhclient -v eth0. Jeśli to nie zadziała, dodaj wynik do pytania.


1. Co może nie być pożądane dla wszystkich. Wydawało mi się to bardzo szkodliwe, nawet gdy usługa została rzekomo zatrzymana, a ja ją odinstalowałem sudo apt-get remove ifplugd.

Złotowłosa
źródło
dzięki! Potrzebowałem trochę sudotam ... w moim przypadku dhclient musiał umrzeć z jakiegoś powodu, po prostu potrzebowałem kopnięcia ...
ptim
Czy to źle, jeśli dostanęFailed to stop ifplugd.service: Unit ifplugd.service not loaded.
Jack
Nie; oznacza to, że usługa nie jest włączona. Myślę, że ifplugdnie jest już domyślnie używany w Raspbian (zedytuję to powyżej - dzięki!).
Złotowłosa
W rzeczywistości większość tej odpowiedzi nie jest tak naprawdę odpowiednia dla nowszych wersji Raspbian ...
goldilocks
1

Używam klucza szeregowego USB 1 USD, aby zobaczyć komunikaty na ekranie rozruchowym

Oczywiście możesz się także zalogować i szturchać skorupę itp.

Możesz znaleźć te klucze w serwisie eBay. Po prostu wyszukaj PL2303

John La Rooy
źródło