如何在VPS上屏蔽特定的IP地址?
| 屏蔽方法 |
适用场景 |
配置复杂度 |
生效范围 |
| iptables防火墙 |
临时或永久屏蔽 |
中等 |
全系统 |
| hosts.deny文件 |
SSH连接屏蔽 |
简单 |
特定服务 |
| 防火墙工具 |
图形化操作 |
简单 |
可定制 |
| 云服务商控制台 |
云端VPS管理 |
简单 |
网络层 |
VPS如何屏蔽IP地址?详解服务器安全防护的四种方法
在VPS管理过程中,屏蔽恶意IP地址是保护服务器安全的重要措施。当遭遇DDoS攻击、暴力破解或恶意爬虫时,及时屏蔽相关IP可以有效减轻服务器负担,保障服务正常运行。
主要屏蔽方法概览
| 方法编号 |
屏蔽方式 |
操作难度 |
生效速度 |
| 方法一 |
使用iptables防火墙 |
中等 |
立即生效 |
| 方法二 |
配置hosts.deny文件 |
简单 |
立即生效 |
| 方法三 |
使用UFW防火墙工具 |
简单 |
立即生效 |
| 方法四 |
云服务商安全组 |
简单 |
立即生效 |
分步骤详细操作指南
方法一:使用iptables防火墙屏蔽IP
操作说明:iptables是Linux系统内置的防火墙工具,可以通过添加规则来屏蔽特定IP地址的访问。
使用工具提示:需要root权限或sudo权限执行命令
# 屏蔽单个IP地址
sudo iptables -A INPUT -s 192.168.1.100 -j DROP
屏蔽IP段
sudo iptables -A INPUT -s 192.168.1.0/24 -j DROP
查看当前规则
sudo iptables -L
保存规则(CentOS/RHEL)
sudo service iptables save
保存规则(Ubuntu/Debian)
sudo apt-get install iptables-persistent
sudo netfilter-persistent save
代码块模拟工具界面:
[root@vps ~]# iptables -A INPUT -s 203.0.113.5 -j DROP
[root@vps ~]# iptables -L
Chain INPUT (policy ACCEPT)
target prot opt source destination
DROP all -- 203.0.113.5 anywhere
[root@vps ~]# iptables-save > /etc/iptables/rules.v4
规则已保存
方法二:通过hosts.deny文件屏蔽IP
操作说明:通过修改/etc/hosts.deny文件来拒绝特定IP访问TCP Wrapper管理的服务。
使用工具提示:主要适用于SSH、FTP等使用TCP Wrapper的服务
# 编辑hosts.deny文件
sudo nano /etc/hosts.deny
添加以下内容屏蔽单个IP
sshd: 192.168.1.100
屏蔽整个网段
sshd: 192.168.1.
重启服务使配置生效
sudo systemctl restart sshd
代码块模拟工具界面:
[root@vps ~]# cat /etc/hosts.deny
屏蔽恶意IP地址
sshd: 203.0.113.10
sshd: 198.51.100.
ftp: 203.0.113.20
方法三:使用UFW防火墙工具
操作说明:UFW(Uncomplicated Firewall)是iptables的前端工具,提供更简单的配置方式。
使用工具提示:UFW默认在Ubuntu系统中预装,其他系统可能需要安装
# 安装UFW(如未安装)
sudo apt-get install ufw
启用UFW
sudo ufw enable
屏蔽特定IP
sudo ufw deny from 192.168.1.100
屏蔽IP段
sudo ufw deny from 192.168.1.0/24
查看规则
sudo ufw status numbered
代码块模拟工具界面:
user@vps:~$ sudo ufw deny from 203.0.113.15
规则已添加
user@vps:~$ sudo ufw status numbered
状态: active
来源 动作
-- --
203.0.113.15 DENY
方法四:通过云服务商控制台屏蔽
操作说明:各大云服务商提供安全组或防火墙功能,可以直接在控制台配置IP屏蔽规则。
使用工具提示:该方法不依赖服务器操作系统,在网络层面进行屏蔽
以阿里云为例:
- 登录阿里云控制台
- 进入ECS实例管理
- 选择安全组配置
- 添加拒绝规则
- 指定源IP地址
- 保存配置
代码块模拟工具界面:
安全组规则配置
───────────────────────────────
规则方向:入方向
授权策略:拒绝
协议类型:全部
端口范围:-1/-1
授权对象:203.0.113.20/32
优先级:1
描述:屏蔽恶意IP
───────────────────────────────
[保存] [取消]
常见问题及解决方案
| 问题 |
原因 |
解决方案 |
| 屏蔽后自己无法访问服务器 |
误屏蔽了自己的IP地址 |
通过云服务商控制台登录,删除对应规则;或联系服务商协助处理 |
| 屏蔽规则不生效 |
规则顺序错误或未保存配置 |
检查iptables规则顺序,确保DROP规则在ACCEPT规则之前;确认规则已保存 |
| 屏蔽IP段影响正常用户 |
IP段范围设置过大 |
使用更精确的CIDR表示法,如/29而不是/24;逐步缩小屏蔽范围 |
| 服务重启后规则丢失 |
规则未持久化保存 |
使用iptables-save命令保存规则,或配置开机自动加载规则 |
| 大量IP攻击难以逐个屏蔽 |
遭遇分布式攻击 |
使用fail2ban工具自动屏蔽;配置云服务商的DDoS防护;启用CDN服务 |
通过以上四种方法,你可以根据具体情况选择合适的IP屏蔽方案。对于临时性的恶意访问,推荐使用iptables或UFW;对于长期需要屏蔽的IP,建议在hosts.deny或云服务商控制台进行配置,以确保规则在服务器重启后依然有效。
发表评论