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

iptables 在 OUTPUT 里使用 cgroup 匹配的连接在-j MARK 后似乎没有重路由

  •  
  •   Smokovsky · 21 天前 · 540 次点击

    如题,例子:

    # Generated by iptables-save v1.8.10 (nf_tables) on Sun May 26 07:35:13 2024
    *mangle
    :PREROUTING ACCEPT [3938050:2380423593]
    :INPUT ACCEPT [47464987:94663961441]
    :FORWARD ACCEPT [89904:8730904]
    :OUTPUT ACCEPT [40543507:96091968422]
    :POSTROUTING ACCEPT [40624330:96099741064]
    :DIVERT - [0:0]
    :XRAY - [0:0]
    :XRAY_MASK - [0:0]
    -A PREROUTING -p tcp -m socket -j DIVERT
    -A PREROUTING -j XRAY
    -A OUTPUT -j XRAY_MASK
    -A DIVERT -j MARK --set-mark 1
    -A DIVERT -j ACCEPT
    # -A XRAY -m mark --mark 1 -j DROP # 有效,会导致本机断网
    # -A XRAY -m mark --mark 2 -j DROP # 无效,没有匹配到任何流量,aria2.service 也能正常连网
    -A XRAY -m mark --mark 0xff -j RETURN
    -A XRAY -d 223.5.5.5/32 -j RETURN
    -A XRAY -d 192.168.240.0/24 -j RETURN
    -A XRAY -d 127.0.0.0/24 -j RETURN
    -A XRAY -d 224.0.0.0/4 -j RETURN
    -A XRAY -d 255.255.255.255/32 -j RETURN
    -A XRAY -d 192.168.239.0/24 -p tcp -j RETURN
    -A XRAY -d 192.168.239.0/24 -p udp -j RETURN
    # ↓ 为 aria2 单独配置代理,但是不工作
    -A XRAY -m mark --mark 2 -p tcp -j TPROXY --on-port 1089 --on-ip 127.0.0.1 --tproxy-mark 1
    -A XRAY -m mark --mark 2 -p udp -j TPROXY --on-port 1089 --on-ip 127.0.0.1 --tproxy-mark 1
    -A XRAY -p udp -j TPROXY --on-port 1088 --on-ip 127.0.0.1 --tproxy-mark 1
    -A XRAY -p tcp -j TPROXY --on-port 1088 --on-ip 127.0.0.1 --tproxy-mark 1
    -A XRAY_MASK -m conntrack --ctdir REPLY -j RETURN
    -A XRAY_MASK -m mark --mark 0xff -j RETURN
    -A XRAY_MASK -d 223.5.5.5/32 -j RETURN
    -A XRAY_MASK -d 192.168.240.0/24 -j RETURN
    -A XRAY_MASK -d 127.0.0.0/24 -j RETURN
    -A XRAY_MASK -d 224.0.0.0/4 -j RETURN
    -A XRAY_MASK -d 255.255.255.255/32 -j RETURN
    -A XRAY_MASK -d 192.168.239.0/24 -p tcp -j RETURN
    -A XRAY_MASK -d 192.168.239.0/24 -p udp -j RETURN
    # ↓ 匹配到了流量,但是似乎没有在 XRAY chain 里进行重路由
    -A XRAY_MASK -m cgroup --path "/system.slice/aria2.service" -j MARK --set-mark 2
    -A XRAY_MASK -p udp -j MARK --set-mark 1
    -A XRAY_MASK -p tcp -j MARK --set-mark 1
    COMMIT
    # Completed on Sun May 26 07:35:13 2024
    # Generated by iptables-save v1.8.10 (nf_tables) on Sun May 26 07:35:13 2024
    *filter
    :INPUT ACCEPT [47464985:94663961243]
    :FORWARD ACCEPT [89903:8730876]
    :OUTPUT ACCEPT [40534420:96091009174]
    :DOCKER - [0:0]
    :DOCKER-ISOLATION-STAGE-1 - [0:0]
    :DOCKER-ISOLATION-STAGE-2 - [0:0]
    :DOCKER-USER - [0:0]
    -A FORWARD -j DOCKER-USER
    -A FORWARD -j DOCKER-ISOLATION-STAGE-1
    -A FORWARD -o docker0 -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
    -A FORWARD -o docker0 -j DOCKER
    -A FORWARD -i docker0 ! -o docker0 -j ACCEPT
    -A FORWARD -i docker0 -o docker0 -j ACCEPT
    -A DOCKER-ISOLATION-STAGE-1 -i docker0 ! -o docker0 -j DOCKER-ISOLATION-STAGE-2
    -A DOCKER-ISOLATION-STAGE-1 -j RETURN
    -A DOCKER-ISOLATION-STAGE-2 -o docker0 -j DROP
    -A DOCKER-ISOLATION-STAGE-2 -j RETURN
    -A DOCKER-USER -j RETURN
    COMMIT
    # Completed on Sun May 26 07:35:13 2024
    # Generated by iptables-save v1.8.10 (nf_tables) on Sun May 26 07:35:13 2024
    *nat
    :PREROUTING ACCEPT [653605:112402271]
    :INPUT ACCEPT [463059:49309506]
    :OUTPUT ACCEPT [701626:54916380]
    :POSTROUTING ACCEPT [348272:27059931]
    :DOCKER - [0:0]
    -A PREROUTING -m addrtype --dst-type LOCAL -j DOCKER
    -A OUTPUT ! -d 127.0.0.0/8 -m addrtype --dst-type LOCAL -j DOCKER
    -A POSTROUTING -s 192.168.239.0/24 ! -d 192.168.239.0/24 -o eth0 -j MASQUERADE
    -A POSTROUTING -s 192.168.240.0/24 ! -o wg1 -j MASQUERADE
    -A DOCKER -i docker0 -j RETURN
    COMMIT
    # Completed on Sun May 26 07:35:13 2024
    
    目前尚无回复
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2895 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 28ms · UTC 13:50 · PVG 21:50 · LAX 06:50 · JFK 09:50
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.