技术解析

firewalld 对 iptables 的 FORWARD 链是无法操作的?
0
2021-06-16 17:49:22
idczone

各位 Linux 、路由、firewalld 、iptables 大佬,

firewalld 对 iptables 的 FORWARD 链是无法操作的,除非用 Direct 接口,否则所有命令维护的都是 INPUT 、OUTPUT 和 POSTROUTING (做 SNAT )以及最多一个 PREROUTING 链(做 DNAT )。

请问是不是这样?查了好多资料,貌似都是说要让 Linux 做路由器,想阻止转发出去的连接,就必须用 iptables 或 firewalld 的 Direct 接口。

比如:一台 Linux 服务器,2 个接口,分别连着内外网。要配置 firewalld 阻止某台内网主机上网,用源 IP 地址判断,就必须用到 Direct 接口。写的 Rich 策略都是无效的,因为它是对传入到本机(路由器自己)的数据包的过滤,也就是 iptables 中的 filter 表的 INPUT 链。


nat 链优先级高于 filter 链,所以 input/output 无法阻断是对的
iptables 正常操作就是用 forward 链来控制,当然也有比较操蛋的做法就是用 post 或者 pre 里识别到-s 后,给丢到不存在的目标,也能达到效果
firewalld 没用过,但按理应该是可以的。

数据地带为您的网站提供全球顶级IDC资源
在线咨询
专属客服