主动模式和被动模式
#一 如何开启vsftpd的PASV模式?
1. 修改/etc/vsftpd/vsftpd.conf文件配置
pasv_enable=yes (Default: YES) 设置是否允许pasv模式
pasv_promiscuous=no (Default: NO) 是否屏蔽对pasv进行安全检查, (当有安全隧道时可禁用)
pasv_max_port=10240 (Default: 0 (use any port)) pasv使用的最大端口
pasv_min_port=20480 (Default: 0 (use any port)) pasv使用的最小端口
默认情况下vsftpd是支持PASV模式访问的, 可以不作修改。
2. 给防火墙添加FTP访问转换支持模块
vi /etc/sysconfig/iptables-config #添加以下两行:
IPTABLES_MODULES=”ip_conntrack_ftp”
IPTABLES_MODULES=”ip_nat_ftp”
请一定注意两行内容的位置关系不要搞反了。如果将”ip_nat_ftp”放到前面是加载不到的。如果你的ftp服务是过路由或者防火墙(即内网映射方式一定需要此模块)。以上等同于在加载iptables之前运行modprobe命令加载”ip_nat_ftp”和”ip_conntrack_ftp”模块。
3. 给防火墙添加访问规则允许
-A RH-Firewall-1-INPUT -m state –state ESTABLISHED,RELATED -j ACCEPT
-A RH-Firewall-1-INPUT -p tcp -m state –state NEW -m tcp –sport 21 -j
4重启防火墙服务
service iptables restart
5检查模块是否加载成功
lsmod |grep ftp
#二 测试主动模式和被动模式
1. 默认安装, 默认设置, 被动模式 关闭防火墙
netstat -tunpe 检查:
结论: 没有ftp连接时, 21 端口没有连接, 客户端使用 ftp 连接后 21 端口出现连接 , 使用 mget 下载文件, > 1024 端口出现连接
tcp6 0 0 192.168.55.108:21 192.168.55.107:50264 ESTABLISHED 0 50029 11717/vsftpd
tcp6 0 772960 192.168.55.108:14030 192.168.55.107:59734 ESTABLISHED 65534 52875 11740/vsftpd
2. 修改配置 添加 pasv_enable=no 改为 主动模式
报错: Passive mode refused 解决方法: ftp 命令运行 passive 关闭被动模式
报错: 425 Failed to establish connection 解决方法: ftp客户端关闭防火墙
结论: 没有ftp连接时, 21 端口没有连接, 客户端使用 ftp 连接后 21 端口出现连接 , 使用 mget 下载文件, 20 端口出现连接
tcp6 0 0 192.168.55.108:20 192.168.55.107:48761 ESTABLISHED 65534 64699 16019/vsftpd
tcp6 0 0 192.168.55.108:21 192.168.55.107:50274 ESTABLISHED 0 63811 15996/vsftpd