如何设置 ftpd 的被动端口范围?

如何设置 ftpd 的被动端口范围?

我在一台新安装的 FreeBSD 机器上使用ftpd。(一台树莓派,但我认为这对这个问题并不重要)。不幸的是,这台服务器位于路由器后面,所以我需要将端口转发,这很好,我知道如何做到这一点。问题是我无法知道服务器将为其被动连接选择哪个端口。此外,手册页没有ftpd告诉我如何限制被动端口的范围。

如何限制ftpd被动端口使用的端口范围?例如将其设置为 50100 - 50200。

答案1

看看FreeBSD ftpd 源代码有一个“-U”(大写 U)选项可以间接控制数据端口的范围。这在FreeBSD ftpd 手册页,一旦您在 ftpd 的命令行上指定了它,您就可以通过调整系统设置来控制端口范围,如中所述FreeBSD ip 手册页(在文档中向下滚动到“IP_PORTRANGE”以查看有关 net.inet.ip.portrange.first 和 net.inet.ip.portrange.last 设置的详细信息)。

这是一个系统范围的设置,因此它将影响服务器上在打开套接字之前检查 IP_PORTRANGE 设置的任何其他程序。这意味着其他服务可能会意外地被允许通过您的路由器,因为它们使用与 ftpd 允许的相同端口范围。如果 ftpd 是 Pi 上唯一的服务,那么这可能无关紧要。

另一个选择是安装 vsfptd,根据这个答案允许您在 vsfptd.conf 中指定被动端口范围。这些设置仅影响 vsftpd 守护进程,不会改变系统上任何其他内容的行为。

相关内容