如何使用VPS脚本屏蔽特定IP地址的访问?
| 屏蔽方法 |
适用系统 |
配置难度 |
持久性 |
| iptables防火墙 |
Linux |
中等 |
重启后失效 |
| firewalld防火墙 |
CentOS/RHEL |
简单 |
持久化配置 |
| hosts文件屏蔽 |
所有系统 |
简单 |
持久化 |
| Nginx屏蔽 |
Web服务器 |
中等 |
持久化 |
| Apache屏蔽 |
Web服务器 |
中等 |
持久化 |
VPS脚本如何屏蔽IP访问?详解防火墙与脚本配置方法
在网络安全管理中,屏蔽恶意IP地址是保护VPS服务器的重要措施。通过脚本自动化屏蔽IP访问,可以有效防止DDoS攻击、暴力破解和恶意爬虫等安全威胁。
主要屏蔽方法概览
| 方法类型 |
实施工具 |
适用场景 |
效果范围 |
| 系统防火墙 |
iptables/firewalld |
系统级防护 |
所有端口 |
| 应用层屏蔽 |
Nginx/Apache |
Web服务防护 |
HTTP/HTTPS |
| 主机文件 |
/etc/hosts |
简单域名屏蔽 |
域名解析 |
| 脚本自动化 |
Shell/Python |
批量处理 |
灵活配置 |
详细操作步骤
步骤一:使用iptables防火墙屏蔽IP
操作说明:通过iptables命令直接添加规则屏蔽特定IP
使用工具提示:需要root权限执行
# 屏蔽单个IP地址
iptables -A INPUT -s 192.168.1.100 -j DROP
屏蔽IP段
iptables -A INPUT -s 192.168.1.0/24 -j DROP
查看当前规则
iptables -L INPUT -n --line-numbers
删除特定规则
iptables -D INPUT [规则编号]
步骤二:配置firewalld防火墙(CentOS/RHEL)
操作说明:使用firewalld的富规则功能屏蔽IP
使用工具提示:适用于CentOS 7及以上版本
# 添加屏蔽规则
firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="192.168.1.100" reject'
重载配置
firewall-cmd --reload
查看当前规则
firewall-cmd --list-rich-rules
步骤三:Nginx Web服务器IP屏蔽
操作说明:在Nginx配置文件中设置拒绝访问的IP
使用工具提示:修改后需要重启Nginx服务
# 在http或server块中添加
location / {
deny 192.168.1.100;
allow all;
}
或者使用include方式
include /etc/nginx/blockips.conf;
步骤四:创建自动化屏蔽脚本
操作说明:编写Shell脚本实现IP屏蔽的自动化管理
使用工具提示:建议设置定时任务定期更新屏蔽列表
#!/bin/bash
自动IP屏蔽脚本
BLOCKFILE="/root/blockips.txt"
LOGFILE="/var/log/sshauth.log"
从日志中提取失败登录IP并屏蔽
grep "Failed password" $LOGFILE | awk '{print $11}' | sort | uniq -c | sort -nr | awk '$1 > 10 {print $2}' > $BLOCKFILE
while read IP; do
iptables -A INPUT -s $IP -j DROP
echo "$(date): 屏蔽IP $IP" >> /var/log/ipblock.log
done /etc/iptables/rules.v4
CentOS/RHEL
yum install iptables-services
service iptables save
常见问题与解决方案
| 问题 |
原因 |
解决方案 |
| 屏蔽后自己无法访问 |
误屏蔽了自己的IP |
先添加允许自己IP的规则,再设置默认DROP策略 |
| 规则重启后失效 |
未保存iptables规则 |
使用iptables-save保存规则,或改用firewalld |
| 屏蔽IP过多影响性能 |
防火墙规则数量过多 |
使用IP段屏蔽,定期清理过期规则 |
| 屏蔽无效 |
规则顺序错误 |
检查规则顺序,确保DROP规则在ALLOW之前 |
| 服务无法启动 |
语法错误 |
检查配置文件语法,查看错误日志 |
通过上述方法和脚本,您可以有效地管理和屏蔽恶意IP地址,提升VPS服务器的安全性。建议定期审查屏蔽列表,确保不会误封正常用户的同时保持防护效果。
发表评论