以下在CentOS6.2测试通过

iptables保存和重启操作建议通过service或/etc/init.d/iptables执行

# 保存配置
service iptables save
# 重启
service iptables restart

标准端口

vi /etc/sysconfig/iptables-config
# 增加nf_conntrack_ftp, 也有文档ip_conntrack_ftp其实是它的别名
IPTABLES_MODULES="nf_conntrack_ftp"

# 按需设置INPUT/OUTPUT链
iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -A OUTPUT -m state --state RELATED,ESTABLISHED -j ACCEPT

# 保存配置,重启

自定义端口

如果ftp不是启动在21端口,nf_conntrack_ftp有ports参数可以用指定端口

在标准端口配置的基本上,增加端口参数

# 增加 
vi /etc/modprobe.d/netfilter.conf
# 指定端口
options nf_conntrack_ftp ports=21,6210

# 重启iptables

加密方式

nf_conntrack_ftp需要解析协议获取新开链接的端口,因此加密方式下不能通过nf_conntrack_ftp支持,可以通过端口范围支持

# 修改ftp被动方式端口范围
vi /etc/vsftpd.conf
pasv_min_port=9000
pasv_max_port=10000

# 设置INPUT/OUTPUT链,指定端口范围
iptables -A INPUT -m state --state NEW -p tcp --dport 9000:10000 -j ACCEPT
iptables -A OUTPUT -m state --state NEW -p tcp --sport 9000:10000 -j ACCEPT
Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐