我正在尝试使用 cgroups2 设置 TCP 透明代理:
iptables -t nat -A OUTPUT -p tcp -m cgroup --path test --syn -j DNAT --to-destination 10.0.0.1:10000
iptables -A INPUT -p tcp -m cgroup --path test --syn -j ACCEPT
iptables A INPUT -m cgroup --path test -j DROP
iptables -A OUTPUT -p tcp -m cgroup --path test --syn -j ACCEPT
iptables -A OUTPUT -m cgroup --path test -j DROP
透明代理已在 10.0.0.1:10000 启动并运行(必须是这个地址,而不是环回地址)。
当我尝试通过代理访问外部地址时,会出现超时:
echo $$ >> /sys/fs/cgroup/test/cgroup.procs
sudo -u ${SUDO_USER} w3m 1.1.1.1
w3m: Can't load 1.1.1.1.
当我删除-j 删除线条,它起作用了。
我的问题是:
我应该添加什么样的规则来阻止来自 cgroup 的所有非 TCP 流量并仅释放 TCP?