Vsftpd内网映射相关原理及配置

拓扑图


wKioL1LU8RSDEcxVAADETzJGvQw794.jpg

过程图

wKiom1LU8XXiuDpaAADmidEzV-s946.jpg

说明:ftp服务器A在内网ip地址为192.168.1.100,映射服务器B拥有至少两个网段的IP地址,一个为公网ip ,22.22.22.22 一个为私网IP 192.168.1.1,端口对应情况为B服务器65521端口对应A服务器的21号端口,B服务器的65530-65540一一对应A服务器的65530-65540。

原理说明,用户使用浏览器,或者ftp登陆软件登陆ftp服务器时一般默认为被动模式连接,主动模式连接较少。

被动模式:客户端随机开放一个大于1024的端口连接服务器的21号命令端口c,之后服务器随机开放一个大于1024的端口(可以指定)连接客户端的c+1号端口。(21端口为命令端口主要作用发送指令,后来服务器开放的随机端口为数据端口,主要负责传输数据)。

主动模式:客户端随机开放一个大于1024的端口d连接服务器的21号端口,服务器使用20端口连接客户端的d+1号端口作为数据传输。

解决映射问题的原理:

一、关闭主动模式,使用被动模式传输数据

二、(命令的传输)B服务器只要将65521端口映射到A服务器的21号端口即可完成命令的传输。

三、(数据的传输)A服务器需要限制被动模式随机开放端口的范围本次项目中将端口限制为65530-65540(只有11个端口,所以限制了最大连接数为11,如果需要增加最大连接数,只需要增大端口的范围)并在B服务器做好对应的映射。

四、发送B服务器的IP地址给客户端(如果不发送B服务器的IP地址,客户端会连接内网地址。导致无法连接数据端口)

五、关闭服务器端安全检查(当使用内网ip访问ftp服务器时由于命令端口的IP与数据端口的IP不是一个,导致服务器认为有问题,但如果只使用外网连接没有此类问题)

相应配置

一、pasv_enable=YES//使用被动模式

port_enable=NO//关闭主动模式

二、需要在B服务器上使用转发软件或者iptables转发

三、pasv_max_port=65540//最大连接端口

pasv_min_port=65530//最小连接端口

四、pasv_address=22.22.22.22//发送B服务器的IP地址

五、pasv_promiscuous=YES//关闭安全检查,如果不需要使用内网连接,此选项可以省略