问小白 wenxiaobai
资讯
历史
科技
环境与自然
成长
游戏
财经
文学与艺术
美食
健康
家居
文化
情感
汽车
三农
军事
旅行
运动
教育
生活
星座命理

iptables防火墙规则设置顺序详解

创作时间:
作者:
@小白创作中心

iptables防火墙规则设置顺序详解

引用
CSDN
1.
https://blog.csdn.net/weixin_42035350/article/details/144276528

一、iptables背景说明

使用iptables设置防火墙,可以有效管理防火墙各种规则。在动作目标中,有DROP(丢弃)和ACCEPT(接受)两种。这两种规则设置的顺序和要求是怎么样的呢?

一般而言,先把ACCEPT放在前面,DROP放在后面,但这个并非绝对,所以具体看应用场景是怎么样的。只要记住一个原则,就知道怎么设置防火墙:根据匹配规则原则,设置防火墙规则完成后,系统是一条一条规则去匹配,直至匹配完所有规则。如果第一条规则就已经匹配,就不会继续往下匹配第二条规则,记住这个原则即可。

下面通过实际案例操作,演示说明。

二、iptables设置顺序

假设只允许一个IP地址访问服务器上的8080,8090端口,其他任何IP地址都无法访问该服务器上的8080,8090端口。

源端服务器A:10.2.17.205
目标端服务器B:10.2.17.206

(1). 在目标端服务器B(10.2.17.206)上设置如下规则:

iptables -I INPUT -p tcp -m multiport --dport 8080,8090 -j DROP
iptables -I INPUT -p tcp -m multiport -s 10.2.17.205 --dport 8080,8090 -j ACCEPT

注意:这里使用的是-I,使用-I后加的规则会变成第一个规则,你可以使用-A进行追加,这样规则添加进去的顺序就是你输入命令的顺序。

(2). 查看新建的规则:

iptables -nL --line-number

如下图所示:ACCEPT成了1号规则,DROP成了2号规则

(3). 在源端服务器A(10.2.17.205)服务器上发起telnet测试:

可以看到telnet成功

(4). 清空规则:

iptables -F

(5). 重新添加规则:这里使用-A追加,顺序添加

iptables -A INPUT -p tcp -m multiport --dport 8080,8090 -j DROP
iptables -A INPUT -p tcp -m multiport -s 10.2.17.205 --dport 8080,8090 -j ACCEPT

(6). 查看规则顺序:

iptables -nL --line-number

可以看见现在1号规则顺序是DROP,2号规则才是ACCEPT

(7). 再次在10.2.17.205服务器上发起telnet测试:

可以看到telnet不成功

三、iptables总结

设置规则时,到底是把DROP放在前,还是放在最后,需要根据实际场景定论,很多博主会说一般把DROP放在最后,这种说法不严谨。结合规则匹配顺序,系统匹配规则时,是每条规则顺序匹配,如果第一个规则就能匹配成功,就不会往下继续匹配,按照这个原则设置防火墙即可。

© 2023 北京元石科技有限公司 ◎ 京公网安备 11010802042949号