更新日期:

如何在pfSense上建立Tor代理服务器

作者:

山姆是一家算法交易公司的网络分析师。他获得了UMKC的信息技术学士学位。

为什么你应该使用tor

任何想要保护自己身份和位置的人都应该通过Tor网络

一旦Internet请求离开计算机,它会通过多个不同的网络。在任何时候,这些数据都可以被任何这些中间点拦截,没有您知道您的数据受到损害。

当互联网流量通过Tor时,它会通过多个随机选择的中继自动加密和解密。

最终继电器或退出节点解密最终加密层并将原始数据发送到预期目的地。

由于数据在传输过程中被加密保护,你的信息就不会被窥探。

通过设置Tor代理pfSense您可以轻松地允许多个用户在您的家庭或企业网络上安全地传输数据。

下载并安装Tor包

因为Tor不是官方支持的pfSense包,所以不能通过pfSense包管理器安装它。相反,必须使用pkg_add命令手动安装它。

此命令可以通过SSH终端,或通过web界面中的diagnostics\命令提示页面。

pkg_add -r ftp://ftp-archive.freebsd.org/pub/freebsd-archive/ports/i386/packages-8.1-release/latest/tor-devel.tbz.

成功安装后将显示如下图所示的消息。

通过命令提示符使用pkg_add命令安装tor包。"decoding=

通过命令提示符使用pkg_add命令安装tor包。

Libevent错误消息

如果安装程序在系统上检测到libevent的冲突版本,您可能会收到一条警告消息。一些pfSense包(如ntop)安装了libevent版本,这会导致Tor无法启动。

为了让Tor正常工作,你需要移除libevent的任何现有版本,然后重新安装Tor包。

列出系统上安装的libevent的任何版本:

Pkg_info | grep libevent

libevent-1.4.14b_1提供一个API,在特定的ev上执行回调函数
libevent-1.4.14b_2提供一个API,用于在某些ev上执行回调函数
libevent2-2.0.16用于在事件或超时时执行回调函数的API

如果检测到任何冲突的版本,请使用以下命令删除它们:

pkg_delete libevent-1.4.14b_1

pkg_delete libevent-1.4.14b_2

pkg_delete libevent2-2.0.16

如果您看到一个错误消息,说明该包不能被卸载,并且其他包也需要它,那么您必须删除依赖它的包。

Pkg_delete:包'libevent-1.4.14b_1'是这些其他包需要的
并且不能被卸载:
ntop-5.0.1

pkg_delete ntop-5.0.1

创建所需目录和日志文件

Tor需要在启动之前创建两个目录,运行下面的命令来创建它们。

mkdir / var / db / tor
mkdir /var/run/tor

Tor还需要在它开始之前创建日志文件。

触摸/var/log/tor

最后,我们必须将Tor用户设置为目录和日志文件的所有者。

chown -R _tor /var/db/tor/
chown -r _tor / var / log / tor
乔恩_tor /var/run/tor

编辑配置文件

Tor包包含一个默认配置文件,可以作为大多数用户的良好起点。

下面的命令将在与示例相同的目录中创建一个名为torrc的默认配置文件副本。


Cp /usr/local/etc/tor/torrc.sample / usr / local / etc / tor / torc

配置文件中有几行需要修改。

您可以使用Vi编辑器通过命令行进行这些更改,但我发现在诊断菜单中的web gui中使用文件编辑器要容易得多。

在/usr/local/etc/tor/torrc文件中,通过删除行首的#符号来取消下面两行代码的注释。修改第二行ip地址,以反映pfSense路由器的局域网ip地址。

sockslistenaddress 127.0.0.1:9100

SocksListenAddress 192.168.0.1:9100

为了以守护程序模式运行,您也需要取消注释以下行。

Runasdaemon 1.

在web界面中使用文本编辑器编辑Tor配置文件。"decoding=

在web界面中使用文本编辑器编辑Tor配置文件。

编辑“rc.conf”文件

Tor将无法启动并显示错误消息,除非在rc.conf文件中tor_enable被设置为'yes'。下面的命令将把所需的条目添加到rc.conf文件的底部。

Echo "tor_enable=yes" >> /etc/defaults/rc.conf

创建Tor启动脚本

当pfSense启动时,系统将自动运行任何以.sh文件扩展名为/usr/local/etc/rc.d的脚本要允许Tor在引导时运行,必须创建脚本,并修改权限以使其可执行。

下面的命令将创建创建tor.sh启动脚本,并使脚本可执行。

触摸/usr/local/etc/rc.d/tor.sh

chmod + x/usr/local/etc/rc.d/tor.sh

创建脚本后,将下面代码部分中的内容复制并粘贴到文件中并保存它。

这个步骤可以使用vi文本编辑器(vi /usr/local/etc/rc.d/tor.sh)或基于web的文件编辑器来完成。

Tor.sh.

#!/ bin / shrc_start() {/usr/当地的/etc/rc.d / tor馅饼rc_stop.() {/usr/当地的/etc/rc.d / tor停止情况下$1开始)rc_start;;停止)rc_stop.;;重启)rc_stop.rc_start;;esac

启动Tor服务

现在,启动Tor服务的所有步骤都已经就绪。运行上一步创建的init脚本,使用'start'参数启动Tor。

/usr/local/etc/rc.d/tor.sh启动

如果Tor守护进程成功启动,您将看到与下面类似的消息。如果您没有看到这条消息,您可能会收到一条错误消息,它将提供Tor无法启动的线索。

在192.168.10.254:9100上打开Socks监听器

使用启动脚本启动TOR服务。"decoding=

使用启动脚本启动TOR服务。

设置代理服务器

此时,Tor守护进程应该已经启动并运行了,但我们还没有完全完成。

如果你试图在浏览器中配置服务器的IP和端口作为代理,你会收到一条消息,说“Tor不是一个HTTP代理”。

因为Tor是袜子代理它运行在一个较低的水平,然后大多数web代理服务器,这使得它有必要运行一个单独的web代理服务器除了Tor守护进程。

不幸的是,受欢迎的鱿鱼代理服务器不支持SOCKS协议,除非它是从源代码编译.我推荐的,而不是重新编译鱿鱼安装Polipo缓存代理服务

Polipo是一种非常快速、轻量级的代理服务,它支持SOCKS和其他一些非常酷的特性,如HTTP管道和部分对象缓存。

Tor不是一个HTTP代理错误消息。"decoding=

Tor不是一个HTTP代理错误消息。

配置Tor作为Polipo的上游代理

安装Polipo之后,必须将其配置为使用Tor守护进程作为父代理服务器。编辑Polipo配置文件(/usr/local/etc/ Polipo /config)并取消下面两行代码的注释。

socksParentProxy = " localhost: 9100 "

socksProxyType = socks5

一旦进行了编辑,将更改保存到此文件。

编辑Polipo配置文件以支持上游Tor代理。"decoding=

编辑Polipo配置文件以支持上游Tor代理。

在对配置文件的更改被修改之后,必须重新启动Polipo服务以应用更改。

/usr/local/etc/rc.d/polipo.sh重启

测试Tor代理

现在Tor正在运行并且Polipo已被配置为使用Tor作为父权代理,一切都在进行测试!

如果您还没有这样做,请配置您的浏览器指向端口8123 (Polipo的默认端口)上的pfSense的LAN IP地址。

确认你的网络流量是通过洋葱网络访问转发的https://check.torproject.org/.此页面将对您的连接运行测试,以确定它是否正在使用Tor网络。如果您的流量通过Tor成功,您将看到下面显示的消息。

确认Tor正在使用在线测试页面工作。"decoding=

确认Tor正在使用在线测试页面工作。

导致Tor

由于洋葱网络是由志愿者运营的,你对这个项目做出贡献的最好方式就是操作你自己的Tor继电器

任何有可靠互联网连接的人都可以通过在继电器模式下运行Tor来操作继电器。额外的Tor继电器增加了整个Tor网络的速度和可靠性。

用比特币进一步保护您的身份

一旦您开始使用Tor以获取匿名,您可能希望通过使用比特币购买来考虑保护您的财务信息。

你可以很容易地比特币购买(或我自己的)使匿名购买成为可能。

比特币像现金一样消费,但可以通过互联网立即传输到世界上的任何地方。

就作者所知,这篇文章是准确而真实的。内容仅用于信息或娱乐目的,不替代个人咨询或商业、金融、法律或技术问题的专业意见。

©2013 Sam Kear

注释

2020年2月23日:

我想你的tor脚本有一个错误。它说“挞”,我认为它应该说“开始”:所以复制/粘贴可能不工作?

匿名2019年12月25日:

非常感谢你出色的导游。我正在从一个同事那里收到的一些二手Watchguard Firebox电器上安装这个。pfSense可以通过CompactFlash安装在它们上,这让它们再次变得可用和优秀。

凯恩2017年4月25日:

@Yehiel参孙

安装snort,在LAN(或VLAN)接口上启动它,启用TOR策略规则,并将其设置为block?

Yehiel Samson.2017年3月6日:

另外的问题,我已经设置了不同的VLAN来测试所有的选项(阻塞,允许流量等…)。

但是在使用Squid和SquidGuard让它成为一个安全网络(SafeSearch, OpenVPN等等)的时候,我注意到TOR并没有被屏蔽。

从网上看,没有办法阻止洋葱网络。你有解决办法吗?

Yehiel Samson.2017年3月4日:

你好,

我有pfSense 2.3.3,在第一步(安装包)我卡住了。

内核版本:10.3-RELEASE-p16

pfSense 2.3.3版本不支持pkg_add。

现在它是“pkg添加”。

我试着寻找最新版本的“tor-devel”,我找到了它的10-current。

但在尝试安装时:

pkg添加ftp://92.53.112.226/freebsd/ports/amd64/packages-1..。

我收到以下……

包裹:/ tmp / tor-devel.tbz。XXXXX不是一个有效的包:没有发现清单

安装以下1个包失败:ftp://92.53.112.226/freebsd/ports/amd64/packages-1..。

任何建议吗?

PS,我也尝试了你提出的版本,但是我收到了相同的错误

msurg2016年10月23日:

pfSense 2.3.2如何安装?

EdwinGarzon2016年7月29日:

如何安装在pfsense 2.3.2,帮助!!!

Stremenx2016年5月30日:

如何安装pfSense 2.3.1 help…

山姆Kear(作家)来自堪萨斯城2015年11月14日:

@Chad

在pfSense 2。您需要首先安装PKG命令。有关引导pkg的信息,请参阅下面的链接。

https://doc.pfsense.org/index.php/Installing_FreeB..。

乍得2015年11月14日:

我使用Pfsense 2.5.5,在shell中找不到pkg_add命令。

一位2015年7月25日:

如何我可以使用只有https流量和没有配置使用鱿鱼?

谢谢你的帮助。

布兰登自2015年7月24日起:

太好了。谢谢

阿拉丁洞穴2015年6月21日澳大利亚墨尔本:

我想做的正是这个中心的意义所在。

但是,我得先回学校了,如果我能换就好了

调制解调器开/关开关:)

如果你在墨尔本,来找我,我有个小工作给你,呵呵

欢呼声从人间天堂吧

Julioqc.2015年3月26日:

ftp://ftp.freebsd.org/pub/FreeBSD/ports/i386/packa..。

戴夫2014年9月6日:

您能否让我们知道如何配置以充当继电器?

barbambea2014年4月28日:

@CHRIS使用:

ftp://ftp.freebsd.org/pub/FreeBSD/ports/i386/packa..。

Kiddo.2014年3月8日:

很好,但这个网站不能浏览与tor。

lpdourado2014年2月20日:

这就跟你问声好!

已经不是问题了。我已经解决了。

我删除文件夹/ var / log / tor并使用touch命令正确创建日志文件,并将权限提供给日志文件。

谢谢你!

lpdourado2014年2月20日:

这就跟你问声好!

首先,这是一个伟大的教程,简要说明了任何类型的命令。做得好!

我没法启动洋葱网络。

当我开始时,发生了一个错误:

"[warn] Couldn't open the file for 'Log notice file /var/log/tor': Is a directory"

可以帮助我这个错误吗?

谢谢

Le越南Tran2014年1月24日,安大略省布兰普顿:

我在运行/usr/local/etc/rc.d/tor.sh启动后意识到系统将我作为root踢出,并将我登录为_tor用户。但是tor实际上没有运行。如果我使用命令“polipo &&&& tor”作为root运行,我可以获得Tor和Polipo来运行。

Le越南Tran2014年1月23日,安大略省布兰普顿:

这是运行/usr/local/etc/rc.d/tor.sh start后得到的结果

无法打开“日志通知文件/var/log/tor”:权限被拒绝

我正在运行的版本是2.1-RELEASE (i386)

2013年11月23日:

@create符号链接来修复

ln - s /usr/local/lib/event2/libevent-2.0.so。6 /usr/lib/libevent-2.0.so.6

安德里亚2013年11月17日:

感谢这本指南!我可以安装和运行tor,但我有一个问题:我得到了所有正确的消息后启动tor的第一次,但当我重新启动pfsense,我不能运行tor,错误是:

libevent-2.0.so共享对象”。6"未找到,tor要求。

但是,如果我搜索“libevent-2.0.so.6”我发现它在./usr/local/lib/event2/libevent-2.0.so.6

我尝试卸载tor和libevent,结果是一样的:一开始一切都是正确的,但当我重启pfSense时,出现了错误(与相同的错误)。

我运行pfSense 2.1 (freebsd 8.3)并通过pkg_add -r tor安装tor

山姆Kear(作家)2013年9月2日在堪萨斯城:

@0scar

谢谢你帮我调试这个问题。我在上面增加了一个叫做“Libevent错误消息”的部分,以防其他人遇到同样的问题。

0的伤疤2013年9月2日:

我给你寄了一封邮件

谢谢

山姆Kear(作家)2013年9月2日在堪萨斯城:

@0scar

我运行的版本和你使用的是一样的,我似乎不能复制的问题。您可能安装了另一个提供冲突版本libevent的软件包。

你能试着从pfSense中移除其他包并重新安装tor包吗?

您可以通过运行以下命令来移除当前tor安装:

pkg_delete tor-devel-0.2.2.13.a

如果您正在运行不同的版本,可以使用此命令查找已安装的版本:

pkg_info

0的伤疤2013年9月1日:

2.0.3-RELEASE (amd64)

建于2013年美国东部时间4月12日星期五10:27:56

FreeBSD 8.1-Release-P13

山姆Kear(作家)2013年9月1日在堪萨斯城:

@0scar

您使用的是pfSense的哪个版本?

0的伤疤2013年9月1日:

, (

/usr/local/etc/rc.d/tor启动

开始tor。

/ libexec / ld-elf.so。1:共享对象libevent-1.4.so。3"未找到,由"tor"要求

/usr/local/etc/rc.d/tor: WARNING: failed to start tor . /启动tor失败

我有libevent-1.4.so 3,我试试这个ln -s libevent-1.4.so.4 libevent-1.4.so.3

和…

/ libexec / ld-elf.so。1: /usr/local/lib/libevent-1.4.so。3:不支持的文件布局

/usr/local/etc/rc.d/tor: WARNING: failed to start tor . /启动tor失败

相关文章

如何使用pfsense和OpenNTPD设置NTP服务器

如何使用pfSense设置透明鱿鱼代理服务器

如何使用pfSense和HAVP建立HTTP防病毒代理

如何使用FreeRadius2包在pfSense上设置Radius服务器

如何备份和恢复pfSense 2.0的配置

如何使用pfSense和OpenVPN建立远程VPN接入

Baidu