ping本地网络上的计算机:无法访问目标主机


15

我在本地网络上有两台ubuntu计算机,但没有一台可以互相ping通。每次尝试时,都会收到“目标主机不可达”错误消息。两台计算机都能正常访问互联网。

我有Telus的ActionTech v1000h路由器。我一直与他们的一位客户代表联系,他们说,应该没有任何理由使两个设备无法在网络上相互ping通。

我完全不知所措,你们有想法吗?

电脑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)

路线-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

须藤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  

电脑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)

路线-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

须藤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  

编辑:计算机1尝试ping计算机2时的错误示例:

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

编辑2: arp -a两台计算机

电脑1:

? (192.168.1.254) at 20:76:00:f5:3b:70 [ether] on wlan0

电脑2:

? (192.168.1.254) at 20:76:00:f5:3b:70 [ether] on wlan0
? (192.168.1.77) at <incomplete> on wlan0

编辑3: nmap -sn 192.168.1.0/24在计算机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

编辑4:两台计算机的tcpdump日志同时先ping 192.168.1.254,然后再相互:

电脑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

电脑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

编辑5:为两台计算机etho0设置静态ips,并使用Internet电缆将其连接。两台计算机绝对可以通过以太网电缆相互ping通!ifconfig -aeth0结果:

电脑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)

电脑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)

1
您如何对其进行ping操作?IP?主机名?
2014年

谁在告诉您“目标主机不可达”-您的本地适配器或其他?请提供ping命令及其输出的复制/粘贴。
2014年

我使用他们的IP地址对其进行ping操作。我在原始帖子中添加了一个编辑,详细说明了我正在使用的命令和错误消息。
edgargiraffe 2014年

您是否可能在路由器的设置中阻止ping操作?
terdon

我不这么认为,我已经仔细研究了路由器的设置几个小时。我还和一个电话代表进行了交谈,他没有给我任何迹象表明这可能是问题所在。
edgargiraffe

Answers:


4

从两台计算机ping网关,ping 192.168.1.254 然后尝试ping comp1到compt2和comp2到comp1,然后发布arp -a两个框的结果

编辑

有趣的是,某些东西阻止了流量

sudo tcpdump -ni wlan0 arp在两台计算机上的一个窗口中运行,然后尝试再次相互ping通,并再次从另一个窗口中访问网关并发布结果

编辑2

到目前为止,这表明comp1正在执行发送arp请求(要求comp2s以太网地址)的假设,但没有收到arp答复(听到任何回音)。需要查看PC2中的tcpdump才能看到完整图片。无论是运行在屏幕命令或做这在PC1 sudo tcpdump -w pc1.pcap -ni wlan0 arp &和PC2上sudo tcpdump -w pc2.pcap -ni wlan0 arp & 应把它的背景和给你的提示坪回来。ping失败后,将作业fg %1停止ctrl+c并返回到前台,并使用sudo tcpdump -r pc1/2.pcap

Edit3 PC正在执行他们应该做的事情,将ARP放出,但它们无法通过指向路由器的点。也许禁用防火墙设置,怀疑它是否支持VLAN?Kinda希望您让它在22:45:48.379058上运行更长的时间,您的路由器在寻找PC1时发送了自己的ARP请求,22:45:48.379058 ARP, Request who-has 192.168.1.77 tell 192.168.1.254, length 28两台PC都应该看到它,我们可以看到PC1看到了它并回答了它的IP但不能告诉PC2是否得到它,因为自从您停止后它就在22:45:09.796214停了下来。假设您的时钟与NTP同步。

编辑4

看到它仍然没有解决。没有看到两台PC上都有eth适配器。您可以硬连线到eth上的路由器而不是wlan,然后看看是否可以ping吗?或获得另一个路由器?还是在手机上建立热点以连接两台PC并尝试ping?另外,很惊讶地看到您能够将两台PC连接在一起并相互ping通,是否使用了交叉电缆?


两台计算机都可以ping 192.168.1.254,而没有任何问题,并且两台计算机都不能成功ping另一台计算机,得到我上面发布的错误消息。我在两台计算机上都对原始帖子添加了第二个编辑,并带有`arp ​​-a〜的结果。
edgargiraffe

计算机2只有一个窗口,因此我不知道如何同时使用tcdump和ping计算机1。我在原始帖子的第四次编辑中添加了在计算机1上运行tcdump的结果。
edgargiraffe

screen命令,使用Ctrl-A则c创建一个新的窗口可能会有所帮助。Ctrl-A然后<Space>前进一个窗口,Ctrl-A然后<Backspace>退回一个窗口,以便您可以在它们之间切换。
阿岑代尔

我已重做第四次编辑。两台计算机都运行tcpdump,并且两台计算机都尝试ping 192.168.1.254,然后再相互ping。感谢您引导我完成此任务!
edgargiraffe

1

尝试使用以太网电缆将两台计算机直接直接连接,同时设置为固定IP地址(例如A:192.168.1.10,B:192.168.1.20),然后尝试再次ping通。

然后,您将很快知道问题是来自路由器还是计算机。


我将计算机1 eth0设置为192.168.1.10的固定IP。我只有一台计算机2的终端,所以我不能使用与计算机1相同的方法。您如何在终端中固定IP?无论如何,我都固定了计算机1的eth0 ip,并用以太网电缆将它们连接起来,然后将计算机2用于ping计算机1。
edgargiraffe

请参阅此处,使用命令行更改计算机B的IP地址:askubuntu.com/questions/342705/how-to-set-a-static-ip-address
Sulliwane,2014年

好吧,我会说is ping localhostping 127.0.0.1告诉您网络接口是否已启动。这意味着如果我没有记错的话,您的两台PC都可以处理请求。
AzkerM 2014年

感谢你的帮助!完成建议后,计算机可以通过以太网电缆相互ping通。我在原始帖子的第五次编辑中添加了其他信息。这是否意味着问题肯定出在路由器上?
edgargiraffe

1

当我看到类似这样的东西时,我的第一拳反应是安装wireshark。

然后进行创建,以便您具有以非超级用户身份使用它的权限:

sudo dpkg-reconfigure wireshark-common

选择“是”选项。

usermod -a -G wireshark your-user-name

注销并重新登录以获取新的组成员身份,现在您可以以非root用户身份运行捕获数据包。

然后在计算机上运行wireshark,选择连接到网络的接口。尽量减少测试以外的流量,以使结果解释更容易。

如果您在一台机器上运行wireshark,然后尝试从另一台机器ping通,那么您应该在运行wireshark的机器上看到一些内容,上面写着“谁在尝试ip> ip”。如果知道了,则尝试ping的计算机正在由wireshark计算机接收到该请求。希望您还可以在Wireshk中看到类似“ <您尝试ping的IP地址位于<mac地址>”的内容。如果您这样做,则wireshark计算机正在响应。如果是这种情况,请尝试在计算机ping上运行wireshark,然后查看是否可以在ping计算机上看到“您正在尝试ping的IP地址在<mac地址>”。

抱歉,如果这太低并且太过头了。此方法确实深入细节。但是,能够看到网络上实际发生的事情往往会使问题变得更加明显。


按照您的指示,我已经在2号计算机上安装了Wireshark。不幸的是,计算机2无法打开wireshark的显示屏,所以我也安装了tshark,行吗?我使用的命令tshark -i wlan0并没有看到任何结果,而计算机1尝试ping计算机2
edgargiraffe

tshark应该很好,我刚才说wireshark是因为我虽然通过GUI可以使它更容易:)我尝试考虑的结果是进行反向操作,看看是否可以使用(wire / t)shark和ping在计算机1上看到任何内容来自计算机2。如果那也没有显示任何ARP或ICMP,我将查看您是否可以在路由器的无线页面中找到有关“客户端隔离”的任何内容或类似内容。如果找到它,则希望将其关闭。
2014年

我在计算机1上安装了Wireshark。计算机1是我的个人笔记本电脑,它的流量很大,因此我不打算在此处发布完整的结果。我可以看到它在广播,Who has 192.168.1.2? Tell 192.168.1.77但从未收到回应。我使用的路由器没有按照其常见问题启用客户端隔离:actiontec.com/products/faqs.php?
pid=191#q25

1

我的LAN出现了相同的症状(仅适用于Ubuntu计算机)。自从我们有了新路由器以来就发生了。这是那些双频段之一。在我以为一个“乐队”与另一个乐队完全脱节之前,我无法理解这个问题。应该易于测试,我断开了一台计算机与wifi的连接,然后将其重新连接(连接到相同的SSID),您知道吗,我很幸运(是否有50-50的机会?),它出现在另一台计算机的局域网上机器,现在可以ping并登录了!上面的“ nmap”为我提供了线索。谢谢你的主意。


1
请不要添加“谢谢”作为答案。在网站上花费一些时间,您将获得足够的特权来投票赞成您喜欢的答案,这是Ask Ubuntu表示感谢的方式。
2014年

0

仔细检查路由器的配置,查看本地网络防火墙是否未启动。默认情况下,某些路由器会将连接的设备彼此隔离。

您也可以使用nmap

$ nmap -sn 192.168.1.0/24

看看这有什么用。


我已经浏览了路由器的配置页面,但我不相信会设置任何本地网络防火墙。我还与客户代表进行了交谈,他没有提及任何内容。我在原始帖子中添加了第三次编辑,结果nmap在2号计算机上
。– edgargiraffe

0

您的路由表有些混乱,但是我看不到任何错误。“主机不可达”表示内核无法决定使用哪个适配器来发送数据包,因此它放弃并丢弃数据包。

您的本地网络的度量标准是9。应该是0或1。但是,有传言说Linux内核会忽略该度量标准。

我会尝试添加到特定主机的路由。在计算机1上尝试一下:

route add -host 192.168.1.2 metric 0 dev wlan0

另外,尝试删除通往169.254.0.0的路由,看看是否有帮助。这不太可能,但您永远不会知道。

编辑

您没有运行VPN,对吗?已知Cisco VPN会干扰本地网络连接。


我从计算机1删除了到169.254.0.0的路由。我还向计算机1添加了到192.168.1.2的路由。route -n表中相应的新路由为:192.168.1.2 0.0.0.0 255.255.255.255 UH 0 0 0 wlan0
edgargiraffe

不,我不认为我正在运行VPN。
edgargiraffe

0

来自计算机1计算机2的所有数据包都路由到每个本地主机上的wlan0,但是两个无线接口均未与无线网络关联。

您是否手动分配了IP地址?它们应该由路由器通过DHCP提供,作为关联/身份验证设置的一部分。

sudo iwlist wlan0 scan在每台计算机上执行操作,以查看每台计算机可用的无线网络。其中之一应该是您的路由器。路由器配置的ESSID(无线网络名称)是否与默认值不同?

路由器配置/能够进行哪种加密?选择为无(非常差),WEP(非常差),WPA(差)和WPA2(目前可用)。所有3个系统必须在通用加密上达成共识。

解决所有问题后,计算机1应该能够无线连接到路由器,并从中获取IP地址(以及其他网络信息,例如默认网关MTU)。能够连接ping路由器。

计算机2重复上述步骤。

然后,只有这样,ping如果路由器允许本地地址路由,您才可以真正做到。


据我所知,路由器使用WPA类型的WPA / WPA2安全性WPA or WPA2 - Personal。ESSID配置为不同于默认值。两台计算机都可以使用该sudo iwlist wlan0 scan命令找到路由器。两台计算机都可以ping通路由器。计算机1具有动态IP,计算机2具有固定IP。两台计算机都无法ping通另一台计算机。
edgargiraffe

NetworkManager用来管理我的wifi连接和密码,并iwconfig显示: $ 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
waltinator 2014年

0

问题似乎出在您的网络中。不在Linux机器上。我想说的是,您的无线路由器/接入点正在与您玩耍。

  • 由于您可以从两台主机访问Internet,因此它们可以通过ARP请求获得默认网关MAC。
  • 他们彼此之间不会收到ARP请求或答复。
  • 他们(在computer1上得到证明)获得路由器的ARP请求。

这表明您的路由器/ AP吞下了ARP请求,并且在没有ARP功能的情况下,他们不知道另一方的MAC,因此他们无法相互通信以太网。

尝试让路由器DHCP分配地址,而不是自己静态分配地址

或将它们静态添加到ARP缓存中以查看是否有帮助。

在计算机1上:

arp -s 192.168.1.2 00:22:43:9b:7b:64

在计算机2上:

arp -a 192.168.1.77 c4:85:08:77:d3:f5  

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.