在centOS 7服务器上安装TOR

use*_*236 3 linux install tor centos7

我已尝试通过遵循本文来下载TOR,但出现503错误。那么,有没有其他方法可以下载TOR?请有人帮我,因为我必须对此做一个研究项目。

我使用的是centOS服务器:CentOS Linux版本7.3.1611(核心),但出现以下错误,

[sam@xx etc]$ sudo yum install tor
[sudo] password for sam:
Loaded plugins: fastestmirror, langpacks
base                                                     | 3.6 kB     00:00
extras                                                   | 3.4 kB     00:00
http://deb.torproject.org/torproject.org/rpm/el/7/x86_64/repodata/repomd.xml: [Errno 14] HTTP Error 503 - Service Unavailable
Trying other mirror.
http://deb.torproject.org/torproject.org/rpm/el/7/x86_64/repodata/repomd.xml: [Errno 14] HTTP Error 503 - Service Unavailable
Trying other mirror.
http://deb.torproject.org/torproject.org/rpm/el/7/x86_64/repodata/repomd.xml: [Errno 14] HTTP Error 503 - Service Unavailable
Trying other mirror.
http://deb.torproject.org/torproject.org/rpm/el/7/x86_64/repodata/repomd.xml: [Errno 14] HTTP Error 503 - Service Unavailable
Trying other mirror.
http://deb.torproject.org/torproject.org/rpm/el/7/x86_64/repodata/repomd.xml: [Errno 14] HTTP Error 503 - Service Unavailable
Trying other mirror.
http://deb.torproject.org/torproject.org/rpm/el/7/x86_64/repodata/repomd.xml: [Errno 14] HTTP Error 503 - Service Unavailable
Trying other mirror.
http://deb.torproject.org/torproject.org/rpm/el/7/x86_64/repodata/repomd.xml: [Errno 14] HTTP Error 503 - Service Unavailable
Trying other mirror.
http://deb.torproject.org/torproject.org/rpm/el/7/x86_64/repodata/repomd.xml: [Errno 14] HTTP Error 503 - Service Unavailable
Trying other mirror.
http://deb.torproject.org/torproject.org/rpm/el/7/x86_64/repodata/repomd.xml: [Errno 14] HTTP Error 503 - Service Unavailable
Trying other mirror.
http://deb.torproject.org/torproject.org/rpm/el/7/x86_64/repodata/repomd.xml: [Errno 14] HTTP Error 503 - Service Unavailable
Trying other mirror.
Run Code Online (Sandbox Code Playgroud)

dre*_*010 8

Tor不再建议将其仓库用于CentoOS,而建议使用epel仓库。您最终将获得其存储库中一个非常旧的版本。

而是:

yum install epel-release
yum install tor
Run Code Online (Sandbox Code Playgroud)

这将为您提供由存储库管理的Tor的当前版本。很好


对于CentOS,我已经进行了一段时间的自编译。我有一个hacky shell脚本,我还不愿意在这里发布;),但实际上它只是编译Tor和OpenSSL。我仍然建议使用epel-release,因为它已经过测试。

要尝试自己构建静态链接到OpenSSL的Tor,请获取OpenSSL的最新副本(例如1.1.1x),然后获取要构建的Tor的版本(例如0.4.1.6)。

首先,您需要安装一些先决条件:

yum install -y \
gcc gcc-c++ \
zlib-devel \
perl-Module-Load-Conditional perl-Test-Harness \
libevent-devel \
libzstd-devel xz-devel \
libscrypt-devel libseccomp-devel
Run Code Online (Sandbox Code Playgroud)

从OpenSSL源目录:

./config --prefix=/opt/openssl --openssldir=/opt/openssl \
-fPIC zlib-dynamic no-shared enable-ec_nistp_64_gcc_128
make
make test
make install
Run Code Online (Sandbox Code Playgroud)

OpenSSL 1.1.1注意:no-shared构建OpenSSL时,删除该选项,否则Tor配置将失败,并显示一个错误,即使它是静态构建的,它也找不到可链接的OpenSSL。Tor仍将链接静态OpenSSL,但似乎需要共享库才能工作。这似乎在1.1.1c和更高版本中已修复。

这会将OpenSSL安装到,/opt/openssl因此不会干扰或替换系统的OpenSSL。

然后,构建Tor:

./configure --prefix=/opt/tor-VERSION --sysconfdir=/etc --localstatedir=/var \
--enable-static-openssl --with-openssl-dir=/opt/openssl \
--with-tor-user=tor --with-tor-group=tor \
--enable-lzma --enable-zstd

make
make test
make install
unlink /usr/bin/tor && ln -s /opt/tor-VERSION/bin/tor /usr/bin/tor
Run Code Online (Sandbox Code Playgroud)

我使用的systemd服务文件是:

[Unit]
Description=Anonymizing overlay network for TCP
After=syslog.target network.target nss-lookup.target

[Service]
Type=forking
PidFile=/var/run/tor/tor.pid
NotifyAccess=all
ExecStartPre=/usr/bin/tor -f /etc/tor/torrc --verify-config
ExecStart=/usr/bin/tor -f /etc/tor/torrc --RunAsDaemon 1
ExecReload=/bin/kill -HUP ${MAINPID}
KillSignal=SIGINT
TimeoutStartSec=120
TimeoutStopSec=60
Restart=on-failure
LimitNOFILE=65536

# Hardening
PrivateTmp=yes
PrivateDevices=yes
ProtectHome=yes
ProtectSystem=full
ReadOnlyDirectories=/
ReadWriteDirectories=-/var/lib/tor
ReadWriteDirectories=-/var/log/tor
NoNewPrivileges=yes
CapabilityBoundingSet=CAP_SETUID CAP_SETGID CAP_NET_BIND_SERVICE CAP_DAC_OVERRIDE CAP_CHOWN CAP_FOWNER

[Install]
WantedBy=multi-user.target
Run Code Online (Sandbox Code Playgroud)

  • 是的,它可能仍在尝试使用Tor。我会从您的yum conf中删除该文件,或尝试`yum install tor --enablerepo epel-release`强制其使用正确的文件。 (2认同)