Linux使用iptables实现屏蔽ip地址的示例详解

更新时间:2022-10-14 10:04:44

netfilter/iptables(简称为iptables)组成Linux平台下的包过滤防火墙,与大多数的Linux软件一样,这个包过滤防火墙是免费的。本文就来利用iptables实现屏蔽ip地址,需要的可以参考一下!

一、iptables命令介绍

netfilter/iptables(简称为iptables)组成Linux平台下的包过滤防火墙,与大多数的Linux软件一样,这个包过滤防火墙是免费的,在安装系统的时候就已经自带;iptables是Linux防火墙的管理工具而已,位于/sbin/iptables。真正实现防火墙功能的是 netfilter,它是Linux内核中实现包过滤的内部结构。

二、iptables见命令

1.iptables命令help文档

iptables --help | more

2559f559df4d9e2ff3fd03b97ee6506f_2022101316565176.png

2. 常用的iptables命令

-t<表>:指定要操纵的表;

-A:向规则链中添加条目;

-D:从规则链中删除条目;

-I:向规则链中插入条目;

-R:替换规则链中的条目;

-L:显示规则链中已有的条目;

-F:清楚规则链中已有的条目;

-Z:清空规则链中的数据包计算器和字节计数器;

-N:创建新的用户自定义规则链;

-P:定义规则链中的默认目标;

-h:显示帮助信息;

-p:指定要匹配的数据包协议类型;

-s:指定要匹配的数据包源ip地址;

-j<目标>:指定要跳转的目标;

-i<网络接口>:指定数据包进入本机的网络接口;

-o<网络接口>:指定数据包要离开本机所使用的网络接口。

三、举例说明iptables命令

1. 屏蔽ip地址

iptables -I INPUT -s 192.168.37.9 -j DROP

25434b9f3561452740e6442a901b7b82_2022101316565177.png

2.屏蔽ip地址段:

iptables -I INPUT -s 36.152.44.0/24 -j DROP

67e56125ab7883c0c4eab8eabdf9c1f2_2022101316565178.png

3.解除屏蔽ip地址/ip地址段:

iptables -D INPUT -s 192.168.37.9 -j DROP #解除ip屏蔽

3881b2bc5a04cb623b77bdb6ac59bc57_2022101316565179.png

iptables -D INPUT -s 36.152.44.0/24 -j DROP #解除ip地址网段屏蔽

54a5a76e1a70e4994dd2a9aa5299c52c_2022101316565180.png

4. 查看屏蔽ip地址的INPUT规则链:

iptables -L INPUT

ebbff7d3e707e1a5b81da99359c85ede_2022101316565181.png

5. 清除所有屏蔽规则

iptables -F

19c2bc9027db81ec86da0ac1145dcffa_2022101316565182.png

Linux