技术解析
各位 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 链。