Raspberry pi tidak dapat melakukan ping alamat router atau internet melalui wifi bridge

10

Baru-baru ini saya membuat router WNR2000v3 yang menjalankan DD-WRT sebagai semacam jembatan pengulang menggunakan versi "Atheros" dari tutorial ini (kita akan menyebutnya 'router 2'), yang mengulangi router Medialink Wireless-N (kita ' akan memanggil ini 'router 1'). Ini berfungsi dengan baik untuk ponsel Android dan komputer Windows saya baik melalui wifi dan ketika terhubung langsung melalui ethernet, tetapi ketika saya pasang pi Raspberry saya, baik ketika menjalankan Raspbian (mengi) atau Raspbmc, saya tidak bisa mendapatkan koneksi di luar jaringan lokal.

Pi raspberry dapat melakukan ping (dan di-ping-kan) salah satu perangkat lain di subnet lokal, termasuk 'router 2', ke mana ia terhubung langsung, dan itu bisa mendapatkan DHCP dari router 1, tetapi ketika saya mencoba dan ping router 1, saya mendapatkan "Destination Host Unreachable", dan jika saya mencoba ping apa pun di internet seperti google.com, superuser.com, saya juga mendapatkan "Destination Host Unreachable".

Berikut komputer lain di jaringan:

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

Inilah router 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 adalah alamat 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)

Ini adalah tabel routing:

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

Dan inilah permintaan 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.

Semua yang lain berfungsi dengan baik, tapi saya sudah mencoba pi rapsberry ini dengan dua gambar berbeda (Raspbmc dan raspbian) dan dua pis raspberry yang berbeda dan tidak ada konfigurasi yang berfungsi. Gambar raspbian telah diuji berfungsi ketika terhubung langsung ke Router 1. Masalah ini tampaknya sangat mirip dengan pertanyaan yang belum terjawab ini dari dua tahun yang lalu, kecuali bahwa dalam kasus itu tampaknya ia menggunakan wifi untuk perangkat yang gagal terhubung, dan dia benar-benar mendapatkan beberapa konektivitas intermiten. Juga respons ping ada dari router, bukan perangkat. Apa yang bisa menyebabkan masalah ini?

Sunting: Saya juga harus mencatat bahwa dua raspberry pis yang berbeda memiliki alamat IP yang berbeda, salah satunya adalah IP-MAC terikat, dan tidak ada tabrakan IP yang saya lihat di tabel DHCP, tetapi masalah yang sama pada masing-masing.

Pembaruan : Saya telah menentukan satu hal yang berpotensi menarik, yaitu ketika Kloning Alamat MAC dimatikan, jembatan pengulang berhenti berfungsi - satu-satunya hal yang dapat melakukan ping raspberry pi adalah router 2, dan tidak ada konektivitas (atau akses ke router 1) dari apa pun yang terhubung hanya ke router 2 - termasuk mesin Windows. Namun, alamat mac yang sedang dikloning adalah alamat mac yang sama yang sebenarnya digunakan oleh antarmuka router 2 (sesuai dengan halaman "status"). Saya memiliki kekuatan bersepeda dua kali router 1 dan router 2 dan tidak ada bedanya. Saya tidak mengerti mengapa kloning alamat MAC relevan di sini. Dengan kloning Alamat MAC mati, ketika saya ssh ke router itu sendiri, router dapat melakukan ping pi Raspberry, tetapi tidak router 1.

Satu hal kecil lainnya adalah ketika kloning Alamat MAC aktif dan saya benar-benar dapat melakukan ping komputer lain di jaringan, arping mengembalikan alamat mac yang sama untuk setiap perangkat yang merespons ping.

Pembaruan 2: Dari memeriksa nilai syslog, saya menemukan bahwa ada pesan kesalahan ini yang berkaitan dengan alamat 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

Rupanya ini adalah masalah yang diketahui bahwa orang menyelesaikan menggunakan kloning alamat MAC. Saya tidak yakin mengapa alamat MAC acak merupakan masalah, dan apa konsekuensi lain dari kloning alamat MAC.

Paul
sumber
Jika Anda memiliki klien nirkabel ke router 2, dapatkah Anda melakukan ping ke / dari raspberry ke klien nirkabel?
MariusMatutiae
Iya. Anda dapat melakukan ping raspberry dari klien nirkabel di router 1 atau router 2.
Paul
Pada router 1, apakah Anda memiliki DHCP atau dnsmasq diaktifkan?
MariusMatutiae
DHCP ya, saya tidak tahu tentang dnsmasq. Tidak ada pengaturan untuk itu di webUI pada router 1.
Paul
Inilah sebabnya mengapa NAT menyebalkan. Anda harus benar-benar menggunakan WDS. (Setiap perangkat tampaknya memiliki alamat MAC yang sama karena NAT digunakan untuk meyakinkan titik akses yang sedang berbicara dengan kliennya.)
David Schwartz

Jawaban:

1

+1 untuk deskripsi masalah terperinci.

Seperti yang saya kemukakan di thread Anda dibuka di pi raspberry , Anda bisa memeriksa apakah router utama Anda terdaftar dalam tabel arp RPI ini: arp -natau jika Anda memiliki iproute2 diinstal: ip neigh.

Jika perlu Anda dapat menambahkan router di cache arp dengan perintah ini: arp -s <ROUTER_IP> <ROUTER_MAC>dan lihat apakah Anda masih memiliki masalah

Anda juga dapat memeriksa apakah RPi Anda mengirimkan permintaan ARP seperti yang diharapkan dengan mengendus semua paket ARP. Di RPi Anda, jalankan:tcpdump arp

Anda juga bisa menjalankan perintah yang sama pada repeater DD-WRT dan pada host lain yang terhubung pada router 1. Ketika permintaan ARP disiarkan, Anda akan melihatnya di lan Anda.

ripat
sumber
1

Saya memiliki masalah yang sama ketika menginstal Wifi Repeater baru. Solusi yang dikompromikan adalah mengatur IP statis untuk Raspberry Pi.

Lam Do
sumber
0

Ini sulit untuk didiagnosis, karena tentu saja sistem Anda tampaknya terkonfigurasi dengan benar. Jadi, daripada memeriksa daftar opsi cek yang panjang, saya akan memberi Anda beberapa ide untuk diuji.

Satu hal yang saya coba adalah mengubah gateway default ke router 2, daripada router 1.

Hal lain adalah memaksa ping untuk mengikat ke antarmuka eth0:

 ping -I 192.168.0.107 192.168.0.1
 ping -I eth0          192.168.0.1

Kedua perintah ini sedikit berbeda, keduanya harus dicoba. Semoga, mereka akan memberikan output yang berbeda, yang akan menjadi indikasi kesalahan.

Maka saya akan memeriksa / etc / network / interfaces: apakah mengandung beberapa baris seperti

  auto eth0
  iface eth0 inet dhcp

Maka saya akan mencoba memulai kembali antarmuka:

  ifdown eth0
  ifup eth0

dan kemudian dhclient lagi.

Ketika semua dikatakan dan dilakukan, orang harus ingat bahwa itu tidak perlu menjadi masalah perangkat lunak. Jika Anda pergi ke halaman Web ini, Anda dapat membaca pengalaman berikut:

Saya telah memesan pi raspberry lain dan baru saja dicitrakan kembali kartu sd, boot di yang itu, dan internet bekerja dengan baik. Saya mengeluarkan kartu sd dan meletakkannya di pi raspberry tua dan memasang kabel yang sama persis dan kabel ethernet tapi masih tidak berhasil ....

Juga, Anda harus ingat bahwa ada kemungkinan masalah dengan kabel. Kabel tidak berfungsi / tidak berfungsi. Masalah pada RX atau TX dapat menyebabkan banyak frame dijatuhkan, kualitas sinyal menjadi marginal, dan sebagainya. Dalam hal ini, protokol seperti TCP berperilaku lebih baik daripada ICMP atau UDP karena mereka mengirim ulang paket yang belum diterima oleh target, memberi Anda kesan yang salah tentang koneksi yang berfungsi dengan baik. Kesan yang salah ini berlangsung sampai Anda mengukur kecepatan koneksi, tentu saja.

MariusMatutiae
sumber
Tidak ada perbedaan antara respons terhadap dua perintah ping. Sama seperti yang saya tempelkan di atas. File / etc / network / interfaces kosong dalam kasus raspbmc, dalam kasus raspbian memiliki "auto lo" "iface lo inet loopback" "iface eth0 inet dhcp". Restart antarmuka tidak melakukan apa pun dalam kedua kasus tersebut. Ini jelas bukan masalah dengan pi raspberry, karena saya memiliki dua raspberry pis yang berbeda, tidak ada yang berfungsi ketika dicolokkan ke router 2 tetapi keduanya bekerja ketika dicolokkan langsung ke router 1.
Paul
-1

Masalah serupa yang saya alami beberapa waktu lalu. Solusi saya adalah mengedit /etc/resolv.conffile dengan menambahkan nameserver 8.8.4.4, dan dengan memulai kembali menggunakan antarmuka /etc/init.d/networking restart. Ini bekerja untuk saya.

Mubin
sumber
OP menyebutkan Destination Host Unreachablesebagai kesalahan, yang tampaknya menyarankan DNS berfungsi dengan baik. Kesalahan DNS akan menghasilkan sesuatu seperti cannot resolveatau Unknown host.
jornane