当前位置:首页 > Linux > 正文

linux防火墙如何屏蔽ip

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的设备,可以使用以下命令:

linux防火墙如何屏蔽ip  第1张

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
0