【Iptables】10 Iptables自定义链

特别说明:此系列博文根据 朱双印博客-iptables系列博文,个人实践后总结,此为个人笔记精简版,更通俗易懂请参考 朱双印博客-iptables系列博文 原文内容,诸君必能有所收获

10 Iptables自定义链

之前我们一直在讨论和使用默认的链,感觉已经满足我们的需要了,但是这样吗?

有没有可能我们想针对某一个服务自定义一条链,所有与之相关的规则都放在一起,这样会更好管理,我们不用在一大堆杂乱的规则中花大量时间找出我们想要的规则;答案是可以的,我们现在便新建一条自己的链吧

现在我们想自定义一条与WEB相关的链,先不管规则定义,怎么才能定义一条链呢?答案是使用 -N 选项

iptables -t filter -N IN_WEB

上述命令表示,我们要在表 filter 上新建一条名叫 IN_WEB 的链,查看一下iptables的相关信息

iptables -nvL
在这里插入图片描述
可以看到信息中比之前多了一条链,即"Chain IN_WEB (0 reference)" ;这条自定义链的引用计数为0,也就是说,这条链没有被任何一条默认链引用,此时它是不会有任何作用的,即使里面有规则

为了让我们自定义的链能够正常使用,就需要在默认链引用它,如我现在想在INPUT链引用 IN_WEB 链

iptables -t filter -I IN_WEB -s 192.168.200.115 -j REJECT

iptables -I INPUT -p tcp --dport 80 -j IN_WEB
在这里插入图片描述
如图,我们先在IN_WEB链定义了一条规则,然后又在INPUT链引用了IN_WEB链,可以看到,INPUT链的target字段的值为IN_WEB,表示该INPUT规则匹配条件成功会怎么做(使用IN_WEB链);然后可以看到IN_WEB链的引用计数也变成了1,这表示有一条默认链引用了IN_WEB链

有可能我们并不想使用IN_WEB链这个名字了,想把它变成WEB链,我们可以使用 -E 选项

iptables -E INWEB WEb
在这里插入图片描述
可以看到,我们使用上述命令后,IN_WEB 链重命名为了WEB ;

那如果不想要WEB链了,需要删除它,可以使用 -X 选项删除自定义链,但是删除需要满足两个条件

  • 自定义链没有被任何默认链引用,即自定义链的引用计数为0
  • 自定义链中没有任何规则,即自定义链规则为空

iptables -X WEB
在这里插入图片描述
可以看到删除失败,因为之前我们在WEB 链中定义了规则,并且在INPUT链引用了WEB链,这就使得删除链的条件不满足;

要想删除WEB链,就必须找到INPUT链中引用WEB链的规则,将之删除,然后再清除WEB链的所有规则

iptables -D INPUT 1

iptables -t filter -F WEB

iptables -t filter -X WEB
在这里插入图片描述
由于INPUT链中唯一的规则便是引用了WEB链的,所以删除序号为1的规则便删除了引用WEB链的规则;然后我们使用了 -F 选项清空了WEB链的所有规则,此时WEB链便是一条无引用,无规则的自定义链,满足删除链的条件,可以被删除
【Iptables】iptables目录
【Iptables】11 Iptables之网络防火墙

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值