FTP服务器iptables的配置
来源:互联网 发布:evdo是什么网络类型 编辑:程序博客网 时间:2024/06/09 17:11
系统:CentOS6.2
软件:vsftpd, iptables
安装完系统后,默认的iptables的规则只允许状态为RELATED、ESTABILISHED的包和SSHD的数据包进入服务器,当安装好vsftpd后,通常需要在iptables上面放开21端口,完整的iptables配置如下:
iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -A INPUT -p icmp -j ACCEPT
iptables -A INPUT -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT
iptables -A INPUT -p tcp -m state --state NEW -m tcp --dport 21 -j ACCEPT
iptables -A INPUT -i lo -j ACCEPT
iptables -A INPUT -j REJECT --reject-with icmp-host-prohibited
在这样的规则下面,客户端能否正常登录到FTP服务器上进行文件的上传和下载呢,测试过程如下:
此例中,FTP服务器IP地址为192.18.2.75,iptables配置如下:
客户端使用Filezilla Client进行连接,效果如下图:
上图中,服务器要求使用被动模式(PASV)连接,从图上可以看出,服务器监听端口44892(175*256+92)等待客户端的连接,但iptables的规则阻止访问该端口,所以连接失败。
将Filezilla配置为主动模式,如下图:
连接服务器:
可以看出连接成功。
因此,在上面的iptables规则下,只能使用主动模式连接。
如何允许使用被动模式呢?
方法一:使用nf_conntrack_ftp模块
插曲:在kernel2.6.19前,这个模块叫ip_conntrack.ko,位于
/lib/modules/`uname -r`/kernel/net/ipv4/netfilter/ip_conntrack_ftp.ko。之后,这个模块改名为nf_conntrack_ftp.ko,位于
/lib/modules/`uname -r` /kernel/net/netfilter/nf_conntrack_ftp.ko
这个模块是Netfilter专门用来处理FTP这个复杂协议的模块,它能够将FTP的数据包标识为RELATED状态,从而允许使用被动模式访问。
使用命令: modprobe nf_conntrack_ftp 加载该模块,之后客户端就能以被动模式连接至FTP服务器了。
上图所示,使用被动模式,服务器监听端口号为159*256+8=40712,在FTP服务器上查看TCP连接状态,如下图:
的确是使用的40712号端口。
方法二:在vsftp的配置文件中使用如下两个选项强制将被动模式时使用的端口号限定在一个范围,然后在iptables上运行对这个范围内端口的访问,选项如下:
Pasv_min_port=10000
Pasv_max_port=15000
软件:vsftpd, iptables
安装完系统后,默认的iptables的规则只允许状态为RELATED、ESTABILISHED的包和SSHD的数据包进入服务器,当安装好vsftpd后,通常需要在iptables上面放开21端口,完整的iptables配置如下:
iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -A INPUT -p icmp -j ACCEPT
iptables -A INPUT -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT
iptables -A INPUT -p tcp -m state --state NEW -m tcp --dport 21 -j ACCEPT
iptables -A INPUT -i lo -j ACCEPT
iptables -A INPUT -j REJECT --reject-with icmp-host-prohibited
在这样的规则下面,客户端能否正常登录到FTP服务器上进行文件的上传和下载呢,测试过程如下:
此例中,FTP服务器IP地址为192.18.2.75,iptables配置如下:
客户端使用Filezilla Client进行连接,效果如下图:
上图中,服务器要求使用被动模式(PASV)连接,从图上可以看出,服务器监听端口44892(175*256+92)等待客户端的连接,但iptables的规则阻止访问该端口,所以连接失败。
将Filezilla配置为主动模式,如下图:
连接服务器:
可以看出连接成功。
因此,在上面的iptables规则下,只能使用主动模式连接。
如何允许使用被动模式呢?
方法一:使用nf_conntrack_ftp模块
插曲:在kernel2.6.19前,这个模块叫ip_conntrack.ko,位于
/lib/modules/`uname -r`/kernel/net/ipv4/netfilter/ip_conntrack_ftp.ko。之后,这个模块改名为nf_conntrack_ftp.ko,位于
/lib/modules/`uname -r` /kernel/net/netfilter/nf_conntrack_ftp.ko
这个模块是Netfilter专门用来处理FTP这个复杂协议的模块,它能够将FTP的数据包标识为RELATED状态,从而允许使用被动模式访问。
使用命令: modprobe nf_conntrack_ftp 加载该模块,之后客户端就能以被动模式连接至FTP服务器了。
上图所示,使用被动模式,服务器监听端口号为159*256+8=40712,在FTP服务器上查看TCP连接状态,如下图:
的确是使用的40712号端口。
方法二:在vsftp的配置文件中使用如下两个选项强制将被动模式时使用的端口号限定在一个范围,然后在iptables上运行对这个范围内端口的访问,选项如下:
Pasv_min_port=10000
Pasv_max_port=15000
- FTP服务器iptables的配置
- iptables配置使用非标准ftp端口的vsftp服务器
- FTP服务器的配置
- 我的服务器iptables配置
- iptables配置FTP服务
- FTP服务器的参数配置
- 服务器的配置(ftp)
- Linux FTP服务器的配置
- 为开放ftp配置iptables
- 为开放ftp配置iptables
- 为开放ftp配置iptables
- LinuxMint(Ubuntu ver)配置FTP 的 iptables 防火墙
- iptables配置FTP的主动和被动模式
- centos下的ftp服务器的配置
- Linux下的FTP服务器配置
- centos FTP服务器的架设和配置
- Ubuntu下FTP服务器的配置
- Linux下的FTP服务器配置
- 树状结构报表增加编号
- aop和ioc的区别
- android 9.png 图片制作
- 使用NSTimer与iphone的简单动画,实现飘雪效果
- 深入探讨 Java 类加载器
- FTP服务器iptables的配置
- ruby on rails 常用命令
- 苹果年度设计大奖获奖名单:国内学生开发电子书压轴
- Android 锁屏 临时屏蔽
- tomcat下配置server.xml指定默认路径
- Qlistview用法例子
- 自定义按钮
- 翻页效果
- 异常处理专题试题汇总