iptables新连接与--syn


13

之间有什么区别:

iptables ... -m state --state NEW

iptables ... --syn

第一个应该选择NEW连接,但是AFAIK新连接是通过发送TCP syn标志建立的。另一个意味着-具有syn标志的数据包。

当上述命令返回不同的结果时,您能举一些实际的例子吗?

Answers:


8

--syn标志对于检查TCP流量非常有用,但是该NEW状态可用于其他协议(包括和TCP),例如UDPICMP。我可以说这NEW--synTCP选项更笼统。

从iptables手册中,您可以阅读:

NEW    meaning that the packet has started a new connection,
       or otherwise associated with a connection which has not seen packets in both directions

例如,DNS请求将与NEW状态匹配,但是与带--syn选项的规则不匹配。简单来说,这是一个UDP数据报。

同样,该--syn选项可用于检查带有错误标志组合的TCP数据包以将其丢弃。

另外,您可以同时使用这两个选项来检查NEWTCP流,而不--syn将它们作为第一个数据包丢弃,例如:

$ sudo iptables -A bad_tcp_packets -p tcp ! --syn -m state --state NEW -j LOG --log-prefix "New not syn:"

在这里,我们将这种类型的数据包添加到用户定义的链中,该链称为bad_tcp_packets丢弃/记录等。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.