CU讲义中iptables附加模块包状态匹配state问题!

发布于 2022-07-25 07:37:10 字数 337 浏览 20 评论 9

iptables -A INPUT -p tcp --dport 21 -j ACCEPT
iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT

这个是CU讲义中讲到的,可以登录到FTP空间且可以得到空间的文件列表!
但是:iptables -A INPUT -p tcp --dport 21 -m state --state ESTABLISHED,RELATED -j ACCEPT
这个是我在chinaitlab的视频教程上看到的,但是这个就得不到文件列表,为什么?
两个的差别很大吗?为什么实现不了同样的功能啊?!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(9

自在安然 2022-07-27 07:15:59

谢谢!

风铃鹿 2022-07-27 07:14:16

iptables -A INPUT -p tcp --dport 21 -j ACCEPT
iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
这个是并集
是 ( -p tcp --dport 21 || -m state --state RELATED,ESTABLISHED ) -j ACCEPT

iptables -A INPUT -p tcp --dport 21 -m state --state ESTABLISHED,RELATED -j ACCEPT
这个是交集
是 ( -p tcp --dport 21 && -m state --state RELATED,ESTABLISHED ) -j ACCEPT

明白了吗?

够钟 2022-07-27 07:01:16

原帖由 河里的鱼 于 2006-9-13 15:46 发表

必须保证出去的连接,也就是命令连接成功以后,数据传输的时候这个连接怎么办?

那么怎么保证呢?这个就需要对连接进行跟踪,把以前命令连接的数据和它相关的连接得放行

所以,要用到state啊!

七颜 2022-07-27 06:59:51

原帖由 marsaber 于 2006-9-13 13:07 发表

不是吗?
你的意思是FTP服务器只需要开20、21两个端口,其余的1-19、22-65535关掉能实现数据传输?

有问题

现在关键的是说楼主的问题,

对于FTP有两种模式,所以在FW上设置的时候要针对这两种模式,也就是状态连接跟踪

必须保证出去的连接,也就是命令连接成功以后,数据传输的时候这个连接怎么办?

那么怎么保证呢?这个就需要对连接进行跟踪,把以前命令连接的数据和它相关的连接得放行

2022-07-27 03:00:37

原帖由 河里的鱼 于 2006-9-13 09:29 发表
发一个请求给FTP服务器的21端口,服务器做出响应然后随机分配一个端口给客户端供数据传输

FTP有几个端口?不是20.21吗?那20是做什么用的?

你说随机分配一个端口传输数据,那FTP为什么要用两个端口?

而且FTP的主动模式和被动模式又是做什么的?

不是吗?
你的意思是FTP服务器只需要开20、21两个端口,其余的1-19、22-65535关掉能实现数据传输?

三人与歌 2022-07-27 02:22:31

发一个请求给FTP服务器的21端口,服务器做出响应然后随机分配一个端口给客户端供数据传输

FTP有几个端口?不是20.21吗?那20是做什么用的?

你说随机分配一个端口传输数据,那FTP为什么要用两个端口?

而且FTP的主动模式和被动模式又是做什么的?

遗弃M 2022-07-26 14:59:29

iptables -A INPUT -p tcp --dport 21 -m state --state ESTABLISHED,RELATED -j ACCEPT
这个是我在视频教程中看到的,这个我还能理解一点,但是state的功能还是很模糊。
1.iptables -A INPUT -p tcp --dport 21 -j ACCEPT
2.iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
我不是很理解,有人告诉我,如果2放在1前面会有效,但是我12顺序的话也是可以从FTP空间得到数据的。

发一个请求给FTP服务器的21端口,服务器做出响应然后随机分配一个端口给客户端供数据传输。比如:
[root@honker ~]# ftp 192.168.1.202
Connected to 192.168.1.202.
220 FTP Server for New West Net Bar-modemTNT
500 'AUTH': command not understood.
500 'AUTH': command not understood.
KERBEROS_V4 rejected as an authentication type
Name (192.168.1.202:root): marsaber
331 User name okay, need password.
Password:
230 User logged in, proceed.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> ls
227 Entering Passive Mode (192,168,1,202,4,35)
150 Opening ASCII mode data connection for /bin/ls.
drw-rw-rw-   1 user     group           0 Sep 11 17:41 .
drw-rw-rw-   1 user     group           0 Sep 11 17:41 ..
-rw-rw-rw-   1 user     group     3025597 May 21 12:45 0520.rar
drw-rw-rw-   1 user     group           0 Aug 31 20:06 Books
....................................
(192,168,1,202,4,35)==192.168.1.202的256*4+35=1059端口传输数据。

是不是?

萌梦深 2022-07-26 00:54:09

原帖由 山东大葱 于 2006-9-12 09:07 发表
iptables -A INPUT -p tcp --dport 21 -j ACCEPT
iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT

这个是CU讲义中讲到的,可以登录到FTP空间且可以得到空间的文件列表!
但是:iptables -A INPUT -p tcp --dport 21 -m state --state ESTABLISHED,RELATED -j ACCEPT
这个是我在chinaitlab的视频教程上看到的,但是这个就得不到文件列表,为什么?
两个的差别很大吗?为什么实现不了同样的功能啊?!

我是建议你先瞭解一下 ftp protocol 的连结方式,因为 data channel 的连线后续 port 是动态建立的,所以不会在 port 21 上。

因为是这个情况,所以当然不可以加上 --dport 21 叙述。

==

彼岸花ソ最美的依靠 2022-07-25 16:36:48

iptables -A INPUT -p tcp --dport 21 -m state --state ESTABLISHED,RELATED -j ACCEPT

说说你的理解?

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文