1. 精华:用ipset+iptables批量导入台湾IP清单,速度快、效率高。
2. 精华:如果使用nftables或nginx,也提供对应的示例配置与自动化导入脚本。
3. 精华:注意合规与回溯(日志、白名单、测试环境),遵循企业与法律要求,避免误封。
作为一名资深网络与运维工程师兼SEO写作专家,我将以实战角度、并符合Google E-E-A-T要求,提供可复制的命令行与脚本模板,说明来源与安全注意事项。下列示例基于公开国家IP列表(例如 ipdeny / APNIC 源),仅用于合法防护与流量控制。
一、准备:获取台湾IP清单(示例采用 ipdeny)
示例命令(在服务器上拉取最新 CIDR 列表):
curl -s http://www.ipdeny.com/ipblocks/data/countries/tw.zone -o /tmp/tw.zone
二、方法A:推荐——ipset + iptables(高效、适合大规模前缀)
快速脚本示例:
ipset create tw_ip hash:net -exist
for net in $(cat /tmp/tw.zone); do ipset add tw_ip $net -exist; done
iptables -I INPUT -m set --match-set tw_ip src -j DROP
iptables -I FORWARD -m set --match-set tw_ip src -j DROP
说明:用ipset存储大量网段能显著提升iptables匹配性能,适合线上生产环境。记得持久化 ipset 和 iptables 规则(系统与发行版不同,使用相应保存机制)。
三、方法B:使用nftables(新一代防火墙)
示例步骤:
nft add table inet filter
nft 'add chain inet filter input { type filter hook input priority 0; policy accept; }'
nft add set inet filter tw_set { type ipv4_addr; flags interval; } -exist
for cidr in $(cat /tmp/tw.zone); do nft add element inet filter tw_set { $cidr } || true; done
nft add rule inet filter input ip saddr @tw_set drop
说明:nftables语法灵活,支持集合与区间,适合新系统与长期维护。
四、方法C:应用层拦截(nginx)
把CIDR转换为nginx可用的格式并包含:
在 /etc/nginx/tw_ips.conf 中写入类似:
server { set $block_taiwan 0; include /etc/nginx/tw_ips.conf; if ($block_taiwan) { return 403; } }
tw_ips.conf 内容示例(每行一项):
1.2.3.0/24 1;
并在主配置中用 geo 或变量判断并拒绝。注意:nginx 适合针对 HTTP/HTTPS 服务的精细拦截,但不替代内核层防火墙。
五、脚本自动化(整合示例)
一段简易自动化脚本(伪代码风格,实际部署请加锁、日志与错误处理):
#!/bin/bash curl -s http://www.ipdeny.com/ipblocks/data/countries/tw.zone -o /tmp/tw.zone ipset create tw_ip hash:net -exist for n in $(cat /tmp/tw.zone); do ipset add tw_ip $n -exist; done iptables -C INPUT -m set --match-set tw_ip src -j DROP 2>/dev/null || iptables -I INPUT -m set --match-set tw_ip src -j DROP iptables-save > /etc/iptables/rules.v4
六、云端方案与低侵入性替代
若使用 CDN/云防火墙(如 Cloudflare、AWS WAF、阿里云安全组),直接使用地理封锁规则(country=TW)更为便捷并减少服务器负载。推荐优先使用云端规则,再补充边缘服务器防护。
七、合规、可追溯与恢复策略(符合 E-E-A-T)
1)在部署前,请在测试环境验证规则,避免误伤业务流量;2)保留日志并设置白名单(如合作伙伴 IP、内网段);3)定期从可信源(APNIC、Team Cymru、ipdeny)拉取更新;4)确保操作有审批与审计记录,遵守当地法规与公司策略(合规)。
八、风险与优化建议
直接屏蔽国家IP可能导致误封(CDN回源、代理用户等)。建议结合速率限制、验证码(挑战页面)、WAF 规则与行为分析降低误杀概率。对关键业务节点优先做白名单策略。
结语:以上为快速、实用且可扩展的命令行示例与自动化脚本思路,适合运维、安全团队快速落地。任何生产操作请先在预演环境验证并做好回滚与日志审计。如需我为你的环境定制脚本(含持久化、systemd/cron、日志与告警),可以提供服务器系统信息与现有防火墙架构,我会给出针对性方案。