tor.service 启动但 unix 套接字不工作

问题描述 投票:0回答:1

我不会在 Ubuntu 22.04.2 LTS 上使用 .onion 域在 Tor 网络中设置自己的站点。

我正在安装 tor、nginx 并配置 nginx 和 /etc/tor/torrc 文件以使用 unix 套接字。

添加了 /etc/tor/torrc 配置行:

HiddenServiceDir /var/lib/tor/mm-onion/
HiddenServicePort 80 unix:/var/run/tor/mm-onion.sock

并用 nginx 来听:

listen unix:/var/run/tor/mm-onion.sock;

但是,如果我通过

service tor start
启动 Tor 服务,则会成功启动,但 Tor 无法与 unix 套接字一起工作。创建 Unix 套接字文件。 现在我正在使用 socat 测试 unix 套接字 - 并且 nginx 给出了成功响应。我认为问题是在这种情况下不要写入unix套接字(tor由systemd启动)。

然后我通过

service tor stop
停止 tor 并检查 /lib/systemd/system/[email protected] 文件并查看行
ExecStart=/usr/bin/tor --defaults-torrc /usr/share/tor/tor-service-defaults-torrc -f /etc/tor/torrc --RunAsDaemon 0

好吧,我直接在终端中运行命令

/usr/bin/tor --defaults-torrc /usr/share/tor/tor-service-defaults-torrc -f /etc/tor/torrc --RunAsDaemon 0
,并且tor成功与unix套接字一起工作。

[email protected] 默认配置:

[Unit] Description=Anonymizing overlay network for TCP
After=network.target nss-lookup.target PartOf=tor.service 
ReloadPropagatedFrom=tor.service

[Service] 
Type=notify 
NotifyAccess=all 
PIDFile=/run/tor/tor.pid 
PermissionsStartOnly=yes 
ExecStartPre=/usr/bin/install -Z -m 02755 -o debian-tor -g debian-tor -d /run/tor 
ExecStartPre=/usr/bin/tor
--defaults-torrc /usr/share/tor/tor-service-defaults-torrc -f /etc/tor/torrc --RunAsDaemon 0 --verify-config 
ExecStart=/usr/bin/tor
--defaults-torrc /usr/share/tor/tor-service-defaults-torrc -f /etc/tor/torrc --RunAsDaemon 0 
ExecReload=/bin/kill -HUP ${MAINPID} 
KillSignal=SIGINT 
TimeoutStartSec=300 
TimeoutStopSec=60 
Restart=on-failure 
LimitNOFILE=65536

# Hardening 
AppArmorProfile=-system_tor 
NoNewPrivileges=yes 
PrivateTmp=yes 
PrivateDevices=yes 
ProtectHome=yes 
ProtectSystem=full 
ReadOnlyDirectories=/ 
ReadWriteDirectories=-/proc ReadWriteDirectories=-/var/lib/tor 
ReadWriteDirectories=-/var/log/tor ReadWriteDirectories=-/run 
CapabilityBoundingSet=CAP_SETUID CAP_SETGID CAP_NET_BIND_SERVICE CAP_DAC_READ_SEARCH

我的问题是 - 如果我通过

service tor start
启动它,为什么 Tor 不能正确使用 unix 套接字,但如果我直接在终端中通过
/usr/bin/tor --defaults-torrc /usr/share/tor/tor-service-defaults-torrc -f /etc/tor/torrc --RunAsDaemon 0
启动它,它就可以正常工作?

我不明白发生了什么......

谢谢。

尝试通过 systemd 运行 tor - 不适用于 unix 套接字。

尝试直接在终端中运行 tor - 它可以与 unix 套接字一起使用。

ubuntu systemd tor unix-socket
1个回答
0
投票

我不知道发生了什么,但在 Ubuntu 20.04 上它也不起作用。 我尝试在 CentOS 9 上运行相同的配置,第一次就OK了。

解决方案:使用CentOS而不是Ubuntu。

© www.soinside.com 2019 - 2024. All rights reserved.