GNU/Linux >> Belajar Linux >  >> Linux

Kabel ke jembatan nirkabel di Linux

Jembatan menjadi mudah:

Ada proyek di sourceforge yang dibuat hanya untuk situasi Anda. http://sourceforge.net/projects/bridger/ Bahkan datang sebagai paket deb.

Sehubungan dengan paket 'menjatuhkan':

  1. Apakah Anda memeriksa apakah iptables disetel ke penurunan default? sudo iptables --list harus bertuliskan "TERIMA, TERIMA, TERIMA" untuk kotak jenis ini. Jika itu masalahnya, matikan.

  2. Apakah Anda bahkan meneruskan paketnya, bro? Pastikan baris "net.ipv4.ip_forward=1" TIDAK dikomentari di /etc/sysctl.conf (secara default), lalu mulai ulang jaringan Anda.

  3. Mode promiscuous tidak didukung oleh dongle nirkabel Anda. (artinya tidak dapat menerima paket yang tidak ditujukan untuknya)

Jembatan Murni vs. Jembatan Bersama:

  1. iface br0 inet dhcp menunjukkan berbagi jembatan, artinya jembatan itu sendiri mendapatkan ip dan dapat menjadi titik akhir lalu lintas.

  2. Jembatan murni tidak mendapatkan alamat ip dan hanya meneruskan lalu lintas antara dua antarmuka

  3. Jembatan Bersama Contoh file konfigurasi /etc/network/interfaces (Debian/Ubuntu)

# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).

# The loopback network interface
auto lo
iface lo inet loopback

# Bridge between eth0 and wlan0
auto br0
iface br0 inet dhcp
  pre-up ip link set eth0 down
  pre-up ip link set wlan0 down
  pre-up brctl addbr br0
  pre-up brctl addif br0 eth0 wlan0
  pre-up ip addr flush dev eth0
  pre-up ip addr flush dev wlan0
  post-down ip link set eth0 down
  post-down ip link set wlan0 down
  post-down ip link set br0 down
  post-down brctl delif br0 eth0 wlan0
  post-down brctl delbr br0

Mulai ulang jaringan:sudo /etc/init.d/networking restart Setelah melakukan perubahan konfigurasi jaringan yang kompleks, lebih mudah untuk hanya mem-boot ulang daripada memastikan semuanya dimulai ulang dengan benar saat mem-boot ulang.

Anda merasa mengalami masalah perutean:

  1. Hilangkan DNS sebagai penyebab dengan menguji dengan ping 8.8.8.8 . Jika berhasil, Anda mungkin mengalami masalah DNS di jaringan Anda.

  2. Periksa gateway Anda dengan sudo ip route semoga Anda melihat default via 192.168.1.1 dev br0 proto dhcp (dengan asumsi gateway Anda adalah 192.168.1.1). Jika ada yang hilang atau salah, perbaiki sudo ip route add default via 192.168.1.1 . Tes lagi:ping 8.8.8.8

  3. Perbarui ip jembatan bersama Anda dengan dhclient br0 dan uji ulang dengan ping 8.8.8.8

  4. Periksa antarmuka 'budak' Anda dengan ifconfig dan pastikan eth0 dan wlan0 TIDAK memiliki alamat ip. Mereka adalah bagian dari jembatan sekarang. Jika ya, pastikan Anda menghapusnya dari semua file konfigurasi, setel ke static 0.0.0.0 atau yang lainnya.

Jika TIDAK ADA yang berhasil, coba aplikasi penghubung debian itu, dan jika itu tidak berhasil maka dongle nirkabel Anda tidak mendukung mode promiscuous. (lihat di atas)

Jika berfungsi kapan saja di sini, reboot dan pastikan masih berfungsi.


Saya memiliki beberapa jembatan nirkabel yang berfungsi di Debian Linux dan Openwrt, jadi saya sangat paham dengan masalah ini.

Anda melewatkan satu perintah penting:Anda lupa memberi tahu driver nirkabel Anda untuk mengirimkan bingkai 4-alamat (terkadang secara tidak tepat/secara historis disebut WDS), yang diperlukan untuk 802.11/penghubung nirkabel. Lakukan ini dengan perintah "iw dev wlan0 set 4addr on". Gunakan pernyataan "pre-up" di file antarmuka Debian Anda di jembatan untuk menerapkannya sebelum membuka jembatan. Perhatikan bahwa mode bingkai 4-alamat memerlukan dukungan driver dan beberapa driver atau perangkat keras 802.11 yang jelek mungkin tidak mendukungnya.

Saya juga sangat menduga masalah Anda mungkin diperumit oleh bug di kernel Linux yang secara khusus memengaruhi antarmuka yang dijembatani. Saya sendiri mengalami bug ini dan harus mengkompilasi wpa_supplicant saya sendiri dari sumber karena versi di Debian sudah tua dan terpengaruh. wpa_supplicant dan hostapd berbagi basis kode yang sama, tetapi saya tidak sepenuhnya yakin apakah ini memengaruhi hostapd dan juga wpa_supplicant.

Ada komitmen penyelesaian untuk masalah ini di sini:

https://w1.fi/cgit/hostap/commit/?id=e6dd8196e5daf39e4204ef8ecd26dd50fdca6040

Saya mendapat kesan bahwa ini ada di rilis 2.5, dan saya tahu ini ada di sumber 2.6 saat ini. Versi Debian saat ini adalah 2.4, yang rusak. Silakan ganggu proyek Debian untuk memperbarui paket wpasupplicant dan hostapd mereka.

Berikut adalah contoh konfigurasi untuk klien jembatan nirkabel menggunakan WPA/WPA2 dengan jembatan nirkabel antara antarmuka wlan0 dan eth0, dengan host mendapatkan alamat DHCP pada antarmuka br0 (ganti "dhcp" dengan "manual" tanpa alamat IP). Untuk situasi di mana Anda ingin menjadi AP, sertakan perintah interface=dan bridge=di hostapd.conf dan abaikan perintah wpa-* di bawah.

Di file /etc/network/interfaces Anda:

allow-auto br0
iface br0 inet dhcp
    bridge_ports wlan0 eth0
    bridge_stp off
    bridge_waitport 5
    bridge_fd 0
    wpa-ssid mynetwork
    wpa-psk abc123abc123abc123abc123abc123abc123abc123abc123abc123abc123
    wpa-iface wlan0
    wpa-bridge br0
    pre-up iw dev wlan0 set 4addr on
    post-down iw dev wlan0 set 4addr off

Dan pastikan wpa_supplicant Anda adalah versi 2.5 atau lebih baru. Itu tidak akan bekerja dengan wpa_supplicant 2.4 dan versi kernel saat ini.

Saya juga harus mencatat bahwa saat ini ada bug balapan di ifup di mana antarmuka jembatan mungkin gagal muncul saat boot, tapi itu masalah lain.


Sepertinya Anda membutuhkan penerusan ip.

coba cat /proc/sys/net/ipv4/ip_forward

Jika 0 masalah:echo 1 > /proc/sys/net/ipv4/ip_forward


Linux
  1. Cara mengonfigurasi Jembatan Linux untuk bertindak sebagai Hub alih-alih Switch

  2. Linux – Nonaktifkan Adaptor Jaringan Nirkabel Di Arch?

  3. Bagaimana saya bisa mendapatkan daftar jaringan nirkabel yang tersedia di Linux?

  1. Perintah mv Linux

  2. Linux du perintah

  3. Tentukan apakah antarmuka jaringan nirkabel atau kabel

  1. Linux – Apakah Kernel Linux/unix yang Berbeda Dapat Dipertukarkan?

  2. Perintah ip Linux

  3. Perintah cd Linux