firewalld 对 iptables 的 FORWARD 链是无法操作的?

2020-11-02 15:39:40 +08:00
 jasonyang9

各位 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 链。

2188 次点击
所在节点    Linux
1 条回复
tomychen
2020-11-06 15:23:20 +08:00
nat 链优先级高于 filter 链,所以 input/output 无法阻断是对的
iptables 正常操作就是用 forward 链来控制,当然也有比较操蛋的做法就是用 post 或者 pre 里识别到-s 后,给丢到不存在的目标,也能达到效果

firewalld 没用过,但按理应该是可以的。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/721030

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX