
로컬 네트워크에 두 대의 우분투 컴퓨터가 있는데 어느 쪽도 서로 핑을 보낼 수 없습니다. 시도할 때마다 "대상 호스트에 연결할 수 없습니다"라는 오류 메시지가 나타납니다. 두 컴퓨터 모두 문제 없이 인터넷에 액세스할 수 있습니다.
Telus의 ActionTech v1000h 라우터가 있습니다. 고객 담당자 중 한 명과 연락을 했는데 두 장치가 네트워크에서 서로 핑할 수 없는 이유가 없다고 말했습니다.
정말 당황스럽네요. 혹시 아이디어 있으신 분 계신가요?
컴퓨터 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
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
컴퓨터 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
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
편집하다:컴퓨터 1이 컴퓨터 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:첫 번째 ping 192.168.1.254 동안 두 컴퓨터의 tcpdump 로그와 그 다음에는 서로의 로그:
컴퓨터 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에 고정 IP를 설정하고 인터넷 케이블로 연결합니다. 두 컴퓨터 모두 이더넷 케이블을 통해 서로 ping할 수 있습니다! ifconfig -a
eth0 결과:
컴퓨터 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한 ping 192.168.1.254
다음 comp1을 compt2로, comp2를 comp1로 ping한 다음 arp -a
두 상자 모두 의 결과를 게시합니다.
편집하다
흥미롭습니다. 무언가가 트래픽을 차단하고 있습니다.
두 컴퓨터의 한 창에서 실행 sudo tcpdump -ni wlan0 arp
한 다음 다시 두 컴퓨터의 다른 창에서 게이트웨이와 서로 핑을 시도하고 결과를 게시합니다.
편집2
지금까지 이는 comp1이 arp 요청을 보내는 것으로 가정된 작업(comp2s 이더넷 주소 요청)을 수행하고 있지만 arp 응답을 받지 못함(아무 것도 듣지 못함)을 보여줍니다. 전체 그림을 보려면 PC2의 tcpdump를 확인해야 합니다. screen 명령을 실행하거나 PC1 sudo tcpdump -w pc1.pcap -ni wlan0 arp &
및 PC2 에서 이 작업을 수행하십시오.sudo tcpdump -w pc2.pcap -ni wlan0 arp &
&이를 백그라운드로 던져서 핑에 대한 프롬프트를 다시 제공해야 합니다. 핑이 실패하면 작업을 fg %1
중지하고 다시 포그라운드로 가져오고 다음을 ctrl+c
사용하여 작성된 파일을 읽습니다.sudo tcpdump -r pc1/2.pcap
편집3
PC는 예상대로 ARP를 실행하지만 라우터에 대한 지점을 통과하지 못합니다. 방화벽 설정을 비활성화했을 수도 있습니다. VLAN을 지원하는지 의심스러우신가요? 좀 더 오래 실행해줬으면 좋겠어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 어댑터가 있는 것을 보지 못했습니다. wlan 대신 eth의 라우터에 직접 연결하여 ping이 가능한지 확인할 수 있습니까? 아니면 다른 라우터를 구입하시겠습니까? 아니면 전화의 핫스팟을 만들어 두 PC를 모두 연결하고 핑을 시도하시겠습니까? 또한 두 대의 PC를 함께 연결하고 서로 핑할 수 있다는 사실에 놀랐습니다. 크로스오버 케이블을 사용하셨나요?
답변2
두 대의 컴퓨터를 이더넷 케이블로 직접 연결하고 두 컴퓨터 모두 고정 IP 주소(예: A: 192.168.1.10, B: 192.168.1.20)로 설정한 후 다시 ping을 시도합니다.
그러면 문제가 라우터에서 발생하는지 아니면 컴퓨터에서 발생하는지 매우 빨리 알 수 있습니다.
답변3
이와 같은 이상한 것을 보았을 때 나의 첫 번째 반응은 Wireshark를 설치하는 것입니다.
그런 다음 루트가 아닌 사용자로 사용할 수 있는 권한을 갖도록 만드십시오.
sudo dpkg-reconfigure wireshark-common
"예" 옵션을 선택하십시오.
usermod -a -G wireshark your-user-name
로그아웃했다가 다시 로그인하여 새 그룹 멤버십을 선택하면 이제 루트가 아닌 사용자로 캡처 패킷을 실행할 수 있습니다.
그런 다음 머신에서 Wireshark를 실행하고 네트워크에 연결된 인터페이스를 선택합니다. 결과를 더 쉽게 해석할 수 있도록 테스트 이외의 트래픽을 최소화하십시오.
한 컴퓨터에서 Wireshark를 실행한 다음 다른 컴퓨터에서 ping을 시도하면~해야 한다Wireshark를 실행하는 컴퓨터에서 "<당신이 핑하려는 IP>를 갖고 있는 사람은 누구입니까?"라고 말하는 것을 보십시오. 이를 얻으면 ping을 시도하는 컴퓨터가 wireshark 컴퓨터에서 요청을 수신한 것입니다. 바라건대, Wireshark에서 "<ping하려는 IP 주소>가 <mac 주소>에 있습니다"라는 내용을 볼 수 있기를 바랍니다. 그렇게 하면 Wireshark 컴퓨터가 응답하는 것입니다. 이 경우 컴퓨터 ping에서 Wireshark를 실행하고 ping 컴퓨터에서 "<ping하려는 IP 주소>가 <mac 주소>에 있습니다."라는 응답을 볼 수 있는지 확인하세요.
이것이 너무 낮은 수준이어서 당신의 머리를 넘어선다면 사과드립니다. 이 방법은 세부 사항에 대해 자세히 설명합니다. 그러나 네트워크에서 실제로 무슨 일이 일어나고 있는지 볼 수 있으면 문제가 훨씬 더 분명해지는 경향이 있습니다.
답변4
LAN(우분투 시스템에만 해당)에서도 동일한 증상이 나타났습니다. 새로운 라우터를 얻은 이후에 일어난 일입니다. 듀얼 밴드 제품 중 하나입니다. 한 "밴드"가 다른 "밴드"와 완전히 분리되어 있다고 생각하기 전까지는 문제를 이해할 수 없었습니다. 테스트하기 쉬워야 합니다. Wi-Fi에서 한 컴퓨터의 연결을 끊었다가 (동일한 SSID에) 다시 연결했는데, 운이 좋아서(50-50 확률인가요?) 다른 컴퓨터의 LAN에 나타났습니다. 이제 기계에 ping을 하고 로그인할 수 있습니다! 위의 "nmap"이 나에게 단서를 제공했습니다. 아이디어 주셔서 감사합니다.