V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Distributions
Ubuntu
Fedora
CentOS
中文资源站
网易开源镜像站
jasonyang9
V2EX  ›  Linux

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

  •  
  •   jasonyang9 · 2020-11-02 15:39:40 +08:00 · 1968 次点击
    这是一个创建于 1242 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

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

    firewalld 没用过,但按理应该是可以的。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   1434 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 28ms · UTC 17:26 · PVG 01:26 · LAX 10:26 · JFK 13:26
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.