LinuxSir.cn,穿越时空的Linuxsir!

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

为什么将iptables里面加了21端口,客户端还是没法ftp上去?

[复制链接]
发表于 2007-2-8 09:36:05 | 显示全部楼层 |阅读模式
我用的linux as4。
只有service iptables stop 后,客户端才能ftp上来。

而且我也把selinux里面的SELINUX=disabled了。

其实,从客户端ftp工具的log里面能看到已经login成功了,
但是在Connecting ftp data socket 192.168.1.113:5627...
此时就过不去了。

还有其他要设置的吗?求大家帮帮忙。
发表于 2007-2-8 14:29:58 | 显示全部楼层
试试运行以下语句:

iptables -A INPUT -p tcp -m state --state NEW -m tcp --dport 21 -j ACCEPT  
iptables -P FORWARD -j ACCEPT
回复 支持 反对

使用道具 举报

发表于 2007-2-8 14:48:33 | 显示全部楼层
在iptables里还要开放20端口ftp才能进行数据传输。
回复 支持 反对

使用道具 举报

发表于 2007-2-8 17:23:55 | 显示全部楼层
Post by memory
在iptables里还要开放20端口ftp才能进行数据传输。

我的iptables上策略为INPUT DROP, FORWARD & OUTPUT 都为ACCEPT, 但都没有设置20端口的。FTP访问很正常!!
回复 支持 反对

使用道具 举报

发表于 2007-2-9 02:07:05 | 显示全部楼层
modprobe ip_conntrack_ftp

iptables -P INPUT DROP
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A INPUT -p tcp --dport 21 -j ACCEPT
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-2-9 13:28:34 | 显示全部楼层
Post by Eric_DZT
试试运行以下语句:

iptables -A INPUT -p tcp -m state --state NEW -m tcp --dport 21 -j ACCEPT  
iptables -P FORWARD -j ACCEPT



我的config文件内容如下:
# Firewall configuration written by system-config-securitylevel
# Manual customization of this file is not recommended.
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
:RH-Firewall-1-INPUT - [0:0]
-A INPUT -j RH-Firewall-1-INPUT
-A FORWARD -j RH-Firewall-1-INPUT
-A RH-Firewall-1-INPUT -i lo -j ACCEPT
-A RH-Firewall-1-INPUT -p icmp --icmp-type any -j ACCEPT
-A RH-Firewall-1-INPUT -p 50 -j ACCEPT
-A RH-Firewall-1-INPUT -p 51 -j ACCEPT
-A RH-Firewall-1-INPUT -p udp --dport 5353 -d 224.0.0.251 -j ACCEPT
-A RH-Firewall-1-INPUT -p udp -m udp --dport 631 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 21 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 20 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 25 -j ACCEPT
-A RH-Firewall-1-INPUT -j REJECT --reject-with icmp-host-prohibited
COMMIT

20也好,21也好,似乎已经加了阿.
还是没法起动.
回复 支持 反对

使用道具 举报

发表于 2007-2-9 14:20:52 | 显示全部楼层
Post by jooe2007

......
还是没法起动.

还是没法起动?!
是vsftpd没有启动起来吗?

是不是停掉iptables,其它机子就可以访问?!
回复 支持 反对

使用道具 举报

发表于 2007-2-9 15:41:03 | 显示全部楼层
passive模式的话还要打开passive端口
回复 支持 反对

使用道具 举报

发表于 2007-2-11 21:09:33 | 显示全部楼层
主动模式和被动模式的问题
忘了具体应该改成什么模式了
可以在客户端里实验
回复 支持 反对

使用道具 举报

发表于 2007-2-11 23:28:54 | 显示全部楼层
下面这条:
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 20 -j ACCEPT

应该改dport为sport,改完后应该可以支持port方式的连接。

有了下面这行:
-A RH-Firewall-1-INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
按道理应该不用加上面20端口的那行了,而且应该是ftp主、被动模式都支持。
我觉得问题可能出在ip_conntrack_ftp内核模块上了,有可能没有加载。你可通过lsmod命令来查看是否已经加载了此模块。
回复 支持 反对

使用道具 举报

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

本版积分规则

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