我想使用this CSV file来阻止列表中的所有IP。 CSV文件中的条目是IP范围。如何从文本中分离IP范围,并将这些IP范围添加到iptables
,并使用规则删除与这些IP的所有连接。
顺便说一下,我认为最适合用于大型IP范围http://ipset.netfilter.org/index.html
答案 0 :(得分:1)
你需要python netaddr模块
import netaddr
with open('ipranges.txt','r') as f:
for line in f:
startip,endip=line.split(',')[:2]
print 'iptables -I INPUT -s {} -j DROP'.format(netaddr.iprange_to_cidrs(startip, endip)[0])
答案 1 :(得分:0)
或许可以查看https://docs.python.org/3/library/ipaddress.html来操纵您的IP地址。 ipaddress.summarize_address_range(first,last)可以很好地生成iptables规则。