1.查询规则

常用参数:
-t 指定表,默认filter表
-L 列出规则
-v 表示verbose,显示详细信息
-n 不做解析,显示IP
--line-numbers 显示行号
-x 显示计数器的精确值

iptables -t 表名 -L
iptables -t 表名 -L 链名
iptables -t 表名 -L 链名 -v
iptables -t 表名 -v -L
iptables -t 表名 -n -L
iptables --line-numbers -t 表名 -L
iptables -t 表名 -L -v -x
iptables -t 表名 --line -nvxL
iptables -t filter --line -nvxL INPUT

字段含义解释:
INPUT链后面的括号中包含policy ACCEPT ,0 packets,0bytes 三部分。
policy表示当前链的默认策略,policy ACCEPT表示INPUT的链的默认动作为ACCEPT,默认接受通过INPUT关卡的所有请求。
packets表示当前链(上例为INPUT链)默认策略匹配到的包的数量,0 packets表示默认策略匹配到0个包。
bytes表示当前链默认策略匹配到的所有包的大小总和。

pkts:对应规则匹配到的报文的个数。
bytes:对应匹配到的报文包的大小总和。
target:规则对应的target,往往表示规则对应的”动作”,即规则匹配成功后需要采取的措施。
prot:表示规则对应的协议,是否只针对某些协议应用此规则。
opt:表示规则对应的选项。
in:表示数据包由哪个接口(网卡)流入,即从哪个网卡来。
out:表示数据包将由哪个接口(网卡)流出,即到哪个网卡去。
source:表示规则对应的源头地址,可以是一个IP,也可以是一个网段。
destination:表示规则对应的目标地址。可以是一个IP,也可以是一个网段。

2.增加规则

规则的顺序很重要,如果报文被前面的规则匹配到了,就会对报文执行对应的动作,即使后面的规则也能匹配到当前报文,也不会再执行相应的动作。

常用参数:
-t 指定要操作的表,不使用-t选项时,默认指定filter表
-A Append追加,添加在末尾
-I Insert插入,添加在开头,也可以指定序号
-s source匹配条件中的源地址
-j 匹配条件执行的动作

iptables -t 表名 -A 链名 匹配条件 -j 动作
iptables -t 表名 -I 链名 匹配条件 -j 动作
iptables -t 表名 -I 链名 规则序号 匹配条件 -j 动作
修改指定链的默认动作:iptables -t 表名 -P 链名 动作

iptables -t filter -A INPUT -s 192.168.1.146 -j DROP
iptables -t filter -I INPUT -s 192.168.1.146 -j ACCEPT
iptables -t filter -I INPUT 5 -s 192.168.1.146 -j REJECT
iptables -t filter -P FORWARD ACCEPT

3.删除规则

如果没有保存规则,删除请慎重。
两种方式:
1.根据规则编号删除对应规则
2.根据具体匹配条件与动作删除规则

常用参数:
-D 删除对应链的规则
-F flush冲刷指定的链,即清空对应链中的规则

iptables -t 表名 -D 链名 规则序号
iptables -t 表名 -D 链名 匹配条件 -j 动作
清空链的所有规则:iptables -t 表名 -F 链名
清空表的所有规则:iptables -t 表名 -F

iptables -t filter -D INPUT 3
iptables -t filter -D INPUT -s 192.168.1.146 -j DROP
iptables -t filter -F INPUT
iptables -t filter -F

4.修改规则(慎用)

前提:必须指定规则原本的匹配条件,例如:源IP,目标IP等。
如果省略匹配条件,则修改后规则会变。
推荐先删除规则,再在原编号处重新添加新规则。

常用参数:
-R replace替换,需要指定对应的链,规则对应的序号,和原来的匹配条件
-P 指定要修改的链

iptables -t 表名 -R 链名 规则序号 规则原来的匹配条件 -j 条件
修改指定链的默认策略:iptables -t 表名 -P 链名 动作

iptables -t filter -R INPUT 3 -s 192.168.1.146 -j ACCEPT
iptables -t filter -P FORWARD ACCEPT

5.保存规则

# centos7中
iptables-save > /etc/sysconfig/iptables

6.重载规则

/etc/sysconfig/iptables中的规则重新载入当前iptables规则,现有规则会被覆盖。

# centos7中
iptables-restore < /etc/sysconfig/iptables

7.其他修改方式

直接修改/etc/sysconfig/iptables文件,后reload服务,慎用。

posted on 2023-07-25 19:30  jiayou111  阅读(67)  评论(0编辑  收藏  举报