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
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
2.2.设置一条防火墙规则
设置一条防火墙规则,禁止所有来源ping本机。
ping属于ICMP协议,禁ping属于来源客户端ping目标主机,需要在INPUT链的filter表中添加一条防火墙规则,禁止ICMP协议进入。
[root@jiangxl ~]# iptables -t filter -I INPUT -p icmp -j REJECT
- 1
规则解释:在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
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
2)将禁ping的规则动作修改成DROP。
[root@jiangxl ~]# iptables -t filter -R INPUT 1 -p icmp -j DROP
- 1
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
- 1
- 2
- 3
- 4
4)查看效果,已经是处于请求超时的状态了,禁ping的防火墙规则动作最好设置成DROP。
2.4.查看/清空防火墙规则的计数器
1)查看当前防火墙规则的计数器
计数器中包含了数据包的请求次数和大小。
[root@jiangxl ~]# iptables -t filter -L -n -v --line-number
- 1
在规则的详细信息中就可以看到,PKTS是发生的数据包次数,bytes是数据包的大小。
2)清空计数器的值
一条规则中的计数器的指标是可以清空的,命令如下所示。
[root@jiangxl ~]# iptables -t filter -Z
- 1
此时计数器的值就清空完毕了。
2.5.删除一条防火墙规则
删除INPUT链filter表中ID为1的规则。
[root@jiangxl ~]# iptables -t filter -D INPUT 1
- 1
文章来源: jiangxl.blog.csdn.net,作者:Jiangxl~,版权归原作者所有,如需转载,请联系作者。
原文链接:jiangxl.blog.csdn.net/article/details/125671518
- 点赞
- 收藏
- 关注作者
评论(0)