1、ipset相关操作
yum install ipset -y
ipset create cn_ip hash:net hashsize 4096 maxelem 1000000
- cn_ip: 集合名称
- hash:net 集合类型名
- hashsize:指定了创建集合时初始大小
- maxelem:指定了集合最大存储记录的数量
- 添加IP
ipset add cn_ip 10.1.1.1 #添加ip
ipset add cn_ip 10.1.1.0/24 #添加ip段
ipset add cn_ip 10.1.1.10 nomatch #排除ip
ipset add cn_ip 10.1.1.0/24 nomatch #排除ip段
ipset add cn_ip 10.1.1.1:80 #添加端口
ipset add cn_ip 10.1.1.1,udp:53 #添加协议及端口
ipset add cn_ip 10.1.1.1,tcp:20-25 #添加协议及端口范围
ipset del cn_ip 10.1.1.1
ipset del cn_ip 10.1.1.1:80
ipset del cn_ip 10.1.1.1,udp:53
ipset del cn_ip 10.1.1.0/24
ipset flush cn_ip #清空cn_ip列表
ipset flush #清空所有列表
ipset list #查看所有列表
ipset list cn_ip #查看cn_ip列表
ipset save cn_ip -f cn_ip.ipset #将规则导出为文件
ipset restore -f cn_ip.ipset #将规则导入ipset
2、ipset与iptables结合应用
iptables -A INPUT -m set --match-set cn_ip src -p tcp --dport 80 -j DROP
iptables -A INPUT -m set --match-set cn_ip src -p tcp --dport 443 -j ACCEPT
wget https://www.isres.com/china_ip_list.txt
ipset create cn_ip hash:net hashsize 4096 maxelem 1000000
cat china_ip_list.txt