云服务器

用iptables实现ftp的主动模式能够访问


下面两句实现的是命令端口的连接

# iptables -A INPUT -p tcp --dport 21 -j ACCEPT

# iptables -A OUTPUT -p tcp --sport 21 -j ACCEPT

--不加这两句,客户端访问时都不能登录,加了后可以登录,但用ls列出ftp的共享信息的话就发现不行,这是因为20的数据端口还没有做规则


# iptables -A INPUT -p tcp --dport 20 -j ACCEPT

# iptables -A OUTPUT -p tcp --sport 20 -j ACCEPT

--主动模式是20端口去主动连接,所以上面两条,实现了主动模式的连接,注意:如果使用linux的ftp命令来做实验的话,注意登录后使用passive命令关掉被动模式再试验


被动模式

客户端连接服务器的随机端口

vim /etc/vsftpd/vsftpd.conf

在最后加上

pasv_enable=YES

pasv_min_port=3000

pasv_max_port=3100 --最小端口范围和最大端口范围可以自定义


/etc/init.d/vsftpd  restart  --重启服务


下面两句就是针对上面的被动配置来设置的允许规则

# iptables -A INPUT -p tcp --dport 3000:3100 -j ACCEPT 

# iptables -A OUTPUT -p tcp --sport 3000:3100 -j ACCEPT 


提交成功!非常感谢您的反馈,我们会继续努力做到更好!

这条文档是否有帮助解决问题?

非常抱歉未能帮助到您。为了给您提供更好的服务,我们很需要您进一步的反馈信息:

在文档使用中是否遇到以下问题: