如何禁止特定IP访问VPS的80端口?
| 方法 |
适用系统 |
操作复杂度 |
效果持久性 |
| iptables防火墙规则 |
Linux |
中等 |
重启后失效 |
| firewalld配置 |
CentOS/RHEL |
中等 |
永久生效 |
| Windows防火墙 |
Windows Server |
简单 |
永久生效 |
| Nginx配置 |
所有Web服务器 |
简单 |
永久生效 |
VPS禁止IP访问80端口的四种方法
方法一:使用iptables防火墙(Linux系统)
操作说明:
- 登录VPS服务器
- 执行以下命令禁止特定IP访问80端口:
iptables -A INPUT -p tcp --dport 80 -s 192.168.1.100 -j DROP
- 保存规则(不同系统保存方式不同)
使用工具提示:
- 需要root权限
- 规则重启后会失效,需配合保存命令使用
方法二:配置firewalld(CentOS/RHEL)
操作说明:
- 检查firewalld服务状态:
systemctl status firewalld
- 添加禁止规则:
firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="192.168.1.100" reject'
- 重新加载配置:
firewall-cmd --reload
方法三:Windows防火墙配置
操作说明:
- 打开"高级安全Windows防火墙"
- 选择"入站规则"→"新建规则"
- 选择"端口"→"TCP"→"特定端口80"
- 选择"阻止连接"
- 在"作用域"中指定要禁止的IP地址
方法四:Nginx服务器配置
操作说明:
- 编辑Nginx配置文件:
server {
...
deny 192.168.1.100;
...
}
- 测试配置并重载Nginx:
nginx -t && systemctl reload nginx
常见问题
| 问题现象 |
可能原因 |
解决方案 |
| 规则生效但IP仍能访问 |
规则顺序错误 |
检查规则顺序,确保禁止规则在允许规则之前 |
| 服务重启后规则失效 |
未保存规则 |
使用iptables-save或firewall-cmd –permanent |
| 误封自己的IP |
IP地址输入错误 |
通过其他端口或控制台访问,修改规则 |
| 配置后网站无法访问 |
规则过于严格 |
检查规则是否误封了合法IP或端口 |
发表评论