WordPress建站
学WP建站就来建站吧!

阿里云ECS Linux Vsftpd主被动模式下iptables设置

FTP连接包括:

(1)、一个控制连接:这个连接用于传递客户端的命令和服务器端对命令的响应,比如:登录使用的用户名与密码、变更目录命令CWD、PUT 、GET文件。它使用TCP 21端口。

(2)、多个数据连接:这些连接用于传输文件和其它数据,比如:目录列表命令LIST。使用端口依据FTP服务端工作模式决定。

vsftpd主动与被动模式的区别在于PORT命令的发出方,或者说数据连接的主动发起方。

主动模式下,由客户端通过PORT告知服务端自己的监听端口,然后服务端通过自己定义的主动模式下的端口(默认为20)发起到客户端宣告的端口的连接。

被动模式下,服务端在接到客户端的PASV命令后,通过PORT发送端口号给客户端,客户端连接这个端口进行数据传输。

1、主动模式下iptables设置

这个模式下,因为是客户端需要连接服务端的21端口,同时服务端的20端口主动外联客户端的端口,所以要确保INPUT方向的21允许访问,同时OUTPUT方向的20允许通过(通常OUTPUT默认ACCEPT,所以这个不用设置。如果为DROP,则需要添加外出方向的20访问规则),以及创建的RELATED与ESTABLISHED规则。具体如下:

iptables -A INPUT -p tcp -m tcp –dport 21 -j ACCEPT

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

2、被动模式下iptables设置

针对vsftpd的设置可以使用不同策略

(1)、vsftpd未指定被动模式的端口范围

在/etc/sysconfig/iptables-config中添加:IPTABLES_MODULES=”ip_conntrack_ftp”,加载ip_conntrack_ftp模块以过滤传输与ftp控制连接相关的数据连接中经过的数据。修改设置后使用service iptables restart使新的模块加载。同时iptables需要允许访问21端口。

iptables -A INPUT -p tcp -m tcp –dport 21 -j ACCEPT

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

(2)、vsftpd指定被动模式的端口范围

也可以使用(1)中的方案,或者可以在iptables的INPUT链中放行对指定范围端口的访问

比如:

在/etc/vsftpd/vsftpd.conf中设置:

pasv_enable=YES

pasv_min_port=6666

pasv_max_port=8888

在iptables中开放这段端口:

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

iptables -A INPUT -p tcp –dport 6666:8888 -j ACCEPT或 iptables -A INPUT -p tcp -m multiport 6666:8888 -j ACCEPT

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

头条:IM平头哥 微信订阅号:wordpress8—WordPress建站吧 » 阿里云ECS Linux Vsftpd主被动模式下iptables设置

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

【WordPress建站吧,轻松学建站!关注微信订阅号:wordpress8】

WordPress安装联系我们