去评论
dz插件网

iptables规则的查看、添加、删除和修改

婷姐
2023/04/21 18:04:14
1、查看
iptables -nvL –line-number
-L 查看当前表的所有规则,默认查看的是filter表,如果要查看NAT表,可以加上-t NAT参数
-n 不对ip地址进行反查,加上这个参数显示速度会快很多
-v 输出详细信息,包含通过该规则的数据包数量,总字节数及相应的网络接口
–line-number 显示规则的序列号,这个参数在删除或修改规则时会用到

2、添加
添加规则有两个参数:-A和-I。其中-A是添加到规则的末尾;-I可以插入到指定位置,没有指定位置的话默认插入到规则的首部。
当前规则:
  1. [root@test ~]# iptables -nL --line-number
  2. Chain INPUT (policy ACCEPT)
  3. num  target     prot opt source               destination
  4. 1    DROP       all  --  192.168.1.1          0.0.0.0/0
  5. 2    DROP       all  --  192.168.1.2          0.0.0.0/0
  6. 3    DROP       all  --  192.168.1.4          0.0.0.0/0
添加一条规则到尾部:
  1. [root@test ~]# iptables -A INPUT -s 192.168.1.5 -j DROP
再插入一条规则到第三行,将行数直接写到规则链的后面:
  1. [root@test ~]# iptables -I INPUT 3 -s 192.168.1.3 -j DROP
查看:
  1. [root@test ~]# iptables -nL --line-number
  2. Chain INPUT (policy ACCEPT)
  3. num  target     prot opt source               destination
  4. 1    DROP       all  --  192.168.1.1          0.0.0.0/0
  5. 2    DROP       all  --  192.168.1.2          0.0.0.0/0
  6. 3    DROP       all  --  192.168.1.3          0.0.0.0/0
  7. 4    DROP       all  --  192.168.1.4          0.0.0.0/0
  8. 5    DROP       all  --  192.168.1.5          0.0.0.0/0
可以看到192.168.1.3插入到第三行,而原来的第三行192.168.1.4变成了第四行。

3、删除
删除用-D参数
删除之前添加的规则(iptables -A INPUT -s 192.168.1.5 -j DROP):
  1. [root@test ~]# iptables -D INPUT -s 192.168.1.5 -j DROP
有时候要删除的规则太长,删除时要写一大串,既浪费时间又容易写错,这时我们可以先使用–line-number找出该条规则的行号,再通过行号删除规则。
  1. [root@test ~]# iptables -nv --line-number
  2. iptables v1.4.7: no command specified
  3. Try `iptables -h' or 'iptables --help' for more information.
  4. [root@test ~]# iptables -nL --line-number
  5. Chain INPUT (policy ACCEPT)
  6. num  target     prot opt source               destination
  7. 1    DROP       all  --  192.168.1.1          0.0.0.0/0
  8. 2    DROP       all  --  192.168.1.2          0.0.0.0/0
  9. 3    DROP       all  --  192.168.1.3          0.0.0.0/0
删除第二行规则
  1. [root@test ~]# iptables -D INPUT 2
4、修改
修改使用-R参数
先看下当前规则:
  1. [root@test ~]# iptables -nL --line-number
  2. Chain INPUT (policy ACCEPT)
  3. num  target     prot opt source               destination
  4. 1    DROP       all  --  192.168.1.1          0.0.0.0/0
  5. 2    DROP       all  --  192.168.1.2          0.0.0.0/0
  6. 3    DROP       all  --  192.168.1.5          0.0.0.0/0
将第三条规则改为ACCEPT:
  1. [root@test ~]# iptables -R INPUT 3 -j ACCEPT
再查看下:
  1. [root@test ~]# iptables -nL --line-number
  2. Chain INPUT (policy ACCEPT)
  3. num  target     prot opt source               destination
  4. 1    DROP       all  --  192.168.1.1          0.0.0.0/0
  5. 2    DROP       all  --  192.168.1.2          0.0.0.0/0
  6. 3    ACCEPT     all  --  0.0.0.0/0            0.0.0.0/0
第三条规则的target已改为ACCEPT。