首页 > 代码库 > ftp主动模式 被动模式 和iptables 设置

ftp主动模式 被动模式 和iptables 设置

FTP协议有两种工作方式:PORT方式和PASV方式,中文意思为主动式和被动式。

Port模式:ftp server:tcp 21 <------client:dynamic    ftp server:tcp 20 ------>client:dynamic

Pasv模式:ftp server:tcp 21 <----client:dynamic     ftp server:tcp dynamic <----client:dynamic
PORT(主动)方式的连接过程是:客户端向服务器的FTP端口(默认是21)发送连接请 求,服务器接受连接,建立一条命令链路。当需要传送数据时,客户 端在命令链路上用PORT命令告诉服务器:“我打开了XXXX端口,你过来连接我”。于是服务器从20端口向客户端的XXXX端口发送连接请求,建立一条 数据链路来传送数据。
PASV(被动)方式的连接过程是:客户端向服务器的FTP端口(默认是21)发送连接请 求,服务器接受连接,建立一条命令链路。当需要传送数据时,服务 器在命令链路上用PASV命令告诉客户端:“我打开了XXXX端口,你过来连接我”。于是客户端向服务器的XXXX端口发送连接请求,建立一条数据链路来 传送数据。

 

 

主动模式,防火墙设置

iptables -A INPUT -p tcp -m state --state ESTABLISHED,RELATED -j ACCEPTiptables -A INPUT -p tcp -s x.x.x.x --dport 20:21  -j ACCEPT

被动模式,防火墙设置

如果用vsftpd,修改配置文件,设置最小和最大打开端口

pasv_min_port=2222pasv_max_port=2225
iptables -A INPUT -p tcp -m state --state ESTABLISHED,RELATED -j ACCEPTiptables -A INPUT -p tcp -s x.x.x.x --dport 21  -j ACCEPTiptables -A INPUT -p tcp -s x.x.x.x --dport 2222:2225  -j ACCEPT