Transmission(Gnome BitTorrent 客户端)与 Debian 10 上的防火墙

Transmission(Gnome BitTorrent 客户端)与 Debian 10 上的防火墙

我安装firewalld在我的 Debian 10 笔记本电脑上。现在Transmission无法正常上传。如果我进入“编辑”->“首选项”->“网络”并单击“测试端口”,它会显示该端口已关闭。如果我systemctl stop firewalld重新启动传输,则它表示端口已打开。

如何在防火墙下使用传输?

答案1

首先,在“首选项”窗口的同一网络选项卡中,确保未选中“每次启动传输时选择一个随机端口”。还要检查侦听端口的设置。默认端口号为 51413。

在您的防火墙中,允许上面设置的 TCP 端口号。由于您使用的是firewalld,因此您可以通过允许命名服务“transmission-client”来允许端口 51413。

如果您的路由器支持 NAT-PMP,或者您为路由器配置了手动端口转发,这就是您所需要的!传输现在可以与您的防火墙一起使用。

NAT-PMP 在 Apple 路由器上可用。它也可以在任何具有最新版本的开源 MiniUPnPd 的合理编写的路由器上使用。这在 OpenWRT 路由器上效果很好:-)。

或者,如果您需要 IPv6(当前版本的 IP:-) 支持,请假装我说的是 NAT-PCP 而不是 NAT-PMP。

否则,您可能依赖于 uPnP 端口转发。这是一个问题,抱歉。如果您不想在路由器上配置手动端口转发,此页面上有一些可能的技术:Fedora 防火墙支持 UPnP?

允许 uPnP 的糟糕方法,你不应该使用

1.firewalld服务“upnp-client”

firewalld有一个命名服务“upnp-client”。允许此服务可能会让传输工作。但允许此服务意味着攻击者可以绕过任何 UDP 端口的防火墙(如果他们从 UDP 端口 1900 进行传输)。

firewalld“upnp-client”的服务是使用 定义的<source-port ... />。这与大多数服务定义<port ... />中使用的不同。firewalld有一个关于此的附加免责声明,但firewalld界面未能显示它。

$ cat /usr/lib/firewalld/services/upnp-client.xml 
<?xml version="1.0" encoding="utf-8"?>
<service>
  <short>UPnP Client</short>
  <description>Universal Plug and Play client for auto-configuration of network routers (use only in trusted zones).</description>
  <source-port port="1900" protocol="udp"/>
</service>

2. 迷你sdpd

在以前版本的 Debian 中,安装 Transmission 会自动安装minissdpd.传输可用于minissdpd接收 uPnP 响应,这似乎与防火墙配合使用效果更好。如果您在防火墙中允许 UDP 端口 1900,则 Transmission 将能够设置 uPnP 端口转发。

问题是minissdpd存在很大的安全风险

minissdpd需要配置它应该运行的网络接口名称列表。 Debian 将建议一个默认列表。如果您有多个可能的网络接口(例如 Wi-Fi 和有线以太网),请务必仔细检查这一点。

运行后minissdpd,请记住在防火墙中允许 UDP 端口 1900,然后重新启动 Transmission。

我注意到这种方法在 Fedora Linux 上不起作用。 minissdpd在 Fedora 中不可用,并且 Fedora 不构建支持 libminiupnp 的 Transmission。

相关内容