免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 3365 | 回复: 6
打印 上一主题 下一主题

怎样设置iptables规则才能让ftp服务器正常传输数据? [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2010-08-22 11:11 |只看该作者 |倒序浏览
本帖最后由 13025700481 于 2010-08-22 18:59 编辑

在服务器上有这样一条iptables规则。



$IPTABLES -A INPUT -p tcp --dport 21 --syn -m state --state NEW -j ACCEPT

这个按照我的理解应该是添加一条规则为“协议为tcp并且端口为21的只接受那些设置了SYN位而清除了ACK和FIN位的TCP的为了发起新连接的数据包”。
再结合上面的规则,不属于已建立的连接的数据包都要丢弃。

那时我不明白,以为只需要用到21端口。

再过了一段时间。

在没设置防火墙规则的时侯,发现用tcpdump监控流量,服务器会在20端口向客户机发送一个TCP连接请求,用它来传输数据。



而这个端口是被过滤的。

当我添加了一条规则后它却还是照样不行。






在服务器上用tcpdump查看,20端口还是没有被打开。因为没有数据包从那个端口发出。

之后在服务器上添加规则,单独列出20端口,让它完全暴露。



在客户机上用tcpdump查看,还是没有数据包从20端口发出,于是就无法列出文件了。



用iptables -L查看被启用的所有规则,20端口的向外的SYN数据包是被允许通过的啊。。。



但为什么就是不行呢?

论坛徽章:
381
CU十二周年纪念徽章
日期:2014-01-04 22:46:58CU大牛徽章
日期:2013-03-13 15:32:35CU大牛徽章
日期:2013-03-13 15:38:15CU大牛徽章
日期:2013-03-13 15:38:52CU大牛徽章
日期:2013-03-14 14:08:55CU大牛徽章
日期:2013-04-17 11:17:19CU大牛徽章
日期:2013-04-17 11:17:32CU大牛徽章
日期:2013-04-17 11:17:37CU大牛徽章
日期:2013-04-17 11:17:42CU大牛徽章
日期:2013-04-17 11:17:47CU大牛徽章
日期:2013-04-17 11:17:52CU大牛徽章
日期:2013-04-17 11:17:56
2 [报告]
发表于 2010-08-22 20:35 |只看该作者
iptables有个ftp的模块,楼主加载下看看

论坛徽章:
0
3 [报告]
发表于 2010-08-23 14:32 |只看该作者
搞定。

#!/bin/sh

IPTABLES=/sbin/iptables
IP6TABLES=/sbin/ip6tables

echo "[+] Flushing existing iptables rules..."

$IPTABLES -F
$IPTABLES -F -t nat
$IPTABLES -X
$IPTABLES -P INPUT DROP
$IPTABLES -P OUTPUT DROP
$IPTABLES -P FORWARD DROP

echo "[+] Disabling IPv6 traffic..."

$IP6TABLES -P INPUT DROP
$IP6TABLES -P OUTPUT DROP
$IP6TABLES -P FORWARD DROP

echo "[+] Load connection-tracking modules..."
#Loading when boot
#Edit /etc/sysconfig/iptables-config
#Add:
#IPTABLES_MOUDULES="ip_conntrack_ftp"
modprobe ip_conntrack_ftp

echo "[+] Setting up INPUT chain..."

$IPTABLES -A INPUT -m state --state INVALID -j LOG --log-prefix "DROP INVALID " --log-ip-options --log-tcp-options --log-tcp-sequence
$IPTABLES -A INPUT -m state --state INVALID -j DROP
$IPTABLES -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

$IPTABLES -A INPUT -p tcp --dport 21 --syn -m state --state NEW -j ACCEPT
$IPTABLES -A INPUT -i eth0 -j LOG --log-prefix "DROP " --log-ip-options --log-tcp-options --log-tcp-sequence

$IPTABLES -A INPUT -i lo -j ACCEPT

echo "[+] Setting up OUTPUT chain..."

$IPTABLES -A OUTPUT -m state --state INVALID -j LOG --log-prefix "DROP INVALID " --log-ip-options --log-tcp-options --log-tcp-sequence
$IPTABLES -A OUTPUT -m state --state INVALID -j DROP
$IPTABLES -A OUTPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

$IPTABLES -A OUTPUT -p tcp --dport 21 --syn -m state --state NEW -j ACCEPT
$IPTABLES -A OUTPUT -p tcp --dport 22 --syn -m state --state NEW -j ACCEPT
$IPTABLES -A OUTPUT -p tcp --dport 25 --syn -m state --state NEW -j ACCEPT
$IPTABLES -A OUTPUT -p tcp --dport 43 --syn -m state --state NEW -j ACCEPT
$IPTABLES -A OUTPUT -p tcp --dport 80 --syn -m state --state NEW -j ACCEPT
$IPTABLES -A OUTPUT -p tcp --dport 443 --syn -m state --state NEW -j ACCEPT
$IPTABLES -A OUTPUT -p tcp --dport 4321 --syn -m state --state NEW -j ACCEPT
$IPTABLES -A OUTPUT -p tcp --dport 53 -m state --state NEW -j ACCEPT
$IPTABLES -A OUTPUT -p udp --dport 53 -m state --state NEW -j ACCEPT
$IPTABLES -A OUTPUT -p icmp --icmp-type echo-request -j ACCEPT

$IPTABLES -A OUTPUT -o eth0 -j LOG --log-prefix "DROP " --log-ip-options --log-tcp-options --log-tcp-sequence

$IPTABLES -A OUTPUT -o lo -j ACCEPT

论坛徽章:
34
亥猪
日期:2015-03-20 13:55:11戌狗
日期:2015-03-20 13:57:01酉鸡
日期:2015-03-20 14:03:56未羊
日期:2015-03-20 14:18:30子鼠
日期:2015-03-20 14:20:14丑牛
日期:2015-03-20 14:20:31辰龙
日期:2015-03-20 14:35:34巳蛇
日期:2015-03-20 14:35:56操作系统版块每日发帖之星
日期:2015-11-06 06:20:00操作系统版块每日发帖之星
日期:2015-11-08 06:20:00操作系统版块每日发帖之星
日期:2015-11-19 06:20:00黄金圣斗士
日期:2015-11-24 10:43:13
4 [报告]
发表于 2010-08-23 17:44 |只看该作者
需要上下文吧?

论坛徽章:
0
5 [报告]
发表于 2010-08-26 09:03 |只看该作者
不知道LS说的是什么?

论坛徽章:
0
6 [报告]
发表于 2010-08-26 10:06 |只看该作者
LZ 可以看一下 Linux 网络问题版置顶的《2 小时玩转 iptables》文档,里面有例子和详细的原理解释

招聘 : 技术支持/维
论坛徽章:
0
7 [报告]
发表于 2010-10-20 22:46 |只看该作者
conntract机制可以保证
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP