Linux 服务器Centos7 利用ipset封禁国外IP
1.安装 ipset
sudo yum install -y ipset2.创建 china集合
sudo ipset create china hash:net family inet3.下载IP数据库
wget -O /opt/geoip/cn.zone https://www.ipdeny.com/ipblocks/data/countries/cn.zone4.IP库批量导入到china集合
while read ip; do
sudo ipset add china $ip
done < /opt/geoip/cn.zone5.验证 ipset china 数据
sudo ipset list china | head -206.增加规则 允许来自中国 IP 访问特定端口
iptables -A INPUT -p tcp -m set --match-set china src -m multiport --dports 22,80,443,8888 -j ACCEPT7.增加规则 拒绝所有其他来源(非中国 IP)
iptables -A INPUT -p tcp -m multiport --dports 22,80,443,8888 -j DROP8.持久化 ipset
# 保存 ipset 配置
sudo ipset save > /etc/ipset.conf
# 启用开机恢复
echo "ipset restore < /etc/ipset.conf" | sudo tee -a /etc/rc.local
# 确保 rc.local 可执行
sudo chmod +x /etc/rc.local
总结
1.跳转至 CDBAN链 iptables -N CDBAN iptables -I INPUT -j CDBAN
2.跳转至 ALIYUN_BLOCKED_IPS链 iptables -N ALIYUN_BLOCKED_IPS iptables -I INPUT 2 -j ALIYUN_BLOCKED_IPS
3.允许国内IP iptables -A INPUT -p tcp -m set --match-set china src -m multiport --dports 22,80,443,8888 -j ACCEPT
4.拒绝其他所有访问 iptables -A INPUT -p tcp -m multiport --dports 22,80,443,8888 -j DROP
版权申明
本文系作者 @技术狂人张大胆 原创发布在AP135 乐享生活网站点。未经许可,禁止转载。
评论