iptables v1.8.2 (nf_tables): RULE_APPEND が失敗しました (無効な引数): チェーン内のルール OUTPUT

iptables v1.8.2 (nf_tables): RULE_APPEND が失敗しました (無効な引数): チェーン内のルール OUTPUT

Debian 10 で次の iptable ルールを適用しようとしています:

ip rule add fwmark 1 table 100
ip route add local 0.0.0.0/0 dev lo table 100


iptables -t mangle -N V2RAY
iptables -t mangle -A V2RAY -d 127.0.0.1/32 -j RETURN
iptables -t mangle -A V2RAY -d 224.0.0.0/4 -j RETURN
iptables -t mangle -A V2RAY -d 255.255.255.255/32 -j RETURN
iptables -t mangle -A V2RAY -d 192.168.0.0/16 -p tcp -j RETURN 
iptables -t mangle -A V2RAY -d 192.168.0.0/16 -p udp ! --dport 53 -j RETURN 
iptables -t mangle -A V2RAY -p udp -j TPROXY --on-port 12345 --tproxy-mark 1 
iptables -t mangle -A V2RAY -p tcp -j TPROXY --on-port 12345 --tproxy-mark 1 
iptables -t mangle -A PREROUTING -j V2RAY 


iptables -t mangle -N V2RAY_MASK
iptables -t mangle -A V2RAY_MASK -d 224.0.0.0/4 -j RETURN
iptables -t mangle -A V2RAY_MASK -d 255.255.255.255/32 -j RETURN
iptables -t mangle -A V2RAY_MASK -d 192.168.0.0/16 -p tcp -j RETURN 
iptables -t mangle -A V2RAY_MASK -d 192.168.0.0/16 -p udp ! --dport 53 -j RETURN 
iptables -t mangle -A V2RAY_MASK -j RETURN -m mark --mark 0xff   
iptables -t mangle -A V2RAY_MASK -p udp -j MARK --set-mark 1  
iptables -t mangle -A V2RAY_MASK -p tcp -j MARK --set-mark 1   
iptables -t mangle -A OUTPUT -j V2RAY_MASK

しかし最後にエラーが発生:

 iptables v1.8.2 (nf_tables):  RULE_APPEND failed (Invalid argument): rule in chain OUTPUT

答え1

Debian 9 -> 10 にアップグレードした後にこの問題が発生しました。問題は古いカーネル (4.9) にあり、カーネルを 4.19 (Debian 10 の標準) にアップグレードすることで解決しました。

答え2

OUTPUT最後のルールでは、チェーンをチェーンで結合しますV2RAY_MASK。これは間違っていると思います-t mangle

iptables -A OUTPUT -j V2RAY_MASK

関連情報