LinuxSir.cn,穿越时空的Linuxsir!

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

关于iptables的问题

[复制链接]
发表于 2005-5-13 09:17:27 | 显示全部楼层 |阅读模式
我是用linux来作网关上网的
在访问一个ftp的时候提示
220---------- 欢迎来到 Pure-FTPd ----------
220-您是第 1 个使用者,最多可达 100 个连接
220-现在本地时间是 08:46。服务器端口: 21。
220-这是私人系统 - 不开放匿名登录
220 在 15 分钟内没有活动,您被会断线。
User (web1.chyangwa.com none)):abcde
331 使用者 abcde OK. 需要密码.
Password:
230-您的带宽使用受限制
230-使用者 slack 有以下组的权限::  99
230 OK. 目前的目录是 /
ftp> ls
500 我不能开启连接到 192.168.0.100 (仅 61.149.36.42)
425 无数据连接
ftp>

不知道原因出在了那里?
我iptables如下
root@slackware:~# iptables -t nat -L
Chain PREROUTING (policy ACCEPT)
target     prot opt source               destination
DNAT       tcp  --  anywhere             anywhere            tcp dpt:4662 to:192.168.0.100:4662
DNAT       tcp  --  anywhere             anywhere            tcp dpt:4771 to:192.168.0.100:4711

Chain POSTROUTING (policy ACCEPT)
target     prot opt source               destination
MASQUERADE  all  --  anywhere             anywhere

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination
root@slackware:~#
发表于 2005-5-13 11:30:48 | 显示全部楼层
/sbin/modprobe iptable_nat
/sbin/modprobe ip_conntrack
/sbin/modprobe ip_conntrack_ftp
/sbin/modprobe ip_nat_ftp
回复 支持 反对

使用道具 举报

发表于 2005-5-13 15:11:42 | 显示全部楼层

修改/etc/sysconfig/iptables-config的IPTABLES_MODULES字段

比如
IPTABLES_MODULES=”ip_nat_ftp“
可以在启动时自动载入ip_nat_ftp模块
回复 支持 反对

使用道具 举报

 楼主| 发表于 2005-5-13 16:27:48 | 显示全部楼层
3楼的兄弟,我的系统是slackware,没有这个iptables-config文件
看来只能先按照2楼的看看了
回复 支持 反对

使用道具 举报

发表于 2005-5-13 16:32:05 | 显示全部楼层
Post by hellwolf
比如
IPTABLES_MODULES=”ip_nat_ftp“
可以在启动时自动载入ip_nat_ftp模块


这个以前没注意过,收下了,谢
回复 支持 反对

使用道具 举报

 楼主| 发表于 2005-5-13 16:32:45 | 显示全部楼层
按照2楼的做法,问题解决了
能不能给我讲讲这些命令是什么意思呀?
多谢了兄弟,解决我一个难题。
要不我在家就不能上传我的网页了。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2005-5-13 16:37:50 | 显示全部楼层
答案找到了

加载模块:
modprobe ip_tables
insmod ip_conntrack
insmod ip_conntrack_ftp
insmod ip_nat_ftp

关于有状态功能,重点在于后三个模块:
ip_conntrack模块能够使防火墙具有连接跟踪能力。(通过输入 "cat /proc/net/ip_conntrack" 可以查看您的机器参与的活动网络连接。)

加载这个模块后,基本上所有有状态的返回包都能识别,例:telnet,http,QQ,mail,ping,dns等。

实际上,加载了ip_conntrack模块,ftp已经能够登陆,并能使用象pwd,cd等命令,但当使用ls命令显示文件内容时,就会timeout。原因在于

显示文件列表的包防火墙无法识别,就会进入默认策略----禁止,此时就需要加载ip_conntrack_ftp模块。

ip_conntrack_ftp模块使防火墙能够识别FTP某类特殊的返回包。

如果防火墙上对所有出去的返回包作了伪装,就需要加载ip_nat_ftp模块。
ip_nat_ftp模块在出去的包作了伪装以后,必须加载,否则防火墙无法知道返回的包该转发到哪里。
回复 支持 反对

使用道具 举报

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

本版积分规则

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