首页 游戏 软件 资讯 排行榜 专题
首页
系统平台
Linux防火墙配置指南:使用IPSet与GeoIP精准拦截海外流量

Linux防火墙配置指南:使用IPSet与GeoIP精准拦截海外流量

热心网友
79
转载
2026-05-20

在服务器安全防护领域,拦截海外访问流量是一项广泛采用且效果显著的策略。然而,如何实现高效、稳定且易于维护的拦截方案,其中包含诸多技术细节与最佳实践。

直接给出核心结论:兼顾稳定性、性能与可维护性的最优方案,是结合使用 ipsetiptables。至于另一种方案——编译内核模块 xt_geoip,虽然内存占用较低,但其编译过程复杂、内核兼容性要求苛刻,对于大多数生产环境而言,并非首选推荐。

linux怎么配置防火墙拦截海外流量 linux下ipset与geoip配合详解

为何不应在 iptables 中直接编写数百条规则?

根本原因在于性能损耗。iptables 的规则匹配采用线性顺序执行,每个进入服务器的数据包都必须从规则链的第一条开始,逐条进行条件比对,直至命中允许(ACCEPT)或丢弃(DROP)动作。

试想,当规则数量累积至数百条时,每一个入境连接请求都需要经历数百次判断。在高并发访问场景下,CPU 资源将大量消耗在遍历规则链上,直接导致 SSH 登录延迟、Web 服务响应缓慢等问题。

ipset 的巧妙之处在于,它将需要匹配的 IP 地址段(例如所有中国 IP)存储在一个高效的哈希表中。在 iptables 中,仅需一条规则:-m set --match-set cn_ips src,即可完成一次时间复杂度为 O(1) 的快速查找。实际测试表明,在主流配置的服务器上,此方案带来的网络吞吐量损失微乎其微。

因此,请务必遵循正确的操作流程:首先创建 ipset 集合并导入 IP 段数据,然后让 iptables 规则去引用该集合。切勿使用循环脚本批量添加数百条形如 iptables -A INPUT -s x.x.x.x/xx -j ACCEPT 的规则,这无异于主动制造一个性能瓶颈。

如何获取并导入最新的中国 IP 地址段?

最权威的数据来源是亚太互联网络信息中心(APNIC)每日发布的 delegated-apnic-latest 文件。不过,其原始格式并非直接的 CIDR 网段,需要进行简单的格式转换。

以下组合命令适用于 CentOS、RHEL、Ubuntu 等主流 Linux 发行版,可一次性完成数据获取、格式转换及导入 ipset 的全过程:

curl -s https://ftp.apnic.net/apnic/stats/apnic/delegated-apnic-latest \
  | awk -F\| '$2=="CN" && $3=="ipv4" { printf "%s/%d\n", $4, 32-log($5)/log(2) }' \
  | grep -v "0.0.0.0" > /tmp/cn_cidr.txt

ipset create cn_ips hash:net
while read cidr; do
  [ -n "$cidr" ] && ipset add cn_ips "$cidr"
done < /tmp/cn_cidr.txt

执行时需要注意以下几点:

  • 命令中的 log($5)/log(2) 是关键计算,负责将 IP 地址数量转换为对应的 CIDR 前缀长度(例如,65536 个地址对应 /16 网段)。
  • grep -v "0.0.0.0" 用于过滤数据文件中可能存在的无效条目。
  • 若执行时提示集合已存在,可先使用 ipset flush cn_ips 清空现有内容,或使用 ipset destroy cn_ips 删除后重建。

如何设计 iptables 规则链,避免“误杀”必要流量?

一个典型的错误是直接添加规则:iptables -A INPUT -m set ! --match-set cn_ips src -j DROP。这将导致所有非中国 IP 的流量被丢弃,包括服务器本地的环回地址(127.0.0.1)、内部管理网络以及 Docker 等容器创建的虚拟网桥流量,可能引发服务异常甚至导致远程连接中断。

正确的做法是建立清晰的放行优先级。推荐创建一个自定义链来专门处理地理过滤逻辑:

iptables -N GEO_FILTER
iptables -A INPUT -j GEO_FILTER

# 第一步:优先放行所有可信的本地及内网流量
iptables -A GEO_FILTER -s 127.0.0.1 -j RETURN
iptables -A GEO_FILTER -s 10.0.0.0/8 -j RETURN
iptables -A GEO_FILTER -s 172.16.0.0/12 -j RETURN
iptables -A GEO_FILTER -s 192.168.0.0/16 -j RETURN

# 第二步:放行位于中国 IP 集合中的流量
iptables -A GEO_FILTER -m set --match-set cn_ips src -j RETURN

# 第三步:处理剩余流量(正式上线前建议先记录日志进行观察)
iptables -A GEO_FILTER -j LOG --log-prefix "GEO_DROP: "
iptables -A GEO_FILTER -j DROP

此结构的关键在于理解 RETURN 动作:它并非“跳过”,而是跳出当前自定义链,返回到调用它的主链(此处为 INPUT 链)并继续执行后续规则。因此,必须确保 INPUT 链的默认策略(Policy)设置为 ACCEPT,否则所有未被显式放行的流量仍会被链的默认策略拒绝。

此外,强烈建议在最终执行 DROP 之前,先配置 LOG 规则并添加易于识别的日志前缀。这样,可以通过 dmesg | grep GEO_DROP 命令,快速验证拦截是否按预期工作,便于后续排查问题。

确保规则持续生效:定时更新与关键注意事项

APNIC 的数据每日更新,但中国 IP 地址段总体稳定,每周更新一次完全足够。可通过配置定时任务实现自动更新。

首先,将更新逻辑写入脚本,例如 /root/update-cn-ips.sh。脚本编写需注意以下核心要点:

  • 使用 ipset flush cn_ips 清空集合,而非直接销毁(destroy)后重建。因为直接销毁会导致正在引用该集合的 iptables 规则报错 “set not found”。
  • 加入完善的错误处理机制,如下载失败时应退出脚本并触发告警,避免因静默失败导致 IP 集合为空,造成全部流量被误拦截。

然后,通过 crontab 添加每周任务:

0 3 * * 1 /root/update-cn-ips.sh

更新完成后,切勿忘记保存 iptables 规则,否则服务器重启后所有手动配置将会丢失:

  • CentOS/RHEL 系统: iptables-sa ve > /etc/sysconfig/iptables
  • Debian/Ubuntu 系统: iptables-sa ve > /etc/iptables/rules.v4

最后是一个极易被忽视的陷阱:如果系统同时启用了 ufwfirewalld 这类更上层的防火墙管理工具,它们可能会在后台覆盖或清理你手动配置的 iptables 规则。在部署本方案前,请务必确认它们已被停止并禁用:

systemctl stop ufw firewalld
systemctl disable ufw firewalld

遵循以上步骤与最佳实践,你便能构建一个高效、稳定且易于维护的海外流量拦截体系,在显著提升服务器安全性的同时,确保核心服务性能不受影响。

来源:https://www.php.cn/faq/2408610.html
免责声明: 游乐网为非赢利性网站,所展示的游戏/软件/文章内容均来自于互联网或第三方用户上传分享,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系youleyoucom@outlook.com。

相关攻略

Linux防火墙配置指南:使用IPSet与GeoIP精准拦截海外流量
系统平台
Linux防火墙配置指南:使用IPSet与GeoIP精准拦截海外流量

在服务器安全防护领域,拦截海外访问流量是一项广泛采用且效果显著的策略。然而,如何实现高效、稳定且易于维护的拦截方案,其中包含诸多技术细节与最佳实践。 直接给出核心结论:兼顾稳定性、性能与可维护性的最优方案,是结合使用 ipset 与 iptables。至于另一种方案——编译内核模块 xt_geoip

热心网友
05.20
2026年Deepseek优化公司排名前三强深度解析
业界动态
2026年Deepseek优化公司排名前三强深度解析

2026年,AI搜索已经彻底改变了用户获取信息的路径。行业数据显示,AI搜索渗透率突破91%,传统搜索引擎的流量份额正从92 48%降至89 78%,这意味着AI工具已经分走了超过四分之一的传统搜索流量。一个根本性的转变正在发生:用户不再需要从十条蓝色链接中自行筛选,而是直接采纳AI生成的答案。于是

热心网友
05.20
平头哥发布首款智能网卡磐脉920 支持400Gbps带宽国内领先
业界动态
平头哥发布首款智能网卡磐脉920 支持400Gbps带宽国内领先

2026年4月28日,在备受瞩目的数字中国峰会上,阿里巴巴旗下半导体公司平头哥正式发布了其首款智能网卡产品——磐脉920。这不仅标志着平头哥成功进军智能网卡市场,更因其创新性地内置了PCIe Switch,成为国内首款具备此特性的产品。其高达400Gbps的最大吞吐带宽,一举达到了全球业界的领先水平

热心网友
05.19
DeepSeek竞品分析教程 输入链接即可快速对比
AI资讯
DeepSeek竞品分析教程 输入链接即可快速对比

想利用DeepSeek进行深度竞品分析,但手头仅有竞争对手的商品或内容链接?这是许多运营和产品人员的常见痛点。无论是亚马逊ASIN、京东SKU详情页,还是小红书品牌号,这些链接本身无法被DeepSeek直接解析。核心解决方案在于:先将网页内容转化为结构化的文本数据,再交由DeepSeek进行智能建模

热心网友
05.18
Linux mpstat命令详解 如何查看每个CPU核心占用率
系统平台
Linux mpstat命令详解 如何查看每个CPU核心占用率

想要实时掌握Linux系统中每个CPU核心的运行状态吗?这不仅是系统管理员的基础技能,也是性能调优和故障排查的关键。面对多种监控工具,如何选择最高效的方案?简单来说:快速查看实时负载,用top命令一键切换;进行性能统计与深入分析,mpstat是专业选择;而构建自动化监控或需要底层数据时,直接解析 p

热心网友
05.18

最新APP

宝宝过生日
宝宝过生日
应用辅助 04-07
台球世界
台球世界
体育竞技 04-07
解绳子
解绳子
休闲益智 04-07
骑兵冲突
骑兵冲突
棋牌策略 04-07
三国真龙传
三国真龙传
角色扮演 04-07

热门推荐

Mac Studio M5性能深度解析 五大关键信息助你全面了解
iphone
Mac Studio M5性能深度解析 五大关键信息助你全面了解

苹果MacStudio库存见底,预示新款即将发布。外观预计延续经典紧凑设计,接口布局不变。核心升级为M5Max和M5Ultra芯片,性能大幅提升,但内存供应可能受限。固态硬盘速度有望翻倍。作为苹果专业桌面新旗舰,其起售价可能小幅上调,WWDC大会可能是发布窗口。

热心网友
05.20
尼克尔Z DX 24mm f/1.7镜头 适合C画幅人文扫街售1899元
业界动态
尼克尔Z DX 24mm f/1.7镜头 适合C画幅人文扫街售1899元

对于使用尼康Z卡口APS-C画幅(DX格式)相机(如Z fc、Z30、Z50)的摄影爱好者而言,在套机镜头之外选择一支定焦镜头,是提升创作自由度和画面质量的关键一步。尼克尔 Z DX 24mm f 1 7正是这样一款专为轻量化与大光圈设计的定焦镜头,目前京东售价1899元,为追求便携与画质平衡的用户

热心网友
05.20
彭军直言L3自动驾驶本质仍是L2,现有分级体系亟待重构
业界动态
彭军直言L3自动驾驶本质仍是L2,现有分级体系亟待重构

自动驾驶技术的分级标准正面临行业内部的深度反思与重构。在2026北京车展上,小马智行联合创始人兼CEO彭军发表的观点,将行业关注的焦点从技术参数转向了更为根本的责任归属议题。 彭军明确指出,当前广泛采用的L1至L5自动驾驶分级体系已显得“极其无厘头”。他认为,这些层级划分并非衡量自动驾驶商业化前景的

热心网友
05.20
特斯拉FSD无法升级引车主不满 马斯克承诺遭质疑
业界动态
特斯拉FSD无法升级引车主不满 马斯克承诺遭质疑

4月28日,《商业内幕》发布的一篇深度报道,揭示了特斯拉自动驾驶承诺背后日益凸显的信任危机。多年来,“未来将实现完全自动驾驶”是特斯拉吸引消费者的核心卖点,但对于众多早期支持者而言,这一愿景正变得愈发渺茫。 图1:马斯克确认HW3车型无法升级至无监督版FSD 问题的根源在于硬件代际差异。在近期举行的

热心网友
05.20
龙虾车圈热潮来袭现象深度解析
业界动态
龙虾车圈热潮来袭现象深度解析

当AI智能体不仅能说会道,还能帮你订餐、写报告,甚至用周杰伦的风格唱首歌时,汽车行业的竞争焦点,已经悄然从硬件参数转向了软件生态。这届北京车展,就是最好的证明。 “你能让它用周杰伦那种吐字不清的风格,唱首歌吗?”在火山引擎的展台,一位体验者向工作人员提出了这个有趣的要求。指令下达后,座舱里的“豆包”

热心网友
05.20