【问题标题】:install TOR on a centOS 7 server在 centOS 7 服务器上安装 TOR
【发布时间】:2016-12-26 22:57:39
【问题描述】:

我尝试按照这篇文章下载 TOR,但出现 503 错误。那么就没有其他下载TOR的方法了吗?请有人帮助我,因为我必须做一个研究项目。

我正在使用 centOS 服务器:CentOS Linux 发行版 7.3.1611 (Core) 但我得到了以下错误,

[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.

【问题讨论】:

  • 临时服务中断?现在似乎工作正常。您可以随时尝试手动获取 RPM 并使用 rpm -Uvh tor...rpm 进行安装
  • @drew010 如何手动获取 RPM?你能详细说明一下吗?谢谢
  • 我忘记了他们不再推荐将他们的 repo 用于 CentOS(请参阅我的回答)。最容易使用 epel,但我也会为感兴趣的人展示如何从源代码构建。

标签: linux installation centos7 tor


【解决方案1】:

Tor 不再 recommends 使用他们的 CentoOS 存储库,而是使用 epel 存储库。您最终会从他们的存储库中得到一个非常旧的版本。

改为:

yum install epel-release
yum install tor

这将为您提供由 repo 管理的当前版本的 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

来自 OpenSSL 源目录:

./config --prefix=/opt/openssl --openssldir=/opt/openssl \
-fPIC zlib-dynamic no-shared enable-ec_nistp_64_gcc_128
make
make test
make install

OpenSSL 1.1.1 注意: 在构建 OpenSSL 时移除 no-shared 选项,否则 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

我使用的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

【讨论】:

  • 我尝试使用您所说的 epel 存储库,但不断收到 503 错误。你觉得和我用uni服务器下载有关系吗?
  • 是的,它可能仍在尝试使用 Tor。我会从你的 yum conf 中删除它,或者尝试 yum install tor --enablerepo epel-release 强制它使用正确的。
  • 对于任何试图用 openssl 1.1.1 编译它的人 - 我没有运气。我去了1.0.2o并且工作得很好。我有 0.3.4.8
  • @michnovka 您在使用 openssl 1.1.1 时遇到了什么错误?我在 centos 7 和 Debian 8 上使用静态 1.1.1 构建 Tor。您很可能需要删除 no-shared 标志,因为我发现没有它它就不再工作了。由于某种原因,Tor 似乎找不到它。这是在 1.1.x 表示“0”时编写的
  • 问题是 .configure 无法找到“可链接的”openssl,它总是默认为(系统)(前提是我安装了 openssl-devel)。虽然没有共享标志,但我没有尝试过
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-05-27
  • 2022-07-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多