Rabbit_gui 2024-03-26 13:42 采纳率: 0%
浏览 81

windows搭建FTP服务,外部无法连接,服务器内可以连接,如何解决(已解决)

windows服务器搭建FTP服务连接报错!外部无法连接,服务器内可以连接

按照网上的教程在服务器上设置了FTP服务(假设开放了服务器的10000端口为ftp服务端口,服务器自身地址为10.0.0.1)
在服务器上用资源管理器直接访问ftp://10.0.0.1:10000,能访问到FTP服务,正确输入账号密码后进入。

在外部使用互联网域名访问ftp://www.xxx.com:10000时,正确输入账号密码后,提示
错误代码200 , 227

img

在网上找了很久,我看他们说要改被动ftp连接,那个设置我本身是打开的,如果关闭后,再次访问,报错信息则变为
错误代码200,501

img

网上继续搜信息,全都是翻来覆去的那两个设置变来变去的,但是我这边不生效,还有可能是哪里的设置原因吗?

后续发现是因为ftp服务用到两个端口,设置的端口用于登录通讯,数据传输会用到第二个端口,一般这个传输端口是随机的。
如果服务器与客户端各个端口都是通的,就不会有这个问题,否则就会导致数据传输端口两边无法互通
我的方式是用FileZilla工具重新搭了一个ftp服务,考虑到我的服务器上开放的端口是固定的(假设开放了10000和10001),因此我指定10000端口用于ftp登录通讯,10001用于被动连接时的数据传输,这样客户端登录的时候,服务器就会只返回10001端口给客户端用于数据传输,于是可以正常使用了。

  • 写回答

3条回答 默认 最新

  • 檀越@新空间 2024-03-26 13:43
    关注

    Rabbit_gui 下午好🌅🌅🌅
    本答案参考ChatGPT-3.5

    问题可能是由于FTP服务器的被动模式配置不正确引起的。在Windows服务器上搭建FTP服务时,被动模式是一个常见的问题。解决此问题的方法如下:

    1. 检查服务器的防火墙设置:确保服务器的防火墙已经正确配置,允许FTP服务的端口通过。确保服务器上的端口号和FTP服务设置中的端口号一致,一般默认情况下为21端口。

    2. 检查FTP服务器的被动模式设置:打开FTP服务器的配置文件,找到pasv_address参数,将其设置为FTP服务器所在机器的外网地址。例如,如果FTP服务器的外网地址是192.168.1.100,那么就将pasv_address参数设置为192.168.1.100。

    3. 检查FTP服务器的被动模式端口范围设置:打开FTP服务器的配置文件,找到pasv_min_port和pasv_max_port参数,确保这两个参数定义的端口范围在服务器的防火墙中是开放的。默认情况下,pasv_min_port和pasv_max_port参数设置为被动模式的端口范围是1024至65535。

    4. 检查FTP服务器所在路由器的端口转发设置:如果FTP服务器所在网络有路由器,需要将FTP服务器的外部端口转发到内部服务器的内部IP和端口。在路由器的管理界面中进行相应的设置。

    5. 重启FTP服务器:对于以上设置的更改,重启FTP服务器以使更改生效。

    6. 使用主动模式配置FTP客户端:如果以上方法仍然无法解决问题,可以尝试在FTP客户端中将传输模式设置为主动模式。在部分FTP客户端中,有时候切换到主动模式可以解决连接问题。

    如果问题仍然存在,可能需要检查其他网络设备(如路由器、交换机等)的配置和限制。

    评论

报告相同问题?

问题事件

  • 修改了问题 3月26日
  • 修改了问题 3月26日
  • 创建了问题 3月26日