Linux vsftpd 内网服务器 被动模式配置外网访问 部分填坑
引言
这个是讲解配置内网服务器被动模式配置的入坑探索,或者你是配置被动模式也可以参考出现以下问题尝试解决。其他的主动模式或者常用的配置不在此,其他全面的配置将在其他文章写出。
本人需求及环境
本人是打算在自己的电脑上搭建ftp服务器,ubuntu 18.04 ,文件全部放上,也能实现外网访问,因为是租房,所以有一个公用的路由器,我设置了动态域名和端口转发。
出现的问题及解决方法
编辑的配置文件为 /etc/vsftpd.conf
- listen=YES设置后,ftp无法使用
此设置与 listen_ipv6 冲突,目前ipv6没有很普及,注释 listen_ipv6 可解决。
listen=YES
#listen_ipv6=YES
- 被动模式无法使用
确认配置文件中有
pasv_enable=YES
因为后续路由器要配置端口映射,所以最好定义被动模式的端口范围
pasv_min_port=2000
pasv_max_port=2200
因为我把ftp端口从21 改为 2121 所以直接批量映射,目前没有出问题。
4. 内网访问正常,但是外网无法访问
可能是ftp的保护设置 配置文件中增加 pasv_promiscuous 关闭PASV模式的安全检查。
pasv_promiscuous=YES
- 外网访问 提示返回了不可路由的服务器地址
配置文件中,可以通过增加 来指定被动模式回传的服务器IP地址。配置文件中,可以通过增加 来指定被动模式回传的服务器IP地址。
pasv_address=180.x.x.x
可是我是动态域名,没法固定,直接写入域名外网还是无法访问。后来查到可以使用 pasv_addr_resolve,注意放在 pasv_address 前面
pasv_addr_resolve=YES
pasv_address=www.xxx.cn