Ich habe zwei Ubuntu-Computer in einem lokalen Netzwerk und keiner von ihnen kann sich gegenseitig anpingen. Bei jedem Versuch erhalte ich die Fehlermeldung "Zielhost nicht erreichbar". Beide Computer können problemlos auf das Internet zugreifen.
Ich habe einen ActionTech v1000h Router von Telus. Ich war mit einem ihrer Kundenvertreter in Kontakt und sie sagten, dass es keinen Grund geben sollte, warum zwei Geräte sich nicht gegenseitig im Netzwerk anpingen können.
Ich bin total ratlos, hat jemand von euch eine Idee?
Computer 1:
ifconfig -a
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:65536 Metric:1
RX packets:10084 errors:0 dropped:0 overruns:0 frame:0
TX packets:10084 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:797420 (797.4 KB) TX bytes:797420 (797.4 KB)
wlan0 Link encap:Ethernet HWaddr c4:85:08:77:d3:f5
inet addr:192.168.1.77 Bcast:192.168.1.255 Mask:255.255.255.0
inet6 addr: fe80::c685:8ff:fe77:d3f5/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:373068 errors:0 dropped:0 overruns:0 frame:0
TX packets:380158 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:103445020 (103.4 MB) TX bytes:112630337 (112.6 MB)
route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0 192.168.1.254 0.0.0.0 UG 0 0 0 wlan0
169.254.0.0 0.0.0.0 255.255.0.0 U 1000 0 0 wlan0
192.168.1.0 0.0.0.0 255.255.255.0 U 9 0 0 wlan0
sudo iptables -L
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
Computer 2:
ifconfig -a
etho0 Link encap:Ethernet HWaddr 00:24:8c:ae:f6:91
UP BROADCAST MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:2
collisions:0 txqueuelen:1000
RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)
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:65536 Metric:1
RX packets:110 errors:0 dropped:0 overruns:0 frame:0
TX packets:110 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:8414 (8.4 KB) TX bytes:8414 (8.4 KB)
wlan0 Link encap:Ethernet HWaddr 00:22:43:9b:7b:64
inet addr:192.168.1.2 Bcast:192.168.1.255 Mask:255.255.255.0
inet6 addr: fe80::222:43ff:fe9b:7b64/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:252 errors:0 dropped:0 overruns:0 frame:0
TX packets:435 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:123143 (123.1 KB) TX bytes:65828 (65.8 KB)
route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0 192.168.1.254 0.0.0.0 UG 0 0 0 wlan0
192.168.1.0 0.0.0.0 255.255.255.0 U 9 0 0 wlan0
sudo iptables -L
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
Bearbeiten: Beispiel für den Fehler, wenn Computer 1 versucht, Computer 2 zu pingen:
ping 192.168.1.2
PING 192.168.1.2 (192.168.1.2) 56(84) bytes of data.
From 192.168.1.77 icmp_seq=1 Destination Host Unreachable
From 192.168.1.77 icmp_seq=2 Destination Host Unreachable
From 192.168.1.77 icmp_seq=3 Destination Host Unreachable
From 192.168.1.77 icmp_seq=4 Destination Host Unreachable
From 192.168.1.77 icmp_seq=5 Destination Host Unreachable
From 192.168.1.77 icmp_seq=6 Destination Host Unreachable
^C
--- 192.168.1.2 ping statistics ---
7 packets transmitted, 0 received, +6 errors, 100% packet loss, time 6031ms
pipe 3
Edit 2: arp -a
von beiden Computern
Computer 1:
? (192.168.1.254) at 20:76:00:f5:3b:70 [ether] on wlan0
Computer 2:
? (192.168.1.254) at 20:76:00:f5:3b:70 [ether] on wlan0
? (192.168.1.77) at <incomplete> on wlan0
Edit 3: nmap -sn 192.168.1.0/24
auf Computer 2
Starting Nmap 6.40 ( http://nmap.org ) at 2014-05-07 21:14 PDT
Nmap scan report for 192.168.1.2
Host is up (0.00024s latency).
Nmap done: 256 IP addresses (1 host up) scanned in 3.30 seconds
Edit 4: Die tcpdump-Protokolle beider Computer während des ersten Pings 192.168.1.254 und dann untereinander:
Computer 1:
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on wlan0, link-type EN10MB (Ethernet), capture size 65535 bytes
22:45:01.661300 ARP, Request who-has 192.168.1.2 tell 192.168.1.77, length 28
22:45:02.659393 ARP, Request who-has 192.168.1.2 tell 192.168.1.77, length 28
22:45:03.659394 ARP, Request who-has 192.168.1.2 tell 192.168.1.77, length 28
22:45:04.676872 ARP, Request who-has 192.168.1.2 tell 192.168.1.77, length 28
22:45:05.675391 ARP, Request who-has 192.168.1.2 tell 192.168.1.77, length 28
22:45:06.675396 ARP, Request who-has 192.168.1.2 tell 192.168.1.77, length 28
22:45:07.692825 ARP, Request who-has 192.168.1.2 tell 192.168.1.77, length 28
22:45:48.379058 ARP, Request who-has 192.168.1.77 tell 192.168.1.254, length 28
22:45:48.379108 ARP, Reply 192.168.1.77 is-at c4:85:08:77:d3:f5, length 28
22:45:54.419388 ARP, Request who-has 192.168.1.254 tell 192.168.1.77, length 28
22:45:54.420875 ARP, Reply 192.168.1.254 is-at 20:76:00:f5:3b:70, length 28
Computer 2:
reading from file pc2.pcap, link-type EN10MB (Ethernet)
22:44:43.538367 ARP, Request who-has 192.168.1.254 tell 192.168.1.2, length 28
22:44:43.676705 ARP, Reply 192.168.1.254 is-at 20:76:00:f5:3b:70 (oui Unknown), length 28
22:45:02.107935 ARP, Request who-has 192.168.1.254 tell 192.168.1.2, length 28
22:45:02.107951 ARP, Reply 192.168.1.254 is-at 20:76:00:f5:3b:70 (oui Unknown), length 28
22:45:06.780619 ARP, Request who-has 192.168.1.77 tell 192.168.1.2, length 28
22:45:07.778419 ARP, Request who-has 192.168.1.77 tell 192.168.1.2, length 28
22:45:08.778419 ARP, Request who-has 192.168.1.77 tell 192.168.1.2, length 28
22:45:09.796214 ARP, Request who-has 192.168.1.77 tell 192.168.1.2, length 28
Edit 5: Richten Sie statische IPS für beide Computer etho0 ein und verbinden Sie sie mit einem Internetkabel. Beide Computer können sich über das Ethernet-Kabel gegenseitig anpingen! ifconfig -a
eth0 Ergebnisse:
Computer 1:
eth0 Link encap:Ethernet HWaddr 68:68:68:00:62:a4
inet addr:192.168.1.10 Bcast:192.168.1.255 Mask:255.255.255.0
inet6 addr: fe80::6a68:68ff:fe00:62a4/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:15 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:4060 (4.0 KB) TX bytes:7629 (7.6 KB)
Computer 2:
eth0 Link encap:Ethernet HWaddr 00:24:8c:ae:f6:91
inet addr:192.168.1.20 Bcast:192.168.1.255 Mask:255.255.255.0
inet6 addr: fe80::224:8cff:feae:f691/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:250 errors:0 dropped:0 overruns:0 frame:0
TX packets:130 errors:0 dropped:0 overruns:0 carrier:3
collisions:0 txqueuelen:1000
RX bytes:26501 (26.5 KB) TX bytes:20897 (20.8 KB)
quelle
Antworten:
Pingen Sie das Gateway von beiden Computern aus,
ping 192.168.1.254
und versuchen Sie dann, comp1 an compt2 und comp2 an comp1 zu senden und die Ergebnissearp -a
von BEIDEN Boxen zu veröffentlichenBearbeiten
Interessanterweise blockiert etwas den Verkehr
Führen Sie
sudo tcpdump -ni wlan0 arp
in einem Fenster auf beiden Computern einen Ping-Befehl aus, und versuchen Sie dann, sich und das Gateway in einem anderen Fenster erneut anzupingen und die Ergebnisse zu veröffentlichenEdit2
Bisher zeigt dies, dass comp1 genau das tut, was es heißt, eine Arp-Anfrage zu senden (nach der etherneren Adresse von comp2 zu fragen), aber keine Arp-Antwort zu erhalten (etwas zurück zu hören). Müssen Sie den tcpdump von PC2 sehen, um das vollständige Bild zu sehen. Führen Sie entweder den Befehl screen aus, oder führen Sie diesen Befehl auf PC1
sudo tcpdump -w pc1.pcap -ni wlan0 arp &
und PC2 aus,sudo tcpdump -w pc2.pcap -ni wlan0 arp &
und werfen Sie ihn in den Hintergrund, und geben Sie Ihre Eingabeaufforderung für Pings zurück. Wenn Pings fehlschlagen, bringen Sie die Jobs mitfg %1
stop it wieder in den Vordergrundctrl+c
und lesen Sie die geschriebenen Dateien mitsudo tcpdump -r pc1/2.pcap
Edit3- PCs tun, was sie wollen, setzen ARPs aus, aber sie bekommen nicht durch, welche Punkte zum Router führen. Möglicherweise eine deaktivierte Firewall-Einstellung, Zweifel, dass VLANs unterstützt werden? Ich wünschte, Sie lassen es etwas länger laufen, um 22: 45: 48.379058. Ihr Router hat eine eigene ARP-Anfrage gesendet, als er nach PC1 gesucht hat.
22:45:48.379058 ARP, Request who-has 192.168.1.77 tell 192.168.1.254, length 28
Beide PCs hätten es sehen sollen. Wir können sehen, dass PC1 es gesehen und mit seiner IP geantwortet hat, können es aber nicht Sagen Sie, ob PC2 es bekommen hat, seitdem Sie es gestoppt haben . Angenommen, Ihre Uhren werden mit NTP synchronisiert.Edit4
Sehen Sie, dass es immer noch nicht gelöst ist. Ich habe nicht gesehen, dass Sie auf beiden PCs eth-Adapter haben. Kannst du auf eth anstatt auf wlan fest in den Router einbinden und sehen, ob du dann pingen kannst? Oder einen anderen Router bekommen? Oder machen Sie einen Hotspot am Telefon, verbinden Sie beide PCs und versuchen Sie zu pingen? Überrascht, dass Sie zwei PCs miteinander verbinden und sich gegenseitig anpingen konnten, haben Sie ein Crossover-Kabel verwendet?
quelle
screen
Befehl, mit Strg-A und dann c ein neues Fenster zu erstellen, könnte hilfreich sein. Strg-A, dann <Leertaste>, um ein Fenster vorwärts zu bewegen, Strg-A, dann <Rücktaste>, um ein Fenster zurück zu bewegen, damit Sie zwischen ihnen wechseln können.Versuchen Sie, die beiden Computer über ein Ethernet-Kabel direkt miteinander zu verbinden. Stellen Sie dabei eine feste IP-Adresse ein (z. B. A: 192.168.1.10, B: 192.168.1.20), und versuchen Sie erneut, einen Ping-Befehl auszuführen.
Dann wissen Sie sehr schnell, ob das Problem an Ihrem Router oder an Ihren Computern liegt.
quelle
ping localhost
oderping 127.0.0.1
was sagt Ihnen, ob die Netzwerkschnittstelle aktiv ist. Das bedeutet, dass beide PCs Anfragen bearbeiten können, wenn ich mich nicht irre.Meine erste Antwort, wenn ich so etwas Seltsames sehe, ist die Installation von Wireshark.
Machen Sie es dann so, dass Sie die Erlaubnis haben, es als Nicht-Root zu verwenden:
Wählen Sie die Option "Ja".
Melden Sie sich ab und wieder an, um die neue Gruppenmitgliedschaft zu übernehmen, und Sie können jetzt Erfassungspakete als Nicht-Root-Benutzer ausführen.
Führen Sie dann Wireshark auf dem Computer aus und wählen Sie die mit dem Netzwerk verbundene Schnittstelle aus. Versuchen Sie, andere Zugriffe als das Testen zu minimieren, um die Interpretation der Ergebnisse zu vereinfachen.
Wenn Sie Wireshark auf einem Computer ausführen und dann versuchen, von einem anderen aus zu pingen, sollte auf dem Computer etwas zu sehen sein, auf dem Wireshark ausgeführt wird. Wenn Sie das bekommen, wird der Computer, der versucht zu pingen, vom Wireshark-Computer angefordert. Hoffentlich sollten Sie in wireshark auch etwas in der Art von "<IP-Adresse, die Sie anpingen möchten> befindet sich unter <MAC-Adresse>" sehen. Wenn Sie dies tun, reagiert der Wireshark-Computer. Wenn dies der Fall ist, versuchen Sie, wireshark auf dem Ping-Computer auszuführen, und überprüfen Sie, ob auf dem Ping-Computer die Antwort "<IP-Adresse, die Sie pingen möchten> lautet <MAC-Adresse>" angezeigt wird.
Ich entschuldige mich, wenn dies zu niedrig ist und über Ihren Kopf geht. Diese Methode greift tief in die Details ein. Wenn Sie jedoch sehen können, was im Netzwerk tatsächlich passiert, werden Probleme viel offensichtlicher.
quelle
tshark -i wlan0
und sehe keine Ergebnisse, während Computer 1 versucht, Computer 2Who has 192.168.1.2? Tell 192.168.1.77
aber es wird nie beantwortet. Auf dem von mir verwendeten Router ist die Client-Isolation nicht gemäß der FAQIch hatte die gleichen Symptome mit meinem LAN (nur Ubuntu-Maschinen). Es ist passiert, seit wir einen neuen Router haben. Es ist einer dieser Dual-Band. Konnte das Problem nicht verstehen, bis ich dachte, vielleicht ist eine "Band" völlig unzusammenhängend von der anderen. Sollte einfach zu testen sein, habe ich einen Rechner vom WLAN getrennt und wieder angeschlossen (mit derselben SSID). Was weißt du, ich hatte Glück (ist das eine 50: 50-Chance?) Und es erschien auf dem LAN des anderen Maschine und ich kann jetzt pingen und einloggen! Die "nmap" oben gab mir den Hinweis. Danke für die Idee.
quelle
Sehen Sie sich die Konfiguration Ihres Routers an und prüfen Sie, ob die lokalen Netzwerkfirewalls nicht aktiv sind. Einige Router isolieren standardmäßig angeschlossene Geräte voneinander.
Sie können auch verwenden
nmap
:Sehen Sie nach, ob Ihnen etwas einfällt.
quelle
nmap
Es ist etwas mit Ihrer Routing-Tabelle durcheinander gekommen, aber ich kann nichts falsches daran erkennen. "Host nicht erreichbar" bedeutet, dass der Kernel nicht entscheiden kann, welcher Adapter zum Senden des Pakets verwendet werden soll. Daher gibt er das Paket auf und löscht es.
Die Metrik für Ihr lokales Netzwerk ist 9. Das sollte 0 oder 1 sein. Es wird jedoch gemunkelt, dass der Linux-Kernel die Metrik ignoriert.
Ich würde versuchen, dem bestimmten Host eine Route hinzuzufügen. Versuchen Sie dies auf Computer 1:
route add -host 192.168.1.2 metric 0 dev wlan0
Versuchen Sie auch, die Route zu 169.254.0.0 zu entfernen, und prüfen Sie, ob dies hilfreich ist. Es ist unwahrscheinlich, aber man weiß es nie.
BEARBEITEN
Sie haben kein VPN, oder? Es ist bekannt, dass Cisco VPN die lokalen Netzwerkverbindungen stört.
quelle
route -n
Tabelle ist:192.168.1.2 0.0.0.0 255.255.255.255 UH 0 0 0 wlan0
Alle Ihre Pakete von Computer 1 und Computer 2 werden auf jedem lokalen Host an wlan0 weitergeleitet , aber keine der Funkschnittstellen ist mit einem Funknetzwerk verbunden.
Haben Sie die IP-Adressen manuell vergeben? Sie sollten vom Router über DHCP als Teil des Zuordnungs- / Authentifizierungs-Setups bereitgestellt werden.
Tun Sie dies
sudo iwlist wlan0 scan
auf jedem Computer, um die drahtlosen Netzwerke anzuzeigen, die für jeden Computer verfügbar sind. Einer von ihnen sollte Ihr Router sein. Ist der Router mit einer vom Standard abweichenden ESSID (Wireless Network Name) konfiguriert?Für welche Art von Verschlüsselung ist der Router konfiguriert / in der Lage? Zur Auswahl stehen None (sehr, sehr schlecht), WEP (sehr schlecht), WPA (schlecht) und WPA2 (am besten derzeit verfügbar). Alle 3 Systeme müssen sich auf eine gemeinsame Verschlüsselung einigen.
Sobald dies erledigt ist, sollte Computer 1 in der Lage sein, eine drahtlose Verbindung zum Router herzustellen und eine IP-Adresse von diesem abzurufen (zusammen mit anderen Netzwerkinformationen wie dem Standard-Gateway, MTU). Seien Sie in der Lage,
ping
den Router.Wiederholen Sie dies für Computer 2 .
Dann und nur dann können Sie wirklich
ping
, wenn der Router lokales Adressrouting zulässt.quelle
WPA / WPA2
Sicherheit mit einemWPA or WPA2 - Personal
WPA-Typ. Die ESSID ist so konfiguriert, dass sie sich von der Standardeinstellung unterscheidet. Beide Computer können die Router mit demsudo iwlist wlan0 scan
Befehl finden. Beide Computer können den Router anpingen. Computer 1 hat eine dynamische IP und Computer 2 hat eine feste IP. Kein Computer kann den anderen anpingen.NetworkManager
verwalte meine WLAN-Verbindungen und Passwörter undiwconfig
zeigt:$ iwconfig wlan0 wlan0 IEEE 802.11bg ESSID:"Fairfield" Mode:Managed Frequency:2.422 GHz Access Point: 14:D6:4D:2D:5F:AE Bit Rate=54 Mb/s Tx-Power=20 dBm Retry long limit:7 RTS thr:off Fragment thr:off Power Management:off Link Quality=70/70 Signal level=-40 dBm Rx invalid nwid:0 Rx invalid crypt:0 Rx Invalid frag:0 Tx excessive retries:0 Invalid misc:37 Missed beacon:0
Das Problem scheint in Ihrem Netzwerk zu liegen. Nicht in den Linux-Maschinen selbst. Ich würde sagen, es ist Ihr WLAN-Router / Access Point, der Ihnen einen Streich spielt.
Dies zeigt an, dass Ihr Router / AP die ARP-Anforderungen verschluckt und ohne ARP-Funktion den MAC des anderen nicht kennt und daher nicht miteinander über Ethernet kommunizieren kann.
Bitten Sie den Router, die Adressen über DHCP zuzuweisen, anstatt sie selbst statisch zuzuweisen .
Oder fügen Sie sie statisch zu Ihrem ARP-Cache hinzu , um festzustellen , ob dies hilfreich ist.
Auf Computer1:
Auf Computer2:
quelle
Überprüfen Sie, ob Ihr WLAN-Router-AP über eine Isolierungsoption verfügt (AP-Isolierung aktivieren), und deaktivieren Sie diese Option.
quelle