Iptables防火墙基本匹配应用

Iptables防火墙基本匹配应用

1.Iptables防火墙规则管理

所谓的规则就是由运维配置的一条条防火墙策略,只有满足策略的源才会被防火墙放行,一条规则通常是由条件+动作来组合的。

Iptables防火墙定义规则时的命令格式以及常用参数`:

命令格式:iptables -t {表名} {选项} {链名} {条件} {动作}

常用参数`:

  • -t:指定要操作的表名称,不知道表名默认是filter表。
  • -A:追加一条规则到表中,也就是在最后一条处进行添加。
  • -D:删除表中的一条规则。
  • -I:在表中插入一条规则,在最顶部位置插入。
  • -R:修改表中规则的内容。
  • -L:列出当前表中所有的规则。
  • -n:列出防火墙规则时,将域名解析成IP,所有的地址都以IP的形式展示。
  • -S:列出整个防火墙中所有的规则。
  • -F:清空所有防火墙规则。
  • -Z:清空计数器,在防护墙中每进入防火墙的一条报文都会产生数据包和条目,通过`-Z可以清空这些条目。
  • -N:创建一个自定义的链。
  • -X:删除一个自定义的链。
  • -P:指定链的默认策略。
  • -v:显示详细信息。
  • -p:指定要操作的协议类型,不指定-p参数声明是那种协议,默认是all,也就是所有协议。
  • -s:指定源地址。
  • -d:指定目标地址。
  • --sport:指定源端口.
  • --dport:指定目标端口。
  • -i:指定从哪个网卡进入的报文。
  • -o:指定从哪个网卡出去的报文。
  • -m:指定扩展模块。
  • -j:指定策略的动作。

2.Iptables防火墙的基本使用

2.1.查看设置的规则

查看filter表的规则详细信息。

[root@jiangxl ~]# iptables -t filter -L -n -v
Chain INPUT (policy ACCEPT 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination         

Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination         

Chain OUTPUT (policy ACCEPT 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination  

2.2.设置一条防火墙规则

设置一条防火墙规则,禁止所有来源ping本机。

ping属于ICMP协议,禁ping属于来源客户端ping目标主机,需要在INPUT链的filter表中添加一条防火墙规则,禁止ICMP协议进入。

[root@jiangxl ~]# iptables -t filter -I INPUT -p icmp -j REJECT 

规则解释:在INPUT链的filter表中添加了一条对于ICMP协议的数据包一律拒绝的规则。

效果如下,没有设置防火墙规则时,可以正常ping通,设置完防火墙规则后,无法ping通。
在这里插入图片描述

2.3.修改现有防火墙的规则内容

在前面针对禁ping的防火墙规则设置的动作的REJECT拒绝,下面修改成DROP丢失。

1)首先查看当前防火墙规则的ID号,修改规则时需要指定规则的ID号,否则不知道要该哪条规则。

[root@jiangxl ~]# iptables -t filter -L -n -v --line-number
Chain INPUT (policy ACCEPT 0 packets, 0 bytes)
num   pkts bytes target     prot opt in     out     source               destination         
1        5   276 REJECT     icmp --  *      *       0.0.0.0/0            0.0.0.0/0            reject-with icmp-port-unreachable

Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)
num   pkts bytes target     prot opt in     out     source               destination         

Chain OUTPUT (policy ACCEPT 0 packets, 0 bytes)
num   pkts bytes target     prot opt in     out     source               destination  

2)将禁ping的规则动作修改成DROP。

[root@jiangxl ~]# iptables -t filter -R INPUT 1 -p icmp -j DROP

3)查看规则是否修改成功。

[root@jiangxl ~]# iptables -t filter -L -n -v --line-number
Chain INPUT (policy ACCEPT 0 packets, 0 bytes)
num   pkts bytes target     prot opt in     out     source               destination         
1        0     0 DROP       icmp --  *      *       0.0.0.0/0            0.0.0.0/0    

4)查看效果,已经是处于请求超时的状态了,禁ping的防火墙规则动作最好设置成DROP。

在这里插入图片描述

2.4.查看/清空防火墙规则的计数器

1)查看当前防火墙规则的计数器

计数器中包含了数据包的请求次数和大小。

[root@jiangxl ~]# iptables -t filter -L -n -v --line-number

在规则的详细信息中就可以看到,PKTS是发生的数据包次数,bytes是数据包的大小。
在这里插入图片描述

2)清空计数器的值

一条规则中的计数器的指标是可以清空的,命令如下所示。

[root@jiangxl ~]# iptables -t filter -Z

此时计数器的值就清空完毕了。

在这里插入图片描述

2.5.删除一条防火墙规则

删除INPUT链filter表中ID为1的规则。

[root@jiangxl ~]# iptables -t filter -D INPUT 1

猜你喜欢

转载自blog.csdn.net/weixin_44953658/article/details/125671518