在NAT之后的vsftp服务器如何配置

关键字:nat、vsftp、passive、被动模式、配置
时间:2021年10月

问题1 需要哪些准备工作?
答:了解FTP主动模式和被动模式,了解端口映射工具iptables或lvs。

问题2 主动模式与被动模式如何选择?
答:对于公网FTP服务而言,主动模式是行不通的,只能采用被动模式。

问题3 被动模式需要映射哪些端口?
答:被动模式下,21端口的连接用于指令传输,FTP服务器会动态打开监听端口用于传输文件数据,端口号可配置。因此,仅映射21端口是不够的。

问题4 vsftp如何配置被动模式
答:
1、pasv_enable=YES启用被动模式;
2、pasv_min_port=60000和pasv_max_port=60010设置监听端口范围60000~60010,根据自己的情况修改范围值;
3、pasv_address=x.x.x.x设置ftp服务器的外网IP
修改完配置后,记得重启vsftp

问题5 端口映射如何配置
答:NAT网关上安装lvs,执行”ipvsadm -A 172.16.0.1:21 -s rr”、”ipvsadm -a 172.16.0.1:21 -r 172.16.0.105:21 -m”两条命令,完成21端口的映射,其他端口以此类推。pasv_min_port与pasv_max_port之间的端口均需要映射,172.16.0.1是NAT本机地址,172.16.0.105是FTP服务器地址,别替换错了。

问题6 客户端登录正常,无法获取文件?
答:因为pasv_address设置的是IPv4地址,需要屏蔽listen_ipv6=YES,并设置listen=YES。

问题7 如何限制用户的根路径?
答:限制用户的根路径设置不当,反应的现象看起来和网络问题很想,很容易误认为是被动模式配置或端口映射有问题。只需要注意chroot_local_user=YES和allow_writeable_chroot=YES配合使用即可,allow_writeable_chroot在vsftp老版本中并不需要配置,但在新版本中,如果不配置为YES,会涉及一系列目录权限的修改。