Wie kann ich Probleme mit dem Netzwerk unter Debian beheben?

8

Heute habe ich meine Linux-Box neu gestartet und nach dem Neustart hat meine Linux-Box keine Netzwerkverbindung.

Folgendes habe ich bisher versucht:

  1. Verwenden Sie ein anderes Ethernet-Kabel, das auf meinem anderen Computer funktioniert. Keine Änderung.

  2. Entfernen Sie in NetworkManager (KDE) die kabelgebundene Netzwerkverbindung und erstellen Sie sie neu. Hat nicht funktioniert. Ich erhalte immer noch Systembenachrichtigungen in der unteren rechten Ecke des Bildschirms

    Network Interface
    Connection New Wired Connection failed
    
  3. > sudo /etc/init.d/networking restart Es schien erfolgreich neu zu starten, aber immer noch keine Netzwerkverbindung.
  4. Überprüft /etc/network/interfaces. Der einzige Code darin ist, was das Internet sagt, dass es sein soll:

    auto lo
    
    iface lo inet loopback
    
  5. Stellen Sie sicher, dass es sich nicht nur um ein DNS-Problem handelt, indem Sie versuchen, einen der öffentlichen DNS-Server von Google zu pingen

    $ ping 8.8.8.8
    connect: Network is unreachable
    

    Scheint kein DNS-Problem zu sein.

  6. NEU Fix Routing. Ich habe den routeBefehl verwendet, um ein Standard-Gateway hinzuzufügen, das auf die IP-Adresse meines Routers verweist (danke @chaos).

    $ /sbin/route -n
    Kernel IP routing table
    Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
    0.0.0.0         192.168.1.1     0.0.0.0         UG    0      0        0 eth0
    
  7. NEU Überprüfen Sie, ob ich eine IP-Adresse habe

    $ /sbin/ifconfig -a
    eth0      Link encap:Ethernet  HWaddr 74:d4:35:5f:0b:09  
      inet6 addr: fe80::76d4:35ff:fe5f:b09/64 Scope:Link
      UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
      RX packets:2999 errors:0 dropped:0 overruns:0 frame:0
      TX packets:0 errors:0 dropped:1711 overruns:0 carrier:0
      collisions:0 txqueuelen:1000 
      RX bytes:365026 (356.4 KiB)  TX bytes:0 (0.0 B)
      Interrupt:73 Base address:0xc000 
    
    
    lo        Link encap:Local Loopback  
      inet addr:127.0.0.1  Mask:255.0.0.0
      inet6 addr: ::1/128 Scope:Host
      UP LOOPBACK RUNNING  MTU:16436  Metric:1
      RX packets:4913 errors:0 dropped:0 overruns:0 frame:0
      TX packets:4913 errors:0 dropped:0 overruns:0 carrier:0
      collisions:0 txqueuelen:0 
      RX bytes:1559718 (1.4 MiB)  TX bytes:1559718 (1.4 MiB)
    

Es sieht so aus, als hätte ich eine IPv6-Adresse, aber keine IPv4-Adresse? Ich würde erwarten eth0, dass eine Zeile beginnt inet addr:, aber das tut es nicht.

Wie erhalte ich eine IP-Adresse?

Hier sind einige weitere Informationen, die hilfreich sein können (oder auch nicht):

Systeminformationen

$ uname -a
Linux mocha 3.2.0-4-amd64 #1 SMP Debian 3.2.65-1 x86_64 GNU_Linux

Ethernet-Controller

$ lspci | grep -i eth
03:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8111/8168B PCI Express Gigabit Ethernet controller (rev 06)

Was soll ich als nächstes tun?

Dinosaurier
quelle
2
Ich würde versuchen, von einer CD zu booten und zu prüfen, ob eine Verbindung besteht, um sicherzustellen, dass dies die fehlerhafte Debian-Konfiguration ist.
Anthon
Die Debian-Konfiguration ist nicht fehlerhaft. Ich habe es seit Monaten mit Networking betrieben. Das Netzwerk ist nach einem kürzlichen Neustart unterbrochen.
Dinosaurier

Antworten:

3

Ich würde (all diese Befehle als root) ifconfig -aprüfen, ob die Schnittstelle eine IP-Adresse hat. Wenn Sie Ihr Problem nicht gefunden haben, würde ich netstat -rnprüfen, ob die Routen richtig sind. Wenn dies der Fall ist, würde ich iptables -Lprüfen, ob es eine Firewall-Regel gibt, die mich nicht herauslässt. Wenn alle in Ordnung sind, gehört Ihre IP-Adresse möglicherweise nicht zum Routernetzwerk.

YoMismo
quelle
Könnten Sie bitte angeben, wie die Probleme behoben werden können, z. B. wenn die Schnittstelle keine IP-Adresse hat oder wenn die Routen falsch sind.
Dinosaurier
1
Wenn Sie keine IP haben, können Sie diese entweder manuell zuweisen. In diesem Fall sollten Sie das Netzwerksegment kennen, in dem sich der Router befindet, und eine freie IP aus diesem Bereich verwenden ( ifconfig eth0 192.168.1.15/24ersetzen Sie eth0 für Ihre Schnittstelle und 192.168.1.15/24 für Ihre Adresse und Netzwerkmaske ) Wenn Sie versuchen möchten, eine IP vom DCHP-Server zu erhalten, dhclientsollten Sie eine Adresse für Sie erhalten. Es ist jedoch besser, in / etc / network / interfaces anzugeben, was Sie möchten, und Sie haben Ihre Netzwerkverbindung immer dann in Betrieb, wenn Sie Ihren Computer starten. route addMit dem Befehl können Sie Routen festlegen.
YoMismo
3

connect: Network is unreachable zeigt auf eine fehlende Route zu diesem Netzwerk (in diesem Fall die Standardroute).

Verwenden:

route -n

Anzeigen der aktuellen Routing-Tabelle. Es muss eine Route geben, die so aussieht:

Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         <gateway-ip>    0.0.0.0         UG    0      0        0 eth0

Beachten Sie, dass dies <gateway-ip>die IP-Adresse Ihres Routers / Gateways ist. Dies Ifacekann auch anders sein, wenn Sie mehrere Netzwerkschnittstellen in Ihrem System haben.

Fügen Sie die Standardroute jedoch manuell mit diesem Befehl hinzu:

route add default gw <gateway-ip>
Chaos
quelle
Mein Setup hat keine Routen und als ich versuchte, eine Standardroute hinzuzufügen, erhalte ich eine FehlermeldungSIOCADDRT: No such process
GisMofx
0

Das Problem hierbei ist, dass Ihre kabelgebundene Schnittstelle (eth0) dies nicht tut eine IPv4 - Adresse hat. Sie haben eine IPv4-Route manuell hinzugefügt, aber ohne eine IPv4-Adresse kann der Datenverkehr nicht weitergeleitet werden, da keine IP-Adresse für die Quell-IP (Ihres Systems) zugewiesen werden kann.

Ohne weitere Informationen über Ihre Umgebung zu kennen (Verwenden Sie eine DSL-Verbindung? Befinden Sie sich in einem Unternehmensnetzwerk? Wer sollte Ihnen eine IP-Adresse bereitstellen?) Ich würde vermuten, dass Sie vor dem Neustart entweder eine statisch konfigurierte IP-Adresse haben oder eine funktionierende DHCP-Server. Wenn Sie eine statisch konfigurierte Adresse hatten (die in Ihrer Konfiguration nicht angezeigt wird), ging diese nach dem Neustart verloren.

Sie sehen eine IPv6-Adresse, da diese Adresse "automatisch konfiguriert" ist. Da Sie es nicht konfiguriert haben, erstellt die kabelgebundene Schnittstelle nur eine, die zur Kommunikation mit dem lokalen Netzwerk verwendet werden kann.

Aus den von Ihnen angegebenen ifconfig-Informationen geht hervor, dass Ihre Netzwerkkarte Ethernet-Pakete empfängt, aber keine sendet. Seltsamerweise zeigt es auch viele verworfene Pakete.

Für den Anfang würde ich vorschlagen, dass Sie Folgendes tun:

  1. Informieren Sie sich über Ihr Netzwerk-IP-Adressierungsschema. Fragen Sie Ihren Netzwerkadministrator oder überprüfen Sie die von Ihrem Internetdienstanbieter bereitgestellten Informationen. Alternativ können Sie (wenn Sie fett gedruckt sind) den Netzwerkverkehr im Netzwerk abhören, indem Sie ausführen tcpdump -ni eth0und versuchen, Ihre interne Netzwerkadressierung anhand der von Ihrem System empfangenen Pakete zu erraten.

    Nehmen wir von nun an an, dass sich Ihr Netzwerk in einem privaten IP-Adressbereich befindet, da dies durchaus üblich ist. Viele Netzwerke sind heutzutage im Bereich 192.168.1.0/24 vorkonfiguriert, was bedeutet, dass die IP-Adressen in 192.168.1.1 beginnen und in 192.168.1.254 enden

  2. Konfigurieren Sie Ihre Netzwerkschnittstelle mit einer statischen IP-Adresse und einem Gateway, indem Sie entweder den Netzwerk-Manager (dh über den Desktop) verwenden oder /etc/network/interfacesordnungsgemäß konfigurieren . Dies wird hier im Debian-Wiki ausführlich beschrieben .

    Hinweis: Sie können es auch manuell konfigurieren ip addr add 192.168.1.15 dev eth0; ip route add default via 192.168.1.1. Dies wird jedoch einen Systemneustart nicht überleben.

  3. Versuchen Sie festzustellen, ob Sie das Gateway erreichen, indem Sie ihm Pakete senden. Dies kann einfach erfolgen, vorausgesetzt, Ihr Gateway ist 192.168.1.1, indem Sie ausgeführt werden ping -c 10 192.168.1.1. Wenn der Befehl zurückgibt, dass alle 10 Tests in Ordnung waren, können Sie Ihr Gateway sehen.

  4. Versuchen Sie dann, auf eine bekannte öffentliche IP-Adresse zuzugreifen. Zum Beispiel ein Google DNS-Server ping -c 10 8.8.8.8. Wenn dies nicht funktioniert, versuchen Sie, einen Ablaufverfolgungstest durchzuführen, traceroute -n 8.8.8.8um festzustellen, wo Ihre Pakete verworfen werden.

  5. Stellen Sie schließlich sicher, dass Sie die DNS-Auflösung ordnungsgemäß ausführen können, indem Sie host www.google.comoder ausführenping -c 10 www.google.com

Wenn bis Schritt 5 alles gut läuft, würde ich vorschlagen, dass Sie das ifupdown-extra- Paket installieren, um zukünftige Probleme zu diagnostizieren . Dadurch wird das Netzwerktest- Tool installiert, das viele der oben aufgeführten (und weitere) Netzwerktests durchführt, um zu diagnostizieren, ob ein Netzwerkproblem oder eine Fehlkonfiguration vorliegt.

Sobald Sie eine Verbindung mit einer statischen IP-Adresse herstellen können. Versuchen Sie, zu dem zurückzukehren, was Sie zuvor hatten, was wahrscheinlich eine dynamische IP-Konfiguration mit DHCP war.

Um dies zu tun:

  1. Konfigurieren Sie die Schnittstelle neu, um eine dynamische IP-Adresse zu verwenden.

  2. Warten Sie, bis Network Manager seine Arbeit erledigt hat. Sie werden in Ihrer Desktop-Umgebung sehen, ob dies fehlschlägt (oder nicht), aber Sie können auch detaillierte Informationen in den Systemprotokollen erhalten. Genauer gesagt / var / log / syslog. Durch Filtern nach Network Manager-Protokollen erhalten Sie eine Vielzahl von Informationen. Führen Sie einfach grep NetworkManager /var/log/syslogdie Ausgabe aus und überprüfen Sie sie.

  3. Führen network-testSie aus, um festzustellen, ob Sie ordnungsgemäß verbunden sind

  4. Wenn Sie nicht mit dem Netzwerk verbunden sind, versuchen Sie manuell, nach einer laufenden IP-Adresse zu fragen, dhclient eth0und prüfen Sie, ob Sie dadurch eine IP-Adresse erhalten.

Basierend auf den oben genannten Tests sollten Sie besser wissen, was in Ihrem Netzwerk kaputt gegangen ist und was funktioniert, und Ihr System entsprechend konfigurieren.

Julian Garla
quelle