主页 回到教程 在线帮助

如何在ADSL路由器/防火墙后设置FTP服务器端口映射

1. 确认你是否需要设置Xlight广域网IP接口地址。如果服务器IP地址是在范围192.168.*.* 或 10.*.*.* ,或 172.13.* .*- 172.32.*.* 内的私有IP地址,说明服务器在NAT设备后面(ADSL路由器通常是NAT设备),用户从公网是不能直接命令访问这个FTP服务器。如果希望服务器被公网访问,就需要设置Xlight广域网接口IP地址(或域名)。如果 你的服务器IP地址不在上面范围内,你的服务器是使用公共IP,可能服务器只是在防火墙后,你只需要打开为PASV命令使用的端口范围。

2. 确认是否需要为ADSL路由器/防火墙配置端口映射,如果服务器在ADSL路由器后,服务器IP地址是上面提到的私有IP地址,通常需要在ADSL路由器 内配置端口映射。你需要参考ADSL路由器的手册如何设置端口映射(端口影射,在路由器手册里通常叫"虚拟服务器",也有叫"转发规则→虚拟服 务器",或其他名称的)。路由器映射的端口范围包括FTP标准端口21,和PASV命令使用的端口范围。路由器内映射的端口范围必须和你在Xlight的 全局选项→通用→防火墙→PASV端口范围内设置的范围一致,只有FTP标准端口21不需要设置在Xlight全局选项 的端口范围内。如果你在防火墙后,而且使用公共IP,你通常只要在防火墙上打开一段端口范围。

3. 在Xlight的全局选项→通用→防火墙→启用被动模式(PASV)端口范围,填入上面所设置的端口范围。如果服务器使用私有IP,你还需要在这里填入广域网IP地址,或域名。

4. 如果用户从公网还是不能工作,到主窗口的日志内,检查服务器的会话日志。如果不能看到客户公网连接的任何日志, 说明ADSL路由器/防火墙设置不对,没有打开FTP标准端口21。如果你能看到客户公网连接的日志,但客户不能获得目录列表,说明PASV命令使用的端 口范围映射不对,找到在客户发出PASV命令后,Xlight 服务器象下面的响应:
227 Entering Passive Mode (192,168,0,100,m,n)

其中 m,n是定义了PASV端口的值,计算方式是m*256+n。例如m=10而
n=20,那么PASV端口就是10*256+20=2580。

检查这个范围是否在你设置的PASV范围内,如果不在,更改Xlight的全局选项→通用→防火墙→PASV端口范围到你希望的端口范围。

5. 确认你的广域网接口IP是公共IP地址。确认227 Entering Passive Mode
(x,x,x,x,m,n) m,n 内的IP地址是公共IP地址 = 你配置的广域网接口IP,如果不是,可能Xlight的全局选项→通用→防火墙→广域网IP使用固定IP,这一项没有被填写,或广域网IP使用域名,这一项没有填写。

6. 确认端口20外出的方向在防火墙上被打开,如果端口20外出的方向没有打开,ftp的PORT命令将无法工作. 如果你使用软件防火墙,这种类型的防火墙默认可能会屏蔽外出端20.