主要目标:
- 只允许中国大陆 IP 访问 HTTP (80) 和 HTTPS (443)
- 自动检测 SSH 端口
- 允许访问SSH 端口(自动检测)
- 拒绝其他来源访问(DROP)
- 自动安装 ipset
- 自动持久化规则(开机自加载)
- 下载中国大陆 IP 段(来自 ispip.clang.cn)
注意:如果你部署了fq协议,记得修改节点端口号,在
行3x-ui端口
处修改
脚本
curl -sS -O https://raw.githubusercontent.com/woniu336/open_shell/main/safe_cn_firewall.sh && chmod +x safe_cn_firewall.sh && ./safe_cn_firewall.sh
脚本2(包含放行必应爬虫ip段)
curl -sS -O https://raw.githubusercontent.com/woniu336/open_shell/main/safe_cn_firewall_with_bing.sh && chmod +x safe_cn_firewall_with_bing.sh && ./safe_cn_firewall_with_bing.sh
查看
ipset list bingbot
验证:过几个小时或几天后,你可以再次执行
iptables -L -n -v | grep bingbot
若看到计数器(pkts
和 bytes
)不为 0,则说明:
✅ Bing 爬虫确实访问并成功被放行。
定时任务
(crontab -l ; echo "0 4 * * * /root/safe_cn_firewall.sh >/dev/null 2>&1") | crontab -
或者
(crontab -l ; echo "0 4 * * * /root/safe_cn_firewall_with_bing.sh >/dev/null 2>&1") | crontab -
表示每天凌晨 4 点自动更新最新中国IP段并重载防火墙。
查看规则
iptables -L -n -v
查看ip数量
ipset list china | wc -l
删除规则
查看当前规则编号
iptables -L INPUT --line-numbers
删除指定行(从大到小删除,避免行号变化),例如
iptables -D INPUT 8
iptables -D INPUT 7
iptables -D INPUT 6
iptables -D INPUT 5
保存当前规则
iptables-save > /etc/iptables/rules.v4
安装持久化工具(如果没安装)
apt-get install iptables-persistent
或手动加载(开机启动)
echo "iptables-restore < /etc/iptables/rules.v4" >> /etc/rc.local