开发者生态
morning
如何创建 Tor 退出节点
2026-09-05
1 阅读
约8分钟阅读
Eridanus2
字号:
这将是一个关于如何为 Tor 网络配置退出节点的快速教程。这样做会给运营商带来一些固有的风险,但退出节点对于将 Tor 与“清晰的网络”桥接至关重要。如果没有出口节点,任何遭受 ISP 过滤的人或那些不希望记录其互联网活动的人(BBC 文章)都无法利用 Tor 访问互联网。与网桥不同,出口节点(和普通中继)是众所周知的设备,其 IP 地址和配置可供任何人查看。他们代表始发(匿名)客户端有效地建立与目的地的最终连接。 Tor 网络严重缺乏出口节点,但这是有充分理由的。因为它们是链中的最后一跳,所以它们将与 Tor 用户请求的任何网站或服务建立数百个出站连接。因此,当权者很容易指责出口节点运营商“做坏事”,而实际上他们的节点只是参与网络,就像任何网络中的传统路由器一样。不管怎样,假设你有钢球并且愿意运行一个出口节点,我将看看如何以尽可能少的麻烦来做到这一点。在我们开始之前,让我先澄清一下,由于来自 ISP 和权力机构的骚扰,在家中运行此程序可能很危险。尽管您这样做并没有违反任何法律,但您却充当了 Tor 流量的出口点,并且您无法控制全球 250 万 Tor 用户将要做什么。如果您确实遇到骚扰,请保持冷静并知道自己没有做错任何事。如果需要的话,有很多信息可以为您提供帮助。您可能面临的另一个问题是声誉问题。一些网站会阻止退出节点,而其他网站则会要求验证码(例如 cloudflare CDN 和 Google,如果它看到大量流量)。首先,假设您有一台可用的 Linux 机器,我将使用 Ubuntu 14.04 (Trusty)。其次,假设您在沼泽标准路由器后面进行 NAT。我们需要安装tor和tor-arm。为此,我们需要添加 Tor 存储库: echo 'deb http://deb.torproject.org/torproject.org trusty main' >> /etc/apt/sources.list echo 'deb-src http://deb.torproject.org/torproject.org trusty main' >> /etc/apt/sources.list 接下来,安装存储库的 GPG 密钥: gpg --keyserver keys.gnupg.net --recv 886DDD89 gpg --导出 A3C4F0F979CAA22CDBA8F512EE8CBC9E886DDD89 | sudo apt-key add - 现在安装 tor、tor-arm、curl、vnstat、nginx 和 socat: apt-get update apt-get install tor tor-arm vnstat vnstati nginx curl socat Weyhey,Tor 已安装。默认情况下,它充当客户端,因此我们需要将其设置为退出节点。将 /etc/tor/torrc 的内容替换为基本中继配置。 curl -o /etc/tor/torrc https://madpsy.uk/wp-content/uploads/2015/11/torrc.txt 示例配置如下所示: ORPort 127.0.0.1:9001 NoAdvertise ORPort 443 NoListen DirPort 9030 昵称 TorExit RelayBandwidthRate 100 KB RelayBandwidthBurst 100 KB ContactInfo [email protected] DisableDebuggerAttachment 0 ExitPolicy Accept *:20-23 # FTP, SSH, telnet ... ... ExitPolicy拒绝*:* 编辑/etc/tor/torrc并在“ContactInfo”旁边设置您的电子邮件地址。您可能还希望将“RelayBandwidthRate”和“RelayBandwidthBurst”设置为其他值,具体取决于您的互联网连接速度。示例值为 100 KB(每秒千字节),这对于典型的 ADSL 宽带连接来说是足够的。您会注意到“DirPort”也已设置,启用该节点作为目录服务器 - 如果您不想要,请删除该行。接下来,我们需要运行 socat 将端口 443 流量重定向到本地主机端口 9001。这是因为有用的 Entry Guard(中继将接受传入连接以及作为退出节点)需要在每个 Tor 用户可能可用的端口上运行。端口 443 是 HTTPS,因此是一个明智的选择。问题是 Tor 不以 root 身份运行,并且在尝试绑定到端口 443 时会被拒绝权限。因此,它在本地绑定到 9001,我们将使用“socat”重定向流量。要运行 socat: /usr/bin/socat TCP-LISTEN:443,fork,su=nobody TCP:127.0.0.1:9001 & 我们需要确保它在重新启动时启动,因此我们将其添加到 root 的 crontab 中。 echo '@reboot /usr/bin/socat TCP-LISTEN:443,fork,su=nobody TCP:127.0.0.1:9001 &' >> /var/spool/cron/crontabs/root 快完成了!最后,我们需要通过 HTTP 提供“关于此节点”页面,以便任何查询此节点的人都能够找到答案。注意:您也可以使用“DirPortFrontPage”执行类似的操作,但我不认为它会让您轻松添加其他内容(例如带宽图)。将默认的 nginx 页面替换为官方 Tor 退出节点页面。卷曲-o /usr/share/nginx/html/index.html https://madpsy.uk/wp-content/uploads/2015/11/tor-exit-node.txt 卷曲-o /usr/share/nginx/html/how_tor_works_thumb.png https://madpsy.uk/wp-content/uploads/2015/11/how_tor_works_thumb.png 编辑/usr/share/nginx/html/index.h
这篇文章对您有帮助吗?
订阅66必读
每日精选科技资讯,直达你的邮箱