Openwrt 在桥接模式下-ebtables 内核错误

Openwrt 在桥接模式下-ebtables 内核错误

我在家里有一个设置如下:

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

我使用的设备是带有 Barrier Breaker 的 TPlink MR3020,我尝试为桥接流量设置透明代理 - 我想将通过桥接的数据包重定向到代理服务器(privoxy)。我尝试使用ebtables。但是当我输入以下命令时:

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

我收到以下错误:

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.

我尝试使用 激活 IPv4 包insmod,但是没有成功。

关于如何实现这一点有什么想法吗?

答案1

该错误消息通常是由于缺少内核模块而导致的。加载所需模块的正确语法和顺序应为:

insmod ebtables#加载 ebtables

insmod ebtable_filter#加载过滤表 [ 非严格必要 ]

insmod ebtable_broute#加载 broute 表

insmod ebt_ip#加载IP过滤

insmod ebt_redirect#加载重定向

lsmod#检查它们是否活跃

相关内容