首页 帮助中心 常见问题 CentOS 7屏蔽国外IP访问的方法合集
CentOS 7屏蔽国外IP访问的方法合集
时间 : 2025-10-24 12:01:36 编辑 : 华纳云 阅读量 : 19

对于CentOS 7系统管理员而言,屏蔽国外IP访问是减少恶意扫描和攻击的有效手段。本文将详细介绍几种实用的方法,帮助您构建更加安全的服务器环境。

使用iptables配合IP集高效屏蔽

iptablesLinux系统中最经典的防火墙工具,结合ipset使用可以高效屏蔽大量IP段。ipsetiptables的扩展,它允许你创建匹配整个IP地址集合的规则,能显著提升大量IP段的处理效率。首先需要安装必要的工具:

yum install iptables ipset -y

创建并填充国家IP集:

# 创建名为cnip的规则集
ipset -N cnip hash:net
# 下载中国IP段(以中国为例)
wget -P .ww.ipdeny.com/ipblocks/data/countries/cn.zone
# 将IP段添加到cnip规则中
for i in $(cat /root/cn.zone ); do ipset -A cnip $i; done

应用屏蔽规则:

# 屏蔽所有非中国IP的访问
iptables -I INPUT -p tcp -m set ! --match-set cnip src -j DROP

这种方法适合需要精细控制IP访问的场景,缺点是需要定期更新IP列表以确保准确性。

通过Firewalld富规则实现访问控制

FirewalldCentOS 7的默认防火墙管理工具,提供了更加灵活和强大的管理功能。使用firewalld的富规则(rich-rule)可以直观地实现访问控制.基本配置步骤:

# 启动并启用firewalld
systemctl start firewalld
systemctl enable firewalld

添加富规则屏蔽特定国家IP

# 屏蔽特定国外IP段
firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="国外IP地址/24" drop'
# 重新加载配置
firewall-cmd --reload

查看当前规则:

# 验证规则是否生效
firewall-cmd --list-all-zones

Firewalld的优势在于规则管理更加系统化,配置永久生效且不需要手动保存,适合长期使用。

借助Nginx geo模块实现应用层控制

对于Web服务器,Nginxgeo模块提供了基于IP的地理位置过滤功能,可以在应用层实现访问控制。

配置步骤:

创建Nginx配置文件:

vi /etc/nginx/conf.d/blockips.conf

添加以下内容:

geo $allowed_country {
default no;
CN yes;
# 在此添加其他允许国家的代码
}
server {
listen 80;
server_name your_domain.com;
if ($allowed_country = no) {
return 403;
}
# 其他服务器配置
}

重新加载Nginx

systemctl reload nginx

此方法的优点是配置简单,无需调整防火墙规则,特别适合专门的Web服务器环境。

使用Cloudflare防火墙简化管理

如果您的网站已经使用Cloudflare作为CDN提供商,可以利用其强大的防火墙功能来屏蔽国外IP访问。

配置步骤:

1. 登录Cloudflare控制面板,进入"防火墙"选项卡

2. 创建新的防火墙规则

3. 设置条件为"国家"不在"允许国家列表"

4. 操作选择"阻止"

5. 保存并启用规则

这种方法完全在Cloudflare云端实现,不消耗服务器资源,并且可以利用Cloudflare的实时IP数据库,准确度较高。

方法对比与注意事项

在选择合适的方案时,需要考虑以下几个因素:

精确度:所有基于GeoIP的方法都存在一定的误差,IP与国家的对应关系并非绝对准确

性能影响:iptables+ipset方案在大量IP段时性能最佳

管理便利性:FirewalldCloudflare方案更易于管理和维护

覆盖范围:应用层方案(Nginx)仅对Web服务有效,而网络层方案对所有服务有效

实际部署时,建议结合使用多种方案形成纵深防御。例如,同时使用firewalld进行基础屏蔽和Nginx进行应用层补充,可以提供双重保障。

无论选择哪种方案,都需要建立定期更新机制,尤其是IP地理数据库需要保持最新,以确保屏蔽效果始终有效。同时,在实施任何屏蔽策略前,务必确保不会影响正常的业务访问,建议先在测试环境验证后再部署到生产环境。通过合理配置和实施这些屏蔽策略,您可以显著提升CentOS 7服务器的安全性,减少不必要的网络暴露面,为业务运行提供更加安全可靠的环境。

华纳云 推荐文章
IP地址选共享还是独享?主要参考因素盘点 Debian系统中静态IP地址配置完整流程 韩国服务器IP传输技术全面解析 香港云服务器限制IP访问方法及安全加固指南 日本CN2服务器如何配置多IP方案(以Linux和windows为例) 为什么香港站群服务器对IP质量要求高?如何保障IP段质量 租用海外原生IP服务器推荐美国还是日本? 美国原生IP云服务器访问延迟优化策略方案 日本原生IP云服务器租用注意事项及选购指南 动态IP云服务器一般是用来做什么的?用途分析
活动
客服咨询
7*24小时技术支持
技术支持
渠道支持