如题,例子:
# 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