iptables设置规则顺序

一、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 -s10.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 -s10.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放在最后,这种说法不严谨。

结合规则匹配顺序,系统匹配规则时,是每条规则顺序匹配,如果第一个规则就能匹配成功,就不会往下继续匹配,按照这个原则设置防火墙即可。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值