上一篇
linux防火墙如何屏蔽ip
- Linux
- 2025-07-08
- 2374
Linux中,可使用iptables或firewalld屏蔽IP,如用iptables:
sudo iptables -A INPUT -s -j DROP
;用firewalld:
sudo firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="" reject'
,再重启防火墙使规则生效
Linux系统中,防火墙是保护系统安全的重要工具之一,通过配置防火墙规则,可以有效地屏蔽特定的IP地址或IP段,从而防止未经授权的访问,以下是几种常用的方法来实现这一目标:
使用iptables命令
查看当前iptables规则
sudo iptables -L
添加规则以屏蔽单个IP地址
sudo iptables -A INPUT -s <IP地址> -j DROP
要屏蔽IP地址为168.1.100
的设备,可以使用以下命令:
sudo iptables -A INPUT -s 192.168.1.100 -j DROP
保存iptables规则
sudo service iptables save
删除规则以解封IP地址
sudo iptables -D INPUT -s <IP地址> -j DROP
要解封IP地址为168.1.100
的设备,可以使用以下命令:
sudo iptables -D INPUT -s 192.168.1.100 -j DROP
使用firewalld命令
安装firewalld(如果尚未安装)
sudo yum install firewalld
启动并启用firewalld服务
sudo systemctl start firewalld sudo systemctl enable firewalld
添加永久规则以屏蔽单个IP地址
sudo firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="<IP地址>" reject'
要屏蔽IP地址为168.1.100
的设备,可以使用以下命令:
sudo firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="192.168.1.100" reject'
重新加载firewalld以使规则生效
sudo firewall-cmd --reload
使用ufw命令
安装ufw(如果尚未安装)
sudo apt-get install ufw
启用ufw(如果尚未启用)
sudo ufw enable
添加规则以屏蔽单个IP地址
sudo ufw deny from <IP地址>
要屏蔽IP地址为168.1.100
的设备,可以使用以下命令:
sudo ufw deny from 192.168.1.100
删除规则以解封IP地址
sudo ufw delete deny from <IP地址>
要解封IP地址为168.1.100
的设备,可以使用以下命令:
sudo ufw delete deny from 192.168.1.100
使用hosts文件
编辑hosts文件
sudo nano /etc/hosts
添加以下行以屏蔽特定IP地址
0.0.0 <被禁用的IP地址>
要屏蔽IP地址为168.1.100
的设备,可以在hosts文件中添加以下行:
0.0.0 192.168.1.100
保存文件并退出编辑器
归纳表格
方法 | 命令示例 | 说明 |
---|---|---|
iptables | sudo iptables -A INPUT -s 192.168.1.100 -j DROP |
添加规则以屏蔽单个IP地址 |
sudo iptables -D INPUT -s 192.168.1.100 -j DROP |
删除规则以解封IP地址 | |
firewalld | sudo firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="192.168.1.100" reject' |
添加永久规则以屏蔽单个IP地址 |
sudo firewall-cmd --reload |
重新加载firewalld以使规则生效 | |
ufw | sudo ufw deny from 192.168.1.100 |
添加规则以屏蔽单个IP地址 |
sudo ufw delete deny from 192.168.1.100 |
删除规则以解封IP地址 | |
hosts文件 | 0.0.0 192.168.1.100 (添加到/etc/hosts) |
将特定IP地址映射到无效地址,实现屏蔽效果 |
FAQs
Q1: 如何查看当前iptables规则?
A1: 可以使用以下命令查看当前的iptables规则:
sudo iptables -L
Q2: 如果我想屏蔽一个IP段而不是单个IP地址,应该怎么做?
A2: 可以使用iptables的iprange模块来屏蔽一个IP段,要屏蔽168.1.0/24
网段的IP访问,可以使用以下命令:
sudo iptables -I INPUT -m iprange --src-range 192.168.1.0-192.168.1.255 -j DROP