我想限制传出networking访问(除了到本地主机的连接)到TCP和UDP通过Tor,并阻止其他所有东西(除了Tor应用程序和本地主机连接)。 目标是将用户限制为localhost和*.onion地址,为此Tor创build一个虚拟地址networking10.192.0.0/10(使用torrc文件中的VirtualAddrNetwork选项)。
这里是我目前的iptables-save:
*mangle :PREROUTING ACCEPT [0:0] :INPUT ACCEPT [0:0] :FORWARD ACCEPT [0:0] :OUTPUT ACCEPT [0:0] :POSTROUTING ACCEPT [0:0] COMMIT *nat :PREROUTING ACCEPT [0:0] :POSTROUTING ACCEPT [0:0] :OUTPUT ACCEPT [0:0] -A OUTPUT -d 10.192.0.0/10 -p tcp -j REDIRECT --to-ports 9040 -A OUTPUT ! -o lo -p tcp -m tcp -m owner ! --uid-owner debian-tor -j REDIRECT --to-ports 9040 -A OUTPUT ! -o lo -p udp -m udp --dport 53 -m owner ! --uid-owner debian-tor -j REDIRECT --to-ports 53 COMMIT *filter :INPUT ACCEPT [0:0] :FORWARD ACCEPT [0:0] :OUTPUT ACCEPT [0:0] -A OUTPUT -m owner --uid-owner debian-tor -j ACCEPT -A OUTPUT -p tcp -m tcp --dport 9040 -j ACCEPT -A OUTPUT -p udp -m udp --dport 53 -j ACCEPT -A OUTPUT -m state --state RELATED,ESTABLISHED -j ACCEPT -A OUTPUT ! -o lo -j DROP -A OUTPUT -p icmp -j REJECT --reject-with icmp-port-unreachable COMMIT
我试着在*filter的开头添加这个,在其余的规则之前,但是所有的连接都失败了:
-A OUTPUT -o lo -j ACCEPT -A OUTPUT ! -d 10.192.0.0/10 -m owner ! --uid-owner debian-tor -j REJECT
为什么上面的代码中的第二行阻止所有的stream量? 什么是适当的规则如下: