背景
在前一篇文章中,我们介绍过是不会将规则直接应用到链上,而是通过将表应用到链。表其实就是一组规则的集合。/sbin/iptables 命令其实也是操作的表,对指定表进行规则的 增、删、改、查 操作。
下面我们就来一一介绍下不同的操作,先来看看查询操作。
Iptables语法格式
iptables [-t 表名] 管理选项 [链名] [匹配条件] [-j 处理动作]
- 表名/链名:指定
iptables命令所操作的表和链,未指定表名时将默认使用filter表; - 管理选项:表示
iptables规则的操作方式,比如:插入、增加、删除、查看等; - 匹配条件:指定要处理的数据包的特征,不符合指定条件的数据包不在处理;
- 处理动作:指数据包的处理方式,比如:
ACCEPT、REJECT、DROP等;
查询
iptables -t filter -L

iptables -t filter -vL FORWARD --line

红色方框的为链名,表示该表应用于哪些链。filter 应用于 INPUT、OUTPUT、FORWARD 链,括号里面的 policy 为该链的默认策略;packets 为当前链默认策略匹配到的数据包数量;bytes 为当前链默认策略匹配到的包大小。最后一条 DOCKER 为自定义链,这里先不管这个,后面我们专门介绍自定义链。
-t:指定表,如果不指定,默认为filter表-L:展示规则信息,后面可以跟上链名,如第二条命令,只查询FORWARD链规则-v:展示规则详细信息,会比-L多出几个字段--line:展示时对规则进行编号
蓝色方框为具体的规则信息。
num: 规则编号,使用--line选项时才会展示pkts:数据包数量,会自动以友好的方式展示,如1.23K表示1230bytes:流量大小,以byte为单位target:处理动作/自定义链prot:协议opt:该规则选项in:数据包入口网卡out:数据包出口网卡source:数据包源地址,可以是1个IP,也可以是1个网段destination:数据包目的地址,可以是1个IP,也可以是1个网段
增加
iptables -A INPUT -p icmp -s 192.168.16.22/32 -j ACCEPT
iptables -A INPUT -p icmp -j DROP
-p:指定协议,这里以ICMP协议做测试-s:指定源地址-j:处理动作

删除
iptables -t filter -D INPUT 2
iptables -t filter -F
-D:删除规则,后面加上链。2表示规则编号,使用--line可以查看-F:刷新规则,相当于FLUSH。后面可以跟上链,如果不跟则刷新整张表

修改
iptables -t filter -R INPUT 1 -s 172.16.0.0/16 -p icmp -j ACCEPT
-R:修改规则,后面必须跟上链名和规则编号

小结
规则 增、删、改、查 就先写这么多了,下面总结一下
- 增加:
-A或者-I - 删除:
-D或者-F - 修改:
-R - 查询:
-L、-v、--line
本文深入讲解了iptables命令的使用方法,包括查询、增加、删除和修改规则的具体操作。通过实例展示了如何指定表名、链名、匹配条件和处理动作,为网络管理提供了实用指南。
931

被折叠的 条评论
为什么被折叠?



