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

iptables LOG 的一些特殊问题

  •  
  •   acbot · 2023-05-11 11:50:36 +08:00 · 1164 次点击
    这是一个创建于 547 天前的主题,其中的信息可能已经有所发展或是发生改变。

    需求:两个 IP 组 gA gB 来源的要独立分别记录日志统计,除开这两个组的所有 IP 来源另外记录,实现规则如下

    1. iptables -t mangle -A -p tcp -m tcp --dport 443 -m set --match-set gA src -j LOG --log-prefix "group a access: "

    2. iptables -t mangle -A -p tcp -m tcp --dport 443 -m set --match-set gB src -j LOG --log-prefix "group b access: "

    3. iptables -t mangle -A -p tcp -m tcp --dport 443 -j LOG --log-prefix "other access: "

    现在的问题是 gA gB 的来源除了触发规则 1 或 2 还同时会触发规则 3 ,原因我看是说:LOG 是一个例外,不遵循匹配即中止的原则,虽然 ! match-set 可以这样取反但是 match-set 后面我没有看到过同时跟两条 IPset 的情况,那么这个问题有没有什么方便的办法,还是只能重新建立一个包含 gA gB 新 ipset 组来实现?

    第 1 条附言  ·  2023-05-11 15:48:25 +08:00
    通过再次搜索,找到了多个 -m set 介绍,其实直接在一个规则中写入多个就可以了,既:

    iptables -t mangle -A -p tcp -m tcp --dport 443 -m set ! --match-set gA src -m set ! --match-set gB src -j LOG --log-prefix "other access: "

    目前测试没有问题!
    2 条回复    2023-05-11 14:56:25 +08:00
    24owls
        1
    24owls  
       2023-05-11 13:10:01 +08:00 via iPhone
    goto 就好了

    用 iptables 而不是 nft 是有什么特殊考虑吗
    acbot
        2
    acbot  
    OP
       2023-05-11 14:56:25 +08:00
    @24owls 延承问题!
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1028 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 22ms · UTC 19:19 · PVG 03:19 · LAX 11:19 · JFK 14:19
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.