Heute habe ich meine Linux-Box neu gestartet und nach dem Neustart hat meine Linux-Box keine Netzwerkverbindung.
Folgendes habe ich bisher versucht:
Verwenden Sie ein anderes Ethernet-Kabel, das auf meinem anderen Computer funktioniert. Keine Änderung.
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
> sudo /etc/init.d/networking restart
Es schien erfolgreich neu zu starten, aber immer noch keine Netzwerkverbindung.Überprüft
/etc/network/interfaces
. Der einzige Code darin ist, was das Internet sagt, dass es sein soll:auto lo iface lo inet loopback
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.
NEU Fix Routing. Ich habe den
route
Befehl 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
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?
quelle
Antworten:
Ich würde (all diese Befehle als root)
ifconfig -a
prüfen, ob die Schnittstelle eine IP-Adresse hat. Wenn Sie Ihr Problem nicht gefunden haben, würde ichnetstat -rn
prüfen, ob die Routen richtig sind. Wenn dies der Fall ist, würde ichiptables -L
prü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.quelle
ifconfig eth0 192.168.1.15/24
ersetzen 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,dhclient
sollten 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 add
Mit dem Befehl können Sie Routen festlegen.connect: Network is unreachable
zeigt auf eine fehlende Route zu diesem Netzwerk (in diesem Fall die Standardroute).Verwenden:
Anzeigen der aktuellen Routing-Tabelle. Es muss eine Route geben, die so aussieht:
Beachten Sie, dass dies
<gateway-ip>
die IP-Adresse Ihres Routers / Gateways ist. DiesIface
kann auch anders sein, wenn Sie mehrere Netzwerkschnittstellen in Ihrem System haben.Fügen Sie die Standardroute jedoch manuell mit diesem Befehl hinzu:
quelle
SIOCADDRT: No such process
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:
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 eth0
und 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
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/interfaces
ordnungsgemäß 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.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.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.8
um festzustellen, wo Ihre Pakete verworfen werden.Stellen Sie schließlich sicher, dass Sie die DNS-Auflösung ordnungsgemäß ausführen können, indem Sie
host www.google.com
oder 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:
Konfigurieren Sie die Schnittstelle neu, um eine dynamische IP-Adresse zu verwenden.
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/syslog
die Ausgabe aus und überprüfen Sie sie.Führen
network-test
Sie aus, um festzustellen, ob Sie ordnungsgemäß verbunden sindWenn Sie nicht mit dem Netzwerk verbunden sind, versuchen Sie manuell, nach einer laufenden IP-Adresse zu fragen,
dhclient eth0
und 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.
quelle