Github上能找到很多ip段的txt文件,下面用Python脚本将它转换成IPSET
- 
    
- 首先下载好需要转换的ip文件
 sample-ips.txt- 
        
1.0.1.0/24 1.0.2.0/23 1.0.8.0/21 1.0.32.0/19 192.168.1.0/24 
 - 
    
- 保存以下代码为
create-ipset.py create-ipset.py- 
        
#open里面的文件名根据实际情况修改 with open('sample-ips.txt') as f: lines = f.readlines() commands = ['ipset create myipset hash:net'] for l in lines: commands.append("ipset add myipset %s"%l.strip()) with open('create-ipset.sh', 'w') as my_list_file: for element in commands: my_list_file.write('%s\n' % element) 
 - 保存以下代码为
 - 运行python脚本获取shell脚本
    
python3 create-ipset.py命令成功执行后,应该能见到一个新生成的
create-ipset.sh文件 - 将生成的shell脚本
create-ipset.sh上传到Linux系统主机执行bash create-ipset.sh视乎主机性能和ip列表长度,这一步需要等待一定时间
 - 测试IPSET是否正常工作
    
root@OpenWrt:~# ipset test myipset 192.168.100.1 192.168.100.1 is NOT in set myipset.到这一步IPSET就已经创建成功了,如果想将IPSET中的IP进行重定向,可以继续看下去
 - 重定向IPSET流量
    
iptables -A PREROUTING -t mangle -i eth0 -m set --match-set myipset dst -j MARK --set-mark 123 ip route add table 123 default via 192.168.1.254 dev eth0 ip rule add fwmark 123 table 123上面命令的作用是将目的地址为myipset的流量重定向到
192.168.1.254网关,命令里面的网络接口eth0以及网关、ipset名称等要按实际情况修改 
      
    
      
留下评论