跳转到内容

如何保护您的网络匿名性和隐私/TOR VPN

来自维基教科书,开放世界中的开放书籍

TOR 只发布了有关 Linux 中 VPN 模式 的说明,该模式称为透明代理,通过 TOR 透明地路由所有网络流量。

不建议使用 Vidalia,因为它默认情况下没有足够的系统权限。首先使用多种特定于发行版的其中一种方法安装 TOR。默认情况下,TOR 作为守护程序运行,并具有 root 权限。

例如,在 Ubuntu 中,将以下行添加到 /etc/tor/torrc

VirtualAddrNetwork 10.192.0.0/10
AutomapHostsOnResolve 1
TransPort 9040
DNSPort 53

这将指示 TOR 在端口 9040 上转发重定向的流量,并在端口 53 上转发域名服务器请求。如果 TOR 对 DNS 端口的权限不足,它将失败。您可以通过省略 DNSPort 行来使用任何现有的 DNS 服务器,但这不如 TOR 安全。

要重定向所有应用程序的网络流量,可以使用 Linux 防火墙 iptables

sudo iptables -t nat -A OUTPUT -p tcp -m owner --uid-owner bob -m tcp -j REDIRECT --to-ports 9040
sudo iptables -t nat -A OUTPUT -p udp -m owner --uid-owner bob -m udp --dport 53 -j REDIRECT --to-ports 53
sudo iptables -t filter -A OUTPUT -p tcp -m owner --uid-owner bob -m tcp --dport 9040 -j ACCEPT
sudo iptables -t filter -A OUTPUT -p udp -m owner --uid-owner bob -m udp --dport 53 -j ACCEPT
sudo iptables -t filter -A OUTPUT -m owner --uid-owner bob -j DROP

除非您的 Linux 发行版非常旧,否则这将起作用。只需要第一个命令来测试 VPN 功能,将所有网络流量重定向到端口 9040,TOR 在那里监听。重定向仅适用于名为 bob 的用户。重定向后,您需要重新启动 TOR

/etc/init.d/tor restart

然后您可以以 bob 的身份登录并启动浏览器,例如,并在任何代理测试站点上检查您的外部 IP。

用户 bob 可以是您自己。在这种情况下,您需要将 iptables 重置为先前状态,以便在不需要 TOR VPN 时使用。另一种方法是在需要 TOR VPN 时以不同的用户身份登录,其中重定向被设置为“永久”的。

重定向 DNS 端口 53 是可选的,但更安全。即使您 ISP 的观察者也不会知道您访问了哪些网站。其他防火墙规则会阻止其他流量,以防止泄漏。

这些规则可以存储在 shell 脚本中,并在需要 TOR VPN 时执行。系统重启后将应用默认防火墙规则。要设置始终打开 TOR VPN 的用户,请将上述脚本复制到(对于 Ubuntu)

/etc/init.d/bobsvpn

为了进一步防止 DNS 泄漏,在 Ubuntu 中,您需要更改 /etc/resolvconf/run/resovl.conf 中的文件内容为

nameserver 127.0.0.1

这将强制所有用户使用 TOR 作为 DNS 服务器。更改网络设置后,有时您需要刷新网络接口

sudo ifdown -a
sudo ifup -a

当然,TOR DNS 会更慢,而且您不想在不使用 TOR 时保留原始的 resolv.conf 文件。

无法直接撤消防火墙规则。为了避免系统重启,您可以在使用 TOR 之前存储防火墙状态

sudo iptables-save > rulefile

并在使用 TOR 后恢复规则

sudo iptables-restore < rulefile

可以向无法成为超级用户的人授予权限,并向脚本授予超级用户权限而不询问密码。您只能通过以下方式编辑配置文件

sudo visudo

如果您犯了任何错误,您可能需要以 root 身份在恢复模式下重启才能纠正它。可以将安全脚本授予不需要 su 密码的权限,方法是在其中添加以下行

bob ALL = NOPASSWD:/home/bob/bin/scriptX, /usr/bin/scriptY
华夏公益教科书