使用FileZilla搭建了FTP服务端,使用本地ip(127.0.0.1:21)可以访问:
(000074)2023/9/6 星期三 20:52:07 - (not logged in) (127.0.0.1)> Connected on port 21, sending welcome message
(000074)2023/9/6 星期三 20:52:07 - (not logged in) (127.0.0.1)> AUTH TLS
(000074)2023/9/6 星期三 20:52:07 - (not logged in) (127.0.0.1)> 234 Using authentication type TLS
(000074)2023/9/6 星期三 20:52:07 - (not logged in) (127.0.0.1)> TLS connection established
(000074)2023/9/6 星期三 20:52:08 - (not logged in) (127.0.0.1)> USER blog
(000074)2023/9/6 星期三 20:52:08 - (not logged in) (127.0.0.1)> 331 Password required for blog
(000074)2023/9/6 星期三 20:52:08 - (not logged in) (127.0.0.1)> PASS
(000074)2023/9/6 星期三 20:52:08 - blog (127.0.0.1)> 230 Logged on
(000074)2023/9/6 星期三 20:52:08 - blog (127.0.0.1)> PBSZ 0
(000074)2023/9/6 星期三 20:52:08 - blog (127.0.0.1)> 200 PBSZ=0
(000074)2023/9/6 星期三 20:52:08 - blog (127.0.0.1)> PROT P
(000074)2023/9/6 星期三 20:52:08 - blog (127.0.0.1)> 200 Protection level set to P
(000074)2023/9/6 星期三 20:52:08 - blog (127.0.0.1)> PWD
(000074)2023/9/6 星期三 20:52:08 - blog (127.0.0.1)> 257 "/" is current directory.
(000074)2023/9/6 星期三 20:52:08 - blog (127.0.0.1)> TYPE I
(000074)2023/9/6 星期三 20:52:08 - blog (127.0.0.1)> 200 Type set to I
(000074)2023/9/6 星期三 20:52:08 - blog (127.0.0.1)> PORT 127,0,0,1,192,215
(000074)2023/9/6 星期三 20:52:08 - blog (127.0.0.1)> 200 Port command successful
(000074)2023/9/6 星期三 20:52:08 - blog (127.0.0.1)> MLSD
(000074)2023/9/6 星期三 20:52:08 - blog (127.0.0.1)> 150 Opening data channel for directory listing of "/"
(000074)2023/9/6 星期三 20:52:08 - blog (127.0.0.1)> TLS connection for data connection established
(000074)2023/9/6 星期三 20:52:08 - blog (127.0.0.1)> 226 Successfully transferred "/"
后来做了端口映射,使用外网访问就报错:
(000075)2023/9/6 星期三 20:58:59 - (not logged in) (127.0.0.1)> Connected on port 21, sending welcome message
(000075)2023/9/6 星期三 20:58:59 - (not logged in) (127.0.0.1)> AUTH TLS
(000075)2023/9/6 星期三 20:58:59 - (not logged in) (127.0.0.1)> 234 Using authentication type TLS
(000075)2023/9/6 星期三 20:58:59 - (not logged in) (127.0.0.1)> TLS connection established
(000075)2023/9/6 星期三 20:58:59 - (not logged in) (127.0.0.1)> USER blog
(000075)2023/9/6 星期三 20:58:59 - (not logged in) (127.0.0.1)> 331 Password required for blog
(000075)2023/9/6 星期三 20:58:59 - (not logged in) (127.0.0.1)> PASS
(000075)2023/9/6 星期三 20:58:59 - blog (127.0.0.1)> 230 Logged on
(000075)2023/9/6 星期三 20:58:59 - blog (127.0.0.1)> PBSZ 0
(000075)2023/9/6 星期三 20:58:59 - blog (127.0.0.1)> 200 PBSZ=0
(000075)2023/9/6 星期三 20:58:59 - blog (127.0.0.1)> PROT P
(000075)2023/9/6 星期三 20:58:59 - blog (127.0.0.1)> 200 Protection level set to P
(000075)2023/9/6 星期三 20:58:59 - blog (127.0.0.1)> PWD
(000075)2023/9/6 星期三 20:58:59 - blog (127.0.0.1)> 257 "/" is current directory.
(000075)2023/9/6 星期三 20:58:59 - blog (127.0.0.1)> TYPE I
(000075)2023/9/6 星期三 20:58:59 - blog (127.0.0.1)> 200 Type set to I
(000075)2023/9/6 星期三 20:59:00 - blog (127.0.0.1)> PORT 121,225,233,75,193,139
(000075)2023/9/6 星期三 20:59:00 - blog (127.0.0.1)> 421 Rejected command, requested IP address does not match control connection IP.
(000075)2023/9/6 星期三 20:59:00 - blog (127.0.0.1)> PASV
(000075)2023/9/6 星期三 20:59:00 - blog (127.0.0.1)> 227 Entering Passive Mode (127,0,0,1,0,121)
(000075)2023/9/6 星期三 20:59:00 - blog (127.0.0.1)> MLSD
(000075)2023/9/6 星期三 20:59:11 - blog (127.0.0.1)> 425 Can't open data connection for transfer of "/"
因为两种连接的参数一致,客户端的配置应该不会有问题;服务端上的端口目前设置如下:
同时已经在入站/出站规则中打开了对应端口,不知道还有什么地方需要配置
引用 皆我百晓生 小程序回复内容作答:
报错信息 "421 Rejected command, requested IP address does not match control connection IP" 表明FTP服务器拒绝了请求的IP地址。 这可能是由于端口映射的问题引起的,其中外部IP地址与控制连接的IP地址不匹配。
解决此问题的方法是确保FTP服务器能够识别客户端的外部IP地址。您可以尝试以下解决方案:
检查FTP服务器的配置文件,确保已配置正确的外部IP地址。您可以尝试将ServerName
或ListenAddress
设置为您的外部IP地址。
如果您的FTP服务器运行在一个NAT(网络地址转换)网络环境中,您需要配置NAT路由器将外部IP地址转发到FTP服务器的内部IP地址。
检查防火墙设置,确保已打开FTP服务器所使用的控制连接端口(默认为端口21)以及FTP数据连接端口范围(默认为端口20,000-21,000)。确保这些端口在入站和出站规则中都是开放的。
尝试禁用FTP服务器的主动模式,使用被动模式(PASV)连接。在FileZilla客户端中,您可以在"传输"菜单中选择"被动模式"选项。这将允许FTP服务器在不涉及端口映射的情况下建立数据连接。
如果您仍然遇到问题,请检查FTP服务器的日志文件,以获得更详细的错误信息。