iptables下开放ftp连接

运维 系统运维
iptables 是与最新的 2.6.x 版本Linux 内核集成的 IP 信息包过滤系统。本文将为大家下介绍:iptables的ftp连接,让我们在文章中找iptables下开放ftp连接的方法。

FTP连接能在iptables下开放,让我们看看这是如何实现的!

  iptables 的filter表的INPUT链的默认策略设为了DROP,其余的链均为ACCEPT。 该服务器即要作ftp服务器,也要连上别的ftp服务器。即是说要把源端口和目的端口都开放21才行:

  iptables -A INPUT -p tcp --sport 21 -j ACCEPT

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

  开了21端口就行了吗?不是的。先说说ftp协议。ftp协议是一个简单、保密性差(明码)的tcp协议,它的工作原理是客户端先连服务器端的21端口,然后经过3步的握手以后建立了一条连接。要注意的是,这条连接只可以用来传输ftp的命令,只有这条连接的话是什么都传不了的,就算是用“ls”命令来查看文件也不行。

  建立了命令的连接以后,服务器端就要建立一条数据的连接。数据的连接又分为主动模式(port)和被动模式(passive)。ftp默认是被动模式,主动和被动之间使用"pass"命令切换。主动模式通过20端口与客户端相连,而被动模式却使用1024以后的端口与客户端相连。由于1024以后的端口是随机分配的,所以在被动模式下我们是不知道服务端是使用什么端口与客户端连接的。也就是说,我们是不知道iptables要开放什么端口。

  开始我使用的是

  iptables -A input -p tcp --sport 1024: --dport 1024: -j ACCEPT

  来让ftp建立被动连接的。但觉得如果这样的话,那就等于把所以p2p的连接都开放了,不安全。

  于是在CU上问人,终于找到了解决的方法:

  1、加载模块

  modpobe ip_nat_ftp

  modpobe ip_conntrack

  modpobe ip_conntrack_ftp

  2,加上一条规则:

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

  允许连接保持的被动访问。

  问题终于解决了。

  请教关于iptables的FTP设置

  iptables设置目标(在本机)之一:

  允许访问外面的ftp服务器,无论哪种模式;

  除了xxx.xxx.xxx.123这台机器外,所有的机器所有的连接都drop,除了ftp,

  这两条规则我总是设置不成功,希望高手能给予帮助,谢谢!

  偶已经解决了这个问题啦

  呵呵,贴出来,大家帮着看看有没有问题啦。。。

  iptables -A INPUT -s xxx.xxx.xxx.123 -j ACCEPT

  iptables -A INPUT -p tcp -s ! xxx.xxx.xxx.123 -j ftp

  iptables -A ftp -m state --state RELATED,ESTABLISHED -j ACCEPT

  iptables -A ftp -s 0/0 -j DROP

通过上面详细的讲解,我们明白了iptables下开放ftp连接的具体方法,希望能对你们有用!

【编辑推荐】

  1. Linux iptables将nat中内网多台ftp服务器映射出去
  2. Linux Iptables 内核添加time模块
  3. Linux防火墙Iptables入门笔记
  4. Linux Iptables 语法大全
  5. 用iptables做IP的静态映射
  6. 如何把iptables外网端口全部映射到内网一台主机上
  7. 配置Linux 内核并利用iptables 做端口映射
责任编辑:赵鹏 来源: 网络转载
相关推荐

2011-03-17 17:24:48

2011-03-14 16:05:55

Iptables

2009-11-30 09:56:16

2011-03-14 16:46:40

Linuxiptables上网

2010-06-24 14:20:30

FTP协议

2011-03-16 10:12:32

2011-03-16 11:39:03

2011-03-16 09:05:32

RedhatiptablesNAT

2011-03-16 16:54:10

iptables 清空linux

2010-04-06 11:15:23

2011-03-16 09:05:33

2011-04-21 09:54:14

Linuxiptables

2011-03-18 10:16:13

LinuxiptablesIP

2011-03-16 12:46:29

CentOSiptables防火墙

2015-09-25 10:18:26

搭建FTP服务Linux

2010-03-30 16:55:42

CentOS系统

2010-05-31 19:42:00

Ubuntu

2011-03-15 15:47:26

LinuxIptables防火墙

2011-03-16 10:12:27

LinuxIptables端口转发

2011-03-17 14:09:03

iptables na
点赞
收藏

51CTO技术栈公众号