免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12345
最近访问板块 发新帖
楼主: filwy
打印 上一主题 下一主题

iptables开了20和21端口,但ftp只可连接,不能显示文件出来 [复制链接]

论坛徽章:
1
荣誉版主
日期:2011-11-23 16:44:17
41 [报告]
发表于 2005-12-30 11:37 |只看该作者
原理懂了, 設定自然容易.

我不參與討論了, 除非參與討論的人真的對 FTP protocol 有仔細研究過.
要不, 講也講不明白...

论坛徽章:
0
42 [报告]
发表于 2005-12-30 15:15 |只看该作者
好容易看到一个自己懂得问题、嘿嘿、这么多人讨论呀
各位大贤的帖子我都看过了、、其实楼主应该看看关于‘iptables对FTP的影响'一文、上面阐述的很透彻

这里先说说FTP传输的两种模式吧:
在正常模式下﹕
1. FTP client 开启一个随机选择的高于 1024 的 port 呼叫 FTP server 的 port 21
请求联机。当顺利完成 Three-Way Handshake 之后﹐联机就成功建立﹐但这仅是命
令通道的建立。
2. 当两端需要传送数据的时候﹐client 透过命令通道用一个 port 命令告诉 server
﹐客户端可以用另一个高于 1024 的 port 做数据信道﹐并准备好 socket 资源。
3. 然后 server 用 port 20 和刚才 client 所告知的 socket 建立数据联机。请注意
﹕联机方向这是从 server 到 client 的﹐TCP 封包会有一个 SYN 旗标。
4. 然后 client 会返回一个带 ACK 旗标的确认封包﹐并完成另一次的 Three-Way
Handshake 手续。这时候﹐数据信道才能成功建立。
5. 开始数据传送。
在 passive 模式下﹕
1. FTP client 开启一个随机选择的高于 1024 的 port 呼叫 FTP server 的 port 21
请求联机﹐并完成命令通道的建立。
2. 当两端需要传送数据的时候﹐client 透过命令通道送一个 PASV 命令给 server﹐
要求进入 passive 传输模式。
3. 然后 server 像上述的正常模式之第 2 步骤那样﹐挑一个高于 1024 的 port ﹐
并用命令通道告诉 client 关于 server 端用以做数据信道的 socket。
4. 然后 client 用另一个高于 1024 的 port 呼叫刚才 server 告知的 scoekt 来建
立数据信道。此时封包带 SYN 标签。
5. server 确认后回应一个 ACK 封包。并完成所有交握手续﹑成功建立数据信道。
6. 开始数据传送。

iptables会自上而下的对比规则﹐找到符合的就不再往下找了。根据这样的特性﹐我们可以将 NAT 外部界面进入的某些联机﹐在那行 syn 过滤规则之前 ACCEPT 进来。

[ 本帖最后由 Ericzhao82 于 2005-12-30 15:17 编辑 ]
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP