Openwrt dalam mode jembatan - kesalahan kernel ebtables

1

Saya memiliki pengaturan di rumah sebagai berikut:

DHCP clients  -----> (wifi)(bridge) Openwrt -----> (eth)Main Router

Perangkat yang saya gunakan adalah TPlink MR3020 dengan Barrier Breaker dan saya mencoba mengatur proxy transparan untuk lalu lintas jembatan - Saya ingin mengarahkan ulang paket yang melewati jembatan ke server proxy ( privoxy). Saya mencoba menggunakan ebtables. Tetapi ketika saya memasukkan perintah berikut:

ebtables -t broute -A BROUTING -p IPv4 --ip-protocol 6 --ip-destination-port 80 -j redirect --redirect-target ACCEPT

Saya mendapat kesalahan berikut:

Unable to update the kernel. Two possible causes:
1. Multiple ebtables programs were executing simultaneously. The ebtables
userspace tool doesn't by default support multiple ebtables programs running
concurrently. The ebtables option --concurrent or a tool like flock can be
used to support concurrent scripts that update the ebtables kernel tables.
2. The kernel doesn't support a certain ebtables extension, consider
recompiling your kernel or insmod the extension.

Saya mencoba mengaktifkan paket IPv4 dengan insmod, tetapi tidak berhasil.

Ada ide tentang bagaimana mencapai ini?

Enes Aldemir
sumber

Jawaban:

0

Pesan kesalahan itu biasanya dihasilkan dari modul kernel yang hilang. Sintaks yang benar dan urutan untuk memuat yang Anda butuhkan adalah:

insmod ebtables # memuat ebtables

insmod ebtable_filter #load tabel filter [tidak sepenuhnya diperlukan]

insmod ebtable_broute # Muat tabel broute

insmod ebt_ip #load penyaringan ip

insmod ebt_redirect #load redirect

lsmod #Periksa apakah mereka aktif

codemonk113
sumber
Terima kasih, tetapi tidak ada keberuntungan. Saya mencoba melakukan apa yang Anda katakan, tetapi saya mengambil Failed to find ebt_ip. Maybe it is a built in module ? kesalahan. Saya mencoba menemukan modul ini sebelumnya, tetapi saya tidak dapat menemukannya. Apakah Anda tahu bagaimana saya bisa mengatasi kesalahan ini?
Enes Aldemir
Jika Anda melihatnya di output find / -iname "*ebt*"maka Anda bisa insmoddengan path lengkap. Jika tidak ada di sana, Anda perlu menemukan modul yang sesuai untuk kernel Anda dan menambahkannya secara manual.
codemonk113