在服务器的日常维护中,我们有时需要屏蔽特定IP地址以确保系统的安全性和稳定性。本文将介绍在CentOS系统中如何永久屏蔽特定IP地址。
一、使用firewalld命令
1. 查看当前防火墙状态
通过以下命令查看当前防火墙的状态:
sudo firewall-cmd –state
如果返回running,则表示防火墙正在运行;否则为未开启。
2. 永久屏蔽单个IP地址
假设我们要屏蔽192.168.1.10这个IP地址,可以使用如下命令:
sudo firewall-cmd –add-rich-rule=’rule family=”ipv4″ source address=”192.168.1.10″ reject’ –permanent
该命令表示在ipv4协议下,添加一条规则:当数据包来自192.168.1.10时,直接拒绝访问,并且–permanent参数保证了该规则重启后仍然有效。
3. 永久屏蔽多个IP地址
若要一次性屏蔽多个IP地址,如192.168.1.10和192.168.1.11,可以分别执行上述命令;也可以使用循环语句或者脚本来批量处理。
例如,编写一个简单的bash脚本(假设文件名为block_ips.sh):
#!/bin/bash
ips=(“192.168.1.10” “192.168.1.11”)
for ip in “${ips[@]}”; do
sudo firewall-cmd –add-rich-rule=’rule family=”ipv4″ source address=”$ip” reject’ –permanent
done
保存并给脚本赋予可执行权限:
chmod +x block_ips.sh
然后执行:
./block_ips.sh
这样就可以实现对多个IP地址的同时屏蔽。
4. 查看已设置的规则
为了确认是否成功添加了规则,可以通过以下命令查看所有已配置的富规则:
sudo firewall-cmd –list-all
找到其中的rich rules部分,确认所添加的规则是否存在。
二、使用iptables命令
对于一些较旧版本的CentOS系统,默认可能并未安装firewalld,而是使用iptables作为防火墙管理工具。此时我们可以采用iptables来实现相同的功能。
1. 安装iptables服务
如果系统中尚未安装iptables,可以通过yum进行安装:
sudo yum install iptables-services -y
2. 编辑iptables配置文件
编辑/etc/sysconfig/iptables文件,在里面添加如下内容:
-A INPUT -s 192.168.1.10 -j DROP
这里-A INPUT表示向INPUT链追加规则;-s指定源地址;-j DROP表示丢弃匹配的数据包。
3. 重启iptables服务
完成编辑后,重启iptables服务使配置生效:
sudo systemctl restart iptables
同时为了确保开机自动加载iptables规则,还需要将其加入到启动项中:
sudo systemctl enable iptables
以上就是在CentOS系统中永久屏蔽特定IP地址的方法,无论是使用firewalld还是iptables都可以轻松实现这一需求。根据实际情况选择合适的方式即可。
本文由阿里云优惠网发布。发布者:编辑员。禁止采集与转载行为,违者必究。出处:https://aliyunyh.com/167317.html
其原创性以及文中表达的观点和判断不代表本网站。如有问题,请联系客服处理。