【问题标题】:The "definition" of iptables NEW STATEiptables NEW STATE 的“定义”
【发布时间】:2012-08-30 16:11:55
【问题描述】:

测试环境是:

VirtualBox上安装2个操作系统ubuntu server 10.04

iptables v1.4.4

ip_conntrack 模块已加载

这些是我的测试规则:

    $IPTABLES -A INPUT -p TCP -m state --state NEW -j LOG --log-prefix "[-IPT-]NEW:"
    $IPTABLES -A INPUT -p TCP -m state --state ESTABLISHED -j LOG --log-prefix "[-IPT-]ESTABLISHED:"
    $IPTABLES -A INPUT -p TCP -m state --state RELATED -j LOG --log-prefix "[-IPT-]RELATED:"
    $IPTABLES -A INPUT -p TCP -m state --state INVALID -j LOG --log-prefix "[-IPT-]INVALID:"

使用

hping3 -c 1 192.168.0.1 -p 80 [flags combination]

我明白了:

no flag     INVALID
syn         NEW
ack         NEW
rst         INVALID
fin         INVALID
syn ack INVALID
syn rst INVALID
syn fin INVALID
ack rst INVALID
ack fin INVALID
rst fin INVALID
syn ack rst INVALID
syn rst fin INVALID
ack rst fin INVALID
syn ack rst fin INVALID

我读过更多的教程,说 netfilter 看到的第一个数据包必须是新的(在用户领域)。我不明白我的电脑中是否有什么东西不能工作。

然后,在互联网上,有很多规则可以同时考虑连接状态和 tcp 标志。这些都是错的吗?原因很简单:如果他们丢弃了匹配 new 和 ! --syn,结果很痛苦……很多数据包通过“防火墙”(如果可以这样命名的话)

新版本的 iptables 是否可能有不同的行为?

请问,如果你在你的电脑上得到同样的结果,你能确认我吗? thx,我会很感激的!

【问题讨论】:

  • 欢迎来到 Stack Overflow!请注意,标签不是关键字。也就是说,在标签列表中塞满恰好也出现在您的问题标题中的通用词并不能帮助人们找到您的问题。
  • 谢谢,我会更小心的

标签: iptables


【解决方案1】:

看看你的结果,他们几乎是我所期望的。一些决定是基于conntrack 模块做出的,其他一些我相信是基于TCP RFC 中允许的行为(即标志组合)。

当没有标志时,根据 RFC,这是完全无效的。

我相信您知道原因SYN 被归类为NEW,这非常符合预期:)

ACK 被归类为新模块,因为 conntrack 模块 (afaik) 直到 3 次握手的第三步才开始跟踪连接。

RSTFIN 仅作为实时 TCP 连接的一部分有效,因此此拒绝基于 conntrack 模块在此处跟踪连接。

当您将 TCP 标志组合为“新”数据包时,在某些情况下(例如,ere 应该是先前的连接),而在其他情况下,根据 RFC,它们都只是明显无效的组合(再次)。例如,一个 TCP 段不应该设置 RSTFIN 标志,对于要设置的 ACKRST,应该已经建立了当前的 TCP 连接,以便拆除某些东西(再次正如您提到的 conntrack 模块正在跟踪此处的连接)。

您是否尝试过在 Ubuntu 12.04 或 RHEL 上运行相同的测试?我会看看我是否可以稍后再试,但我相信您的计算机正在按预期工作。不错的测试:)

然后,在互联网上,有很多规则可以同时考虑连接状态和 tcp 标志。这些都是错的吗?

我不这么认为,我认为每个人的用例都不同,将两者结合起来,人们通常会保持谨慎。然而,大多数人没有像你那样做那么多的测试(赞),也不是所有人都理解。

新版本的 iptables 是否可能有不同的行为?

不,据我所知。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-10-02
    • 2021-05-26
    • 2022-01-26
    • 2018-05-12
    • 2021-09-12
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多