LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 981|回复: 2

为什么我的iptables开放ftp的规则不起作用?

[复制链接]
发表于 2005-4-18 10:34:44 | 显示全部楼层 |阅读模式
我用图形界面的安全级别添加的允许ftp通过的规则.
ftp的数据通路用的passive模式,命令通路可以打开,可以登录,但是数据通路打不开,iptables的规则如下:
[root@localhost init.d]# iptables -L -n
Chain INPUT (policy ACCEPT)
target prot opt source destination
RH-Firewall-1-INPUT all -- 0.0.0.0/0 0.0.0.0/0

Chain FORWARD (policy ACCEPT)
target prot opt source destination
RH-Firewall-1-INPUT all -- 0.0.0.0/0 0.0.0.0/0

Chain OUTPUT (policy ACCEPT)
target prot opt source destination

Chain RH-Firewall-1-INPUT (2 references)
target prot opt source destination
ACCEPT all -- 0.0.0.0/0 0.0.0.0/0
ACCEPT icmp -- 0.0.0.0/0 0.0.0.0/0 icmp type 255
ACCEPT esp -- 0.0.0.0/0 0.0.0.0/0
ACCEPT ah -- 0.0.0.0/0 0.0.0.0/0
ACCEPT udp -- 0.0.0.0/0 224.0.0.251 udp dpt:5353
ACCEPT udp -- 0.0.0.0/0 0.0.0.0/0 udp dpt:631
ACCEPT all -- 0.0.0.0/0 0.0.0.0/0 state RELATED,ESTABLISHED
ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 state NEW tcp dpt:21
REJECT all -- 0.0.0.0/0 0.0.0.0/0 reject-with icmp-host-prohibited

请问是哪里出了问题?
发表于 2005-4-19 23:47:38 | 显示全部楼层
被动模式,开放的是临时端口(server上)你如果只是指定允许进出个别的端口,临时端口很可能给你的iptables给封死了
人家client连上来的syn就给你的iptable过滤掉了当然连不上,这里我说的是data connection
而控制连接因为端口固定你,我推测你在iptables里已经放行了
办法1,找找看是否有iptable的ftp动态模块;办法2,你用主动连接
回复 支持 反对

使用道具 举报

发表于 2005-4-23 10:02:32 | 显示全部楼层
试试这个方法:

1、在FTP服务器的配置中设定Pasv_max_port与pasv_min_port两个参数(即设定Pasv模式开放的临时端口的范围),重启FTP服务。如:pasv_max_port=31500, pasv_min_port=31000
2、在IPTABLES中设定开放以上的端口,如:iptables -A INPUT -i eth0 -p tcp --dport XXXXX:XXXXX -j accept  #XXXXX是端口号
以上方法在Redhat 9+VSFTP中测试通过。
我也是新手,大家一起讨论。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表