首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >对于特定的SRC IP,iptables规则的使用顺序是什么?

对于特定的SRC IP,iptables规则的使用顺序是什么?
EN

Unix & Linux用户
提问于 2016-04-02 19:16:20
回答 1查看 234关注 0票数 1

我想在几个小时内堵住特定地址的车辆。我使用firehol来管理我的规则。

以下规则确实会阻塞目标时间内的所有通信量。

代码语言:javascript
复制
ACCEPT     all  --  anywhere          anywhere             ctstate NEW,ESTABLISHED TIME from 06:00:00 to 16:00:00 UTC

为特定IP修改的相同规则

代码语言:javascript
复制
ACCEPT     all  --  10.10.10.21          anywhere             ctstate NEW,ESTABLISHED TIME from 06:00:00 to 16:00:00 UTC
ACCEPT     all  --  anywhere             anywhere             ctstate NEW,ESTABLISHED

不会阻塞10.10.10.21的通信量。订单看起来是正确的(从更具体到更一般),所以我想知道会缺少什么?

(请注意,这只是与时间限制有关的iptables -L摘录-在为特定IP添加特定规则时更改的规则(而不是工作规则-阻止上述时间以外的所有通信)。

EN

回答 1

Unix & Linux用户

回答已采纳

发布于 2016-04-02 23:34:27

如果您只有接受规则,但一些通信最终被阻塞,这意味着您的规则的策略是删除。因此,您的第一次尝试拒绝所有未明确授权的通信量。第二次尝试还拒绝所有未显式授权的通信,但第二条规则允许大多数通信量(它只阻止一些应该允许通过的东西,例如ICMP错误- you应该始终允许RELATED通过)。

第一次匹配适用。规则1允许在某一时间窗口内从10.10.10.21流量。规则2允许(几乎)所有的流量在任何时候。因为规则1是规则2的子集,所以它是多余的。

若要在指定的时间窗口外拒绝10.10.10.21中的通信量,需要修改规则2以排除10.10.10.21中的通信量,或者在该规则之间添加拒绝通信量的规则。我认为第二种选择更为明确。

代码语言:javascript
复制
iptables -A INPUT -j ACCEPT -s 10.10.10.21 -m conntrack --ctstate NEW,ESTABLISHED,RELATED -m time --timestart 06:00:00 --timestop 16:00
iptables -A INPUT -j REJECT -s 10.10.10.21 -m conntrack --ctstate NEW,ESTABLISHED,RELATED
iptables -A INPUT -j ACCEPT -m conntrack --ctstate NEW,ESTABLISHED,RELATED
iptables -A INPUT -j REJECT

注意,您几乎应该总是对阻塞的流量使用拒绝,而不是删除。。您不能将链式策略设置为DROP,这就是为什么我在最后添加了一个显式的拒绝规则。

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

https://unix.stackexchange.com/questions/273892

复制
相关文章

相似问题

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