如何在 Linux 服务器上禁止海外IP访问设置?

在全球化网络环境中,Linux服务器常面临来自海外IP的非预期访问,这些访问可能带来安全风险,如DDoS攻击、数据爬取或未授权登录。通过配置防火墙规则,管理员可以精确控制流量来源,提升服务器防护能力。这种方法基于IP地理位置数据库,实现灵活的策略管理。

如何在 Linux 服务器上禁止海外IP访问设置?

使用iptables配置地理阻塞规则

iptables是Linux内核集成的防火墙工具,可通过添加地理匹配模块实现IP封锁。首先确保系统已安装必要的依赖:

  • 更新系统包:apt update && apt upgrade(Debian/Ubuntu)
  • 安装xtables-addons:apt install xtables-addons-dkms
  • 下载IP地理数据库:/usr/lib/xtables-addons/xt_geoip_dl

以下命令示例禁止非中国IP访问SSH服务(22端口):

iptables -A INPUT -p tcp –dport 22 -m geoip ! –src-cc CN -j DROP

此规则需配合定期更新GeoIP数据库以保持准确性。

通过firewalld实现动态区域封锁

若系统使用firewalld,可利用富规则(rich rules)结合IP集功能:

  • 创建海外IP集:firewall-cmd –permanent –new-ipset=overseas –type=hash:net
  • 导入已知海外网段:firewall-cmd –permanent –ipset=overseas –add-entries-from-file=/path/to/overseas_ips.txt
  • 应用封锁规则:firewall-cmd –permanent –add-rich-rule=’rule source ipset=overseas drop’

该方法适合批量处理IP段,但需自行维护海外IP列表。

利用Cloudflare防火墙增强防护

对于托管在云端的服务器,可通过Cloudflare WAF实现无需配置本地的地理封锁:

步骤 操作 参数示例
1 创建防火墙规则 当来源国家不属于“中国”时执行挑战
2 设置规则动作 选择“Block”或“Managed Challenge”
3 部署到域名 应用至所有子域名或特定路径

此方案可有效减轻服务器负载,同时提供实时威胁监控。

Fail2ban自动封禁策略

Fail2ban可动态封禁多次认证失败的海外IP:

[Definition]
failregex = ^%(__prefix_line)s(?:\\b(?:\\S+/)?sshd\\b\\S* ).* from \s*$
ignoreregex =
[Init]
maxretry = 3
bantime = 3600

配合geoip查询脚本,可在触发时验证IP归属地,实现精准封锁。

验证与维护策略

实施封锁后需通过以下方式验证效果:

  • 使用海外VPN测试服务可达性
  • 监控防火墙日志:journalctl -u firewalld -f
  • 定期更新GeoIP数据库(每月至少一次)
  • 设置告警机制检测规则异常

建议在业务低峰期部署规则,并预留国内管理IP白名单。

内容均以整理官方公开资料,价格可能随活动调整,请以购买页面显示为准,如涉侵权,请联系客服处理。

本文由星速云发布。发布者:星速云。禁止采集与转载行为,违者必究。出处:https://www.67wa.com/69352.html

(0)
上一篇 2025年11月17日 下午2:33
下一篇 2025年11月17日 下午2:33
联系我们
关注微信
关注微信
分享本页
返回顶部