Raspberry pi ไม่สามารถ ping เราเตอร์หรือที่อยู่อินเทอร์เน็ตผ่านสะพาน wifi


10

ฉันเพิ่งตั้งค่าเราเตอร์ WNR2000v3 ที่รัน DD-WRT เป็นสะพาน repeater โดยใช้เวอร์ชัน "Atheros" ของบทช่วยสอนนี้ (เราจะเรียกสิ่งนี้ว่า 'เราเตอร์ 2') ซึ่งทำซ้ำเราเตอร์ Medialink Wireless-N (เรา) จะเรียกสิ่งนี้ว่า 'เราเตอร์ 1') มันทำงานได้อย่างสมบูรณ์แบบสำหรับโทรศัพท์ Android และคอมพิวเตอร์ Windows ทั้งผ่าน wifi และเมื่อเชื่อมต่อโดยตรงผ่านอีเธอร์เน็ต แต่เมื่อฉันเสียบ Raspberry pi ของฉันทั้งที่รัน Raspbian (เสียงดัง) หรือ Raspbmc ฉันไม่สามารถเชื่อมต่อนอกเครือข่ายท้องถิ่นได้

ราสเบอร์รี่ pi สามารถ ping (และถูก ping โดย) อุปกรณ์อื่น ๆ ในเครือข่ายย่อยในท้องถิ่นรวมถึง 'เราเตอร์ 2' ซึ่งมันเชื่อมต่อโดยตรงและสามารถรับ DHCP จากเราเตอร์ 1 แต่เมื่อฉันลองและ ping เราเตอร์ 1 ฉันได้รับ "Destination Host Unreachable" และถ้าฉันลองทำอะไรบนอินเทอร์เน็ตอย่าง google.com, superuser.com ฉันก็จะได้ "Destination Host Unreachable"

นี่คือคอมพิวเตอร์อีกเครื่องในเครือข่าย:

ping 192.168.0.100
PING 192.168.0.100 (192.168.0.100) 56(84) bytes of data.
64 bytes from 192.168.0.100: icmp_req=1 ttl=127 time=38.7 ms
64 bytes from 192.168.0.100: icmp_req=2 ttl=127 time=1.67 ms
64 bytes from 192.168.0.100: icmp_req=3 ttl=127 time=1.73 ms
64 bytes from 192.168.0.100: icmp_req=4 ttl=127 time=3.56 ms
--- 192.168.0.100 ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 3003ms
rtt min/avg/max/mdev = 1.672/11.418/38.705/15.772 ms

นี่คือเราเตอร์ 1:

ping 192.168.0.1
PING 192.168.0.1 (192.168.0.1) 56(84) bytes of data.
From 192.168.0.107 icmp_seq=1 Destination Host Unreachable
From 192.168.0.107 icmp_seq=2 Destination Host Unreachable
From 192.168.0.107 icmp_seq=3 Destination Host Unreachable
From 192.168.0.107 icmp_seq=4 Destination Host Unreachable
From 192.168.0.107 icmp_seq=5 Destination Host Unreachable
From 192.168.0.107 icmp_seq=6 Destination Host Unreachable
--- 192.168.0.1 ping statistics ---
8 packets transmitted, 0 received, +6 errors, 100% packet loss, time 7007ms
pipe 3

192.168.0.107 เป็นที่อยู่ของ Raspberry Pi:

ifconfig
eth0      Link encap:Ethernet  HWaddr xx:xx:xx:xx:db:c9
          inet addr:192.168.0.107  Bcast:192.168.0.255  Mask:255.255.255.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:3753 errors:0 dropped:0 overruns:0 frame:0
          TX packets:1262 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:595127 (581.1 KiB)  TX bytes:112407 (109.7 KiB)

lo        Link encap:Local Loopback
          inet addr:127.0.0.1  Mask:255.0.0.0
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          RX packets:285 errors:0 dropped:0 overruns:0 frame:0
          TX packets:285 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:27703 (27.0 KiB)  TX bytes:27703 (27.0 KiB)

นี่คือตารางเส้นทาง

sudo route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         192.168.0.1     0.0.0.0         UG    0      0        0 eth0
192.168.0.0     0.0.0.0         255.255.255.0   U     0      0        0 eth0

และนี่คือคำขอ DHCP:

sudo dhclient -v eth0
Internet Systems Consortium DHCP Client 4.2.2
Copyright 2004-2011 Internet Systems Consortium.
All rights reserved.
For info, please visit https://www.isc.org/software/dhcp/

Listening on LPF/eth0/xx:xx:xx:xx:db:c9
Sending on   LPF/eth0/xx:xx:xx:xx:db:c9
Sending on   Socket/fallback
DHCPREQUEST on eth0 to 255.255.255.255 port 67
DHCPACK from 192.168.0.1
RTNETLINK answers: File exists
bound to 192.168.0.107 -- renewal in 274691 seconds.

ทุกอย่างทำงานได้ดี แต่ฉันลอง rapsberry pi สองภาพที่แตกต่างกัน (Raspbmc และ raspbian) และ raspberry pis ที่แตกต่างกันสองภาพและไม่มีการกำหนดค่าทำงาน ภาพ raspbian ได้รับการทดสอบว่าใช้งานได้เมื่อเชื่อมต่อโดยตรงกับเราเตอร์ 1 ปัญหานี้ดูเหมือนจะคล้ายกับคำถามที่ยังไม่ได้ตอบเมื่อสองปีก่อนยกเว้นว่าในกรณีนั้นดูเหมือนว่าเขาใช้ wifi สำหรับอุปกรณ์ที่ไม่สามารถเชื่อมต่อได้ จริง ๆ แล้วเขาได้รับการเชื่อมต่อเป็นระยะ ๆ นอกจากนี้ยังมีการตอบสนอง ping จากเราเตอร์ไม่ใช่อุปกรณ์ สิ่งที่อาจทำให้เกิดปัญหานี้?

แก้ไข:ฉันควรทราบด้วยว่าราสเบอร์รี่ pis ที่แตกต่างกันสองรายการมีที่อยู่ IP ที่แตกต่างกันซึ่งหนึ่งในนั้นถูกผูกไว้กับ IP-MAC และไม่มีการชนกันของ IP ที่ฉันเห็นในตาราง DHCP แต่ปัญหาเดียวกันในแต่ละรายการ

อัปเดต : ฉันได้พิจารณาสิ่งหนึ่งที่น่าสนใจซึ่งก็คือเมื่อการปิดที่อยู่ MAC ถูกปิดใช้งานสะพานทวนหยุดทำงาน - สิ่งเดียวที่สามารถ ping raspberry pi คือเราเตอร์ 2 และไม่มีการเชื่อมต่อ (หรือเข้าถึงเราเตอร์ 1) สิ่งใดก็ตามที่เชื่อมต่อกับเราเตอร์ 2 - รวมถึงเครื่อง Windows อย่างไรก็ตามที่อยู่ mac ที่ถูกโคลนเป็นที่อยู่ mac เดียวกับที่ใช้งานจริงโดยอินเทอร์เฟซของเราเตอร์ 2 ต่อไป (ตามหน้า "สถานะ") ฉันมีพลังงานกรณืทั้งเราเตอร์ 1 และเราเตอร์ 2 สองครั้งและมันก็ไม่ต่างกัน ฉันไม่เข้าใจว่าทำไมการโคลนที่อยู่ MAC จึงมีความเกี่ยวข้องที่นี่ เมื่อปิดที่อยู่ MAC เมื่อฉันใส่ตัวเราเตอร์เองเราเตอร์สามารถ ping Raspberry pi ได้ แต่ไม่ใช่เราเตอร์ 1

อีกอย่างหนึ่งที่เล็กคือเมื่อการโคลนที่อยู่ MAC เปิดอยู่และฉันสามารถ ping คอมพิวเตอร์เครื่องอื่นบนเครือข่ายได้ arping จะส่งคืนที่อยู่ mac เดียวกันสำหรับทุกอุปกรณ์ที่ตอบสนองต่อการปิง

อัปเดต 2:จากการตรวจสอบค่า syslog ฉันพบว่ามีข้อผิดพลาดนี้เกี่ยวกับที่อยู่ MAC:

Jan  1 00:00:08 Router 2 kern.err kernel: [    6.770000] ath: eeprom contains invalid mac address: ff:ff:ff:ff:ff:ff
Jan  1 00:00:08 Router 2 kern.err kernel: [    6.780000] ath: random mac address will be used: fa:55:da:33:19:a9

เห็นได้ชัดว่านี่เป็นปัญหาที่ทราบกันดีว่าผู้คนกำลังแก้ปัญหาโดยใช้การโคลนที่อยู่ MAC ฉันไม่แน่ใจว่าทำไมที่อยู่ MAC แบบสุ่มเป็นปัญหาและผลที่ตามมาอื่น ๆ จากการโคลนที่อยู่ MAC คืออะไร


หากคุณมีไคลเอนต์ไร้สายถึงเราเตอร์ 2 คุณสามารถ ping ไปยัง / จากราสเบอร์รี่ไปยังไคลเอนต์ไร้สายได้หรือไม่?
MariusMatutiae

ใช่. คุณสามารถ ping raspberry จากไคลเอนต์ไร้สายได้ทั้งเราเตอร์ 1 หรือเราเตอร์ 2
Paul

บนเราเตอร์ 1 คุณเปิดใช้ DHCP หรือ dnsmasq หรือไม่
MariusMatutiae

DHCP ใช่ฉันไม่รู้ dnsmasq ไม่มีการตั้งค่าไว้ใน webUI บนเราเตอร์ 1
เปาโล

นี่คือสาเหตุที่ NAT ดูด คุณควรใช้ WDS จริงๆแทน (ดูเหมือนว่าอุปกรณ์ทุกเครื่องจะมีที่อยู่ MAC เดียวกันเนื่องจาก NAT กำลังใช้เพื่อโน้มน้าวจุดเชื่อมต่อที่กำลังคุยกับลูกค้า)
David Schwartz

คำตอบ:


1

+1 สำหรับคำอธิบายปัญหาโดยละเอียด

ในฐานะที่ผมแนะนำในหัวข้อที่คุณเปิดในปี่ราสเบอร์รี่ , คุณสามารถตรวจสอบว่าเราเตอร์หลักของคุณอยู่ในตารางข้อมูล ARP RPI ของ: arp -nหรือหากคุณมี iproute2 ip neighที่ติดตั้ง:

หากจำเป็นคุณสามารถเพิ่มเราเตอร์ในแคช arp ด้วยคำสั่งนี้arp -s <ROUTER_IP> <ROUTER_MAC>และดูว่าคุณยังมีปัญหาอยู่หรือไม่

นอกจากนี้คุณยังสามารถตรวจสอบว่า RPi ของคุณส่งคำขอ ARP ตามที่คาดไว้หรือไม่โดยการดมกลิ่นแพ็คเก็ต ARP ทั้งหมด บน RPi ของคุณให้เรียกใช้:tcpdump arp

คุณสามารถเรียกใช้คำสั่งเดียวกันบน repeater DD-WRT และโฮสต์อื่น ๆ ที่เชื่อมต่อกับเราเตอร์ 1 เนื่องจากคำขอ ARP ถูกเผยแพร่คุณควรเห็นพวกเขาข้าม LAN ของคุณ


1

ฉันมีปัญหาเดียวกันเมื่อติดตั้ง Wifi Repeater ใหม่ โซลูชันที่ถูกบุกรุกนั้นได้รับการตั้งค่า IP แบบคงที่สำหรับ Raspberry Pi


0

นี่เป็นวิธีที่ยุ่งยากในการวินิจฉัยเพราะแน่นอนว่าระบบของคุณดูเหมือนถูกกำหนดค่าอย่างถูกต้อง ดังนั้นแทนที่จะผ่านรายการตัวเลือกการตรวจสอบที่มีความยาวฉันจะให้แนวคิดบางอย่างสำหรับสิ่งที่ต้องทดสอบ

สิ่งหนึ่งที่ฉันจะลองคือเปลี่ยนเกตเวย์เริ่มต้นเป็นเราเตอร์ 2 แทนที่จะเป็นเราเตอร์ 1

อีกสิ่งหนึ่งคือบังคับให้ ping ผูกกับอินเตอร์เฟส eth0:

 ping -I 192.168.0.107 192.168.0.1
 ping -I eth0          192.168.0.1

คำสั่งทั้งสองนี้แตกต่างกันเล็กน้อยควรลองทั้งคู่ หวังว่าพวกเขาจะให้ผลลัพธ์ที่แตกต่างกันซึ่งจะบ่งบอกถึงความผิดพลาด

จากนั้นฉันจะตรวจสอบ / etc / network / interfaces: มันมีสองสามบรรทัดเช่น

  auto eth0
  iface eth0 inet dhcp

จากนั้นฉันจะลองเริ่มต้นส่วนต่อประสานใหม่:

  ifdown eth0
  ifup eth0

และจากนั้น dhclient อีกครั้ง

เมื่อทุกคนพูดและทำเสร็จแล้วเราควรจำไว้ว่ามันไม่จำเป็นต้องเป็นปัญหาซอฟต์แวร์ หากคุณไปที่หน้าเว็บนี้คุณสามารถอ่านประสบการณ์ต่อไปนี้:

ฉันได้สั่งราสเบอร์รี่ปี่อีกครั้งและเพิ่งถ่ายภาพการ์ด SD อีกครั้งบูตที่หนึ่งและอินเทอร์เน็ตก็ใช้งานได้ดี ฉันเอาการ์ด SD ออกมาและวางไว้ในราสเบอร์รี่ปี่เก่าและติดสายเคเบิลและสายอีเธอร์เน็ตเอาไว้ แต่มันก็ยังไม่ทำงาน ....

นอกจากนี้คุณควรทราบว่าอาจมีปัญหากับสายเคเบิล สายเคเบิลไม่ทำงาน / ไม่ทำงานวัตถุ ปัญหาใน RX หรือ TX อาจทำให้เฟรมจำนวนมากลดลงคุณภาพของสัญญาณจะอยู่ที่ขอบและอื่น ๆ ในกรณีนี้โปรโตคอลเช่น TCP ทำงานได้ดีกว่า ICMP หรือ UDP เพราะส่งแพ็กเก็ตอีกครั้งที่เป้าหมายไม่ได้รับซึ่งจะทำให้คุณประทับใจในการเชื่อมต่อที่ใช้งานไม่ได้ การแสดงผลที่ไม่ถูกต้องนี้จะคงอยู่จนกว่าคุณจะวัดความเร็วการเชื่อมต่อแน่นอน


ไม่มีความแตกต่างระหว่างการตอบสนองต่อคำสั่ง ping สองคำ เหมือนกับที่ฉันวางไว้ด้านบน ไฟล์ / etc / network / interfaces ว่างในกรณี raspbmc ในกรณี raspbian มี "auto lo" "iface lo inet loopback" "iface eth0 inet dhcp" การเริ่มต้นอินเทอร์เฟซใหม่จะไม่ทำอะไรเลยในทั้งสองกรณี แน่นอนไม่มีปัญหากับราสเบอร์รี่ pi เพราะฉันมีสองราสเบอร์รี่ pis ที่แตกต่างกันทั้งที่ไม่ทำงานเมื่อเสียบเข้ากับเราเตอร์ 2 แต่ทั้งสองทำงานเมื่อเสียบเข้ากับเราเตอร์ 1 โดยตรง
Paul

-1

ปัญหาที่คล้ายกันฉันมีบางเวลาที่ผ่านมา วิธีการแก้ปัญหาของฉันถูกแก้ไข /etc/resolv.confไฟล์โดยการเพิ่มและอินเตอร์เฟซที่ใช้เริ่มต้นใหม่nameserver 8.8.4.4 /etc/init.d/networking restartมันใช้งานได้สำหรับฉัน


OP ระบุว่าDestination Host Unreachableเป็นข้อผิดพลาดซึ่งดูเหมือนว่าจะแนะนำว่า DNS ทำงานได้ดี มีข้อผิดพลาด DNS จะได้ผลสิ่งที่ต้องการหรือcannot resolve Unknown host
jornane
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.