我在家里有一个设置如下:
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
#检查它们是否活跃