我尝试使用这些规则,iptables
但在我使用相同的规则后ip6tables
,它阻止了一切。
为什么我的ip6tables
规则会阻止一切?
iptables -F OUTPUT
iptables -A OUTPUT -j ACCEPT -m owner --uid-owner debian-tor
iptables -A OUTPUT -j ACCEPT -o lo
iptables -P OUTPUT DROP
ip6tables -F OUTPUT
ip6tables -A OUTPUT -j ACCEPT -m owner --uid-owner debian-tor
ip6tables -A OUTPUT -j ACCEPT -o lo
ip6tables -P OUTPUT DROP
答案1
要阻止 IPv4 和 IPv6 上除 Tor 之外的所有传出流量,您可以使用以下规则:
iptables -F OUTPUT
iptables -A OUTPUT -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
iptables -A OUTPUT -o lo -j ACCEPT
iptables -A OUTPUT -p icmp -j ACCEPT
iptables -A OUTPUT -m owner --uid-owner debian-tor -j ACCEPT
iptables -A OUTPUT -j DROP
ip6tables -F OUTPUT
ip6tables -A OUTPUT -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
ip6tables -A OUTPUT -o lo -j ACCEPT
ip6tables -A OUTPUT -p icmpv6 -j ACCEPT
ip6tables -A OUTPUT -m owner --uid-owner debian-tor -j ACCEPT
ip6tables -A OUTPUT -j DROP
在ip6tables
规则中,您允许传出 ICMPv6 流量,以确保仍然允许重要的网络协议(例如邻居发现和路由器通告)。这是 IPv6 连接所必需的。
答案2
我已经解决了 Firefox 代理设置的问题:使用 SOCKS v5 时未检查代理 DNS
因此原始 iptables 的设置无需启用 icmpv6 即可工作