![为了使 FTP 正常工作,还有哪些协议不能被防火墙阻隔?](https://linux22.com/image/596617/%E4%B8%BA%E4%BA%86%E4%BD%BF%20FTP%20%E6%AD%A3%E5%B8%B8%E5%B7%A5%E4%BD%9C%EF%BC%8C%E8%BF%98%E6%9C%89%E5%93%AA%E4%BA%9B%E5%8D%8F%E8%AE%AE%E4%B8%8D%E8%83%BD%E8%A2%AB%E9%98%B2%E7%81%AB%E5%A2%99%E9%98%BB%E9%9A%94%EF%BC%9F.png)
前几天,我的 Netgear 路由器随机重置,丢失了我的所有配置设置:DSL 详细信息、防火墙规则,等等!
因此,我着手手动恢复所有细节,但是在配置防火墙时,我想通过明确设置我认为“非必要”的所有内容的“拒绝”规则来提高安全性,并且(虽然不是必要的)当我这样做时,我为“必要”协议设置了明确的“允许”。
我现在承认我真的不知道自己在做什么,一切都只是“我最好的猜测”,但我只启用了 DNS、HTTP、HTTPS、FTP、SFTP、TFTP,其他一切都被阻止。
这对我来说不起作用,因为我无法访问 99% 的网站(尽管奇怪的是 Google 可以访问!),所以我又尝试了一下并发现(奇怪的是)如果我仅禁用明确的“允许”规则,那么一切都可以正常工作,无论如何都可以进行浏览。
今天我通过 FTP 访问一些网站(编辑:我在 Linux 上使用 FileZilla),但就是无法获得稳定的连接,在传输几个文件后它不断掉线,或者被服务器阻止,或者根本无法连接。它可以正常进行身份验证,但在检索初始目录列表时会停止!例如:
Status: Delaying connection for 1 second due to previously failed connection attempt...
Status: Resolving address of ftp.domain.co.uk
Status: Resolving address of ftp.domain.co.uk
Status: Connecting to 123.123.123.123:21...
Status: Connecting to 123.123.123.123:21...
Status: Connection established, waiting for welcome message...
Status: Connection established, waiting for welcome message...
Response: 421 Too many connections (8) from this IP
Error: Could not connect to server
Status: Delaying connection for 5 seconds due to previously failed connection attempt...
Response: 421 Too many connections (8) from this IP
Error: Could not connect to server
Status: Delaying connection for 5 seconds due to previously failed connection attempt...
我已经检查并重新检查了 FTP 设置(它们之前是可以正常工作的),我已经在 Google 上搜索了我在防火墙中阻止的各种协议,但似乎没有一个对 FTP 来说是必不可少的(除了 FTP/SFTP 等,我已经被动启用了)。
我(显然)不是服务器工程师,也不是协议/防火墙专家,所以我希望有人能解释一下我的 FTP 失败的原因。我一直在想我是否应该允许 BGP、BOOTP 和/或 IDENT(或任何其他协议)?
FTP 还需要哪些其他协议?
提前致谢!
答案1
你的问题的答案
FTP
运行TCP
- 因此不需要允许其他协议。
但请记住,除了port 21
(可能port 20
)需要打开之外,如果您正在使用FTP PASV
- 那么您还需要打开另一组端口 - 特别是针对被动端口,如您的 FTP 配置中所定义。
因为vsftpd
它看起来像这样。
pasv_min_port=20000
pasv_max_port=21000
pasv_enable=YES
您的问题
...与阻止的协议无关,只需读取错误...
Response: 421 Too many connections (8) from this IP
Error: Could not connect to server
答案2
不是防火墙问题。
这里的问题是 FTP 服务器拒绝连接,因为来自该 IP 的服务器连接已经有“太多”。
响应:421 来自此 IP 的连接过多(8)
通过 FTP 服务器的配置将连接限制增加到 8 个以上,和/或确定这些连接是否正在使用并终止任何多余的连接。
回复评论:
@Chris 是的,这是来自服务器的消息。服务器检测到来自您 IP 的连接过多,因此将其丢弃。
其他FTP
问题可能与您的服务器或其他服务器处理/破坏连接的方式有关PASV
FTP
。尤其是在发出ls
命令时,失败通常意味着一端的防火墙或过滤器/代理不接受为发出命令或传输文件而生成的新“被动”连接。
对于这些问题,请尝试使用主动FTP
模式,尝试从等式中删除防火墙,并尝试使用SFTP
(FTP
通过SSH
)来诊断和/或消除问题。