2024年5月26日发(作者:)
FTP Server通过网闸映射进入内部局域网的步骤及注意事项
1、在DMZ区安装FTP Server程序,本示例采用的是FileZilla Server,正常安装完
成后进行配置。
设置监听端口号,默认是21,为了安全起见我们这里设置成50021
2、设置用户名密码,及用户及共享路径
3、设置完成后,即可到网闸上进行配置,把此服务器的地址如192.168.11.11:50021
映射到公司内部后,其内部局域网地址假设为192.168.0.3:50021。
按照普通端口映射的经验来说,直接在公司内网访问ftp://192.168.0.3:50021即可访
问DMZ区的FTP服务,但是经过测试能提示录入用户名密码,报错,一般是报没有访问
目录的权限。
经过一番百度之后还是没有找到直接答案。没办法,百度FTP的协议原理。
在百度百科查到如下一段话:
Passive
在建立控制通道的时候和Standard模式类似,但建立连接后发送的不是Port命令,
而是Pasv命令。FTP服务器收到Pasv命令后,随机打开一个高端端口(端口号大于1024)
并且通知客户端在这个端口上传送数据的请求,客户端连接FTP服务器此端口,通过三次
握手建立通道,然后FTP服务器将通过这个端口进行数据的传送。
很多防火墙在设置的时候都是不允许接受外部发起的连接的,所以许多位于防火墙后
或内网的FTP服务器不支持PASV模式,因为客户端无法穿过防火墙打开FTP服务器的高
端端口;而许多内网的客户端不能用PORT模式登陆FTP服务器,因为从服务器的TCP 20
无法和内部网络的客户端建立一个新的连接,造成无法工作。
以下需要特别注意,是配置成功的关键点:
我们进行分析理解,客户端在公司内网访问ftp://192.168.0.3:50021, DMZ取ftp
server“在接受到Pasv命令后,会随机打开一个高端端口,并通知客户端在这个端口上
传送数据的请求,客户端连接FTP服务器此端口,通过三次握手建立通道,然后FTP服
务器将通过这个端口进行数据的传送。”
这就是不通的关键,FtpServer又创建了个新的端口号,来与客户端进行数据通信。
为此,在FileZilla 上找到如下的配置界面,尝试为其配置数据传输端口。Use custom
port,设置上50020端口,又在网闸上将其映射进入内网比如192.168.0.3:50020,经测
试仍然报错,有仔细看了FileZilla Server的Passive mode settings的配置选项,把公司
内网网闸的IP地址填写到Use the following IP位置后,再测试ftp://192.168.0.3:50021/
后就通了。
发布评论