如何通过 Tor(洋葱路由器)路由所有互联网流量?

use*_*493 19 routing internet tor

你能解释一下如何通过tor路由所有互联网流量吗?我正在使用 Ubuntu 我真的不知道该怎么做。实际上我只在 twitter 上使用 Tor,我担心 DNS 泄漏。所以我需要通过tor路由所有东西。

inn*_*rld 16

您正在寻找这个:TransparentProxy

通过 Tor 的本地重定向

添加到您的 torrc:

VirtualAddrNetwork 10.192.0.0/10
AutomapHostsOnResolve 1
TransPort 9040
DNSPort 53
Run Code Online (Sandbox Code Playgroud)

通过这种方式,您可以在 Ubuntu 上的端口 53 和透明代理:127.0.0.1:9040 上设置 DNS 服务器。

接下来,添加到您的 /etc/resolv.conf

nameserver 127.0.0.1
Run Code Online (Sandbox Code Playgroud)

这样,您可以防止系统中的任何 DNS 泄漏。

因此,请根据除了 Tor 用户之外的任何连接都将通过 TransPort 来配置您的防火墙:

#!/bin/sh

# destinations you don't want routed through Tor
NON_TOR="192.168.1.0/24 192.168.0.0/24"

# the UID Tor runs as
TOR_UID="109"

# Tor's TransPort
TRANS_PORT="9040"

iptables -F
iptables -t nat -F

iptables -t nat -A OUTPUT -m owner --uid-owner $TOR_UID -j RETURN
iptables -t nat -A OUTPUT -p udp --dport 53 -j REDIRECT --to-ports 53
for NET in $NON_TOR 127.0.0.0/9 127.128.0.0/10; do
 iptables -t nat -A OUTPUT -d $NET -j RETURN
done
iptables -t nat -A OUTPUT -p tcp --syn -j REDIRECT --to-ports $TRANS_PORT

iptables -A OUTPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
for NET in $NON_TOR 127.0.0.0/8; do
 iptables -A OUTPUT -d $NET -j ACCEPT
done
iptables -A OUTPUT -m owner --uid-owner $TOR_UID -j ACCEPT
iptables -A OUTPUT -j REJECT
Run Code Online (Sandbox Code Playgroud)

继续阅读官方维基,有一种针对这种方法和解决方案的攻击IsolatingProxy