我安装firewalld
在我的 Debian 10 笔记本电脑上。现在传输无法正确上传。如果我进入 Edit->Preferences->Network 并单击 [Test Port],它说端口已关闭。如果我systemctl stop firewalld
重新启动传输,那么它说端口是打开的。
如何将传输与防火墙一起使用?
我安装firewalld
在我的 Debian 10 笔记本电脑上。现在传输无法正确上传。如果我进入 Edit->Preferences->Network 并单击 [Test Port],它说端口已关闭。如果我systemctl stop firewalld
重新启动传输,那么它说端口是打开的。
如何将传输与防火墙一起使用?
首先,在“首选项”窗口的同一网络选项卡中,确保未选中“每次启动传输时选择随机端口”。还要检查监听端口的设置。默认端口号为 51413。
在您的防火墙中,允许上面设置的 TCP 端口号。由于您使用的是
firewalld
,因此您可以通过允许命名服务“传输客户端”来允许端口 51413。如果您的路由器支持 NAT-PMP,或者您为路由器配置了手动端口转发,这就是您所需要的!传输现在将与您的防火墙一起使用。
NAT-PMP 在 Apple 路由器上可用。它也可以在任何带有最新版本的开源 MiniUPnPd 的合理编写的路由器上使用。这在 OpenWRT 路由器上效果很好:-)。
或者,如果您需要支持 IPv6(当前版本的 IP :-),就假装我说的是 NAT-PCP 而不是 NAT-PMP。
否则,您可能依赖于 uPnP 端口转发。这是个问题,对不起。如果您不希望在路由器上配置手动端口转发,此页面上有一些可能的技术:Fedora 防火墙与 UPnP?
允许 uPnP 的可怕方法,你不应该使用
1. 防火墙服务“upnp-client”
firewalld
有一个命名服务“upnp-client”。允许此服务可能会让传输工作。但允许此服务意味着攻击者可以绕过防火墙访问任何 UDP 端口,如果他们从 UDP 端口 1900 传输。“upnp-client”的
firewalld
服务是使用<source-port ... />
. 这与<port ... />
大多数firewalld
服务定义中使用的 不同。对此有一个括号内的免责声明,但firewalld
界面无法显示。2.minisdpd
在以前的 Debian 版本中,安装 Transmission 会自动安装
minissdpd
. 传输可以minissdpd
用来接收 uPnP 响应,这似乎与防火墙一起工作得更好。如果您在防火墙中允许 UDP 端口 1900,则传输将能够设置 uPnP 端口转发。问题是 minisdpd 是一个很大的安全风险。
minissdpd
需要使用它应该运行的网络接口名称列表进行配置。Debian 将建议一个默认列表。如果您有多个可能的网络接口,例如 Wi-Fi 和有线以太网,请务必仔细检查。minissdpd
运行后,记得在防火墙中允许 UDP 端口 1900,然后重新启动传输。我注意到这种方法不适用于 Fedora Linux。
minissdpd
在 Fedora 中不可用,并且 Fedora 没有构建支持 libminiupnp 的传输。