FTP无法连接:防火墙开放被动模式

  • 2017-09-07
  • 799
  • 0
  • 0

本文只摘取,我所用到的命令,你可以查看原文:设置的问题也可以下面直接留言提问哦。

在设置ftp通过iptables规则前,需要先了解下ftp工作的两种模式,他们分别是主动模式和被动模式。如果对ftp原理不是很清楚,可以先参考下下面几篇文章。

FTP简介

1、FTP主动模式和被动模式的区别

2、Active FTP vs. Passive FTP, a Definitive Explanation

简单的说,主动模式是从服务器端向客户端发起连接;被动模式是客户端向服务器端发起连接。两者的共同点是都使用 21端口进行用户验证及管理,差别在于传送数据的方式不同,PORT(主动)模式的FTP服务器数据端口固定在20,而PASV(被动)模式则在1025-65535之间 随机。

了解ftp原理后,接下来就去设置iptables规则。我自己服务器上默认INPUT规则是DROP,OUTPUT是ACCEPT。

1、开放21端口:

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

2、接受所有状态为ESTABLISHED、RELATED的连接

# iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

有关related状态的说明:

RELATED状态在有双通道的服务中会出现的。比如ftp服务的控制通道和数据通道。client发送syn请求到server的21端口,中间的linux系统变为NEW状态。server回复syn+ack应答包给client,中间的linux变为ESTABLISHED状态。当ftp的控制通道建立完后,会建立数据通道,而数据通道的第一个包就是RELATED状态,以后的包又变成ESTABLISHED状态。

4、保存iptables规则、重启。
[root@iZ94myad6wkZ ~]# service iptables save 
[root@iZ94myad6wkZ ~]# service iptables restart

评论

偷偷告诉你,这还毛都没有 T T

发表评论