首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >这些规定是什么?

这些规定是什么?
EN

Server Fault用户
提问于 2016-02-13 11:42:15
回答 1查看 899关注 0票数 2

我试图弄清楚这些iptable的规则实际上是做什么的,但我并不是很有经验。

以下是两条规则:

代码语言:javascript
复制
iptables -A INPUT -p tcp --syn --dport 80 -m connlimit --connlimit-above 20 --connlimit-mask 16 -j REJECT --reject-with tcp-reset
iptables -A INPUT -p tcp --syn --dport 443 -m connlimit --connlimit-above 20 --connlimit-mask 16 -j REJECT --reject-with tcp-reset

我一直在为自己搜索这个,但我并不完全确定。

据我理解,这些规则适用于使用特定端口上的TCP协议(在本例中为HTTPS )到服务器的传入连接,并拒绝在特定时间内发送超过20个的IP地址。但是我不明白下面的属性到底是做什么的,或者拒绝是如何实际工作的。

  • -连接极限- 20以上
  • -连接限制-掩模16
  • 拒绝-拒绝-使用tcp重置

当这些IP地址被阻塞时,这个限制适用的时限是什么?如果是的话,时间会持续多久?

EN

回答 1

Server Fault用户

回答已采纳

发布于 2016-02-13 13:04:23

下面是上述iptables规则中这些参数的含义。

代码语言:javascript
复制
--syn

这实际上是--tcp-flags SYN,RST,ACK,FIN SYN的缩写,并表示对于这个iptables规则检查的数据包,应该检查TCP标志SYN、RST、ACK和FIN。应该只匹配设置了TCP标志SYN的数据包。

代码语言:javascript
复制
--connlimit-above 20

这实际上是参数-m connlimit --connlimit-above 20的一部分,并要求将数据包与连接限制相匹配。如果数据包与超过前20个连接的任何连接相关,则丢弃数据包。

代码语言:javascript
复制
--connlimit-mask 16

这允许您限制将允许来自哪个子网掩码的数据包。此参数仅将每个255.255.0.0子网的连接数限制为16个。因此,通过同时使用这两个子网,您可以控制一次可以从一个255.255.0.0子网中建立多少连接。

代码语言:javascript
复制
REJECT --reject-with tcp-reset

这意味着任何匹配的数据包都应该丢弃。通过告诉iptables使用tcp-重置丢弃数据包,您是说原始源必须重新开始会话(如果他们提出相同的请求,也将被删除)。

http://www.netfilter.org/documentation/HOWTO/packet-filtering-HOWTO-7.html

http://ipset.netfilter.org/iptables-extensions.man.html

票数 5
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/755992

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档