Debian 7-不支持 iptables‘过滤器’?

Debian 7-不支持 iptables‘过滤器’?

正在尝试将连接从 WLAN0 转发/伪装到 ETH0,如下所示:

sudo iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
sudo iptables -A FORWARD -i eth0 -o wlan0 -m state --state RELATED,ESTABLISHED -j ACCEPT
sudo iptables -A FORWARD -i wlan0 -o eth0 -j ACCEPT

第一个命令有效。

第二条命令响应:iptables: No chain/target/match by that name.

如果我删除-m state --state RELATED,ESTABLISHED命令的一部分,它会被接受。

我使用以下方法查看了内核模块lsmod | grep ip并且存在“ip_tables”。我在这里遗漏了一些明显的东西。有什么建议吗?

Debian 7 (armv7l)

答案1

Netfilter模块state是使用名为的内核模块实现的xt_state,因此如果尝试使用它立即失败,可以尝试执行

# modprobe xt_state

如果失败,内核很可能是在编译时禁用了对高级 Netfilter 功能的支持。

为了验证这一点,可以搜索/boot/config-<your-kernel-version>文件以查找CONFIG_NETFILTER_XT_MATCH_STATE应该是

  1. 没有注释掉,
  2. 分配一个值为“y”或“m”(“yes”与“module”),
  3. 未分配“n”值(“否”)。

进一步调查 OP 发现他们有一个由odroid已安装,而不是适合该架构的普通 Debian Wheezy 内核armhf

相关内容