用Python判断CIDR重叠
近在写代码的时候,有一个需求就是判断一个新增的CIDR是否与现有的CIDR重叠。
netaddr
Python下比较经典的IP地址工具包。github。
import netaddr
new_cidr = "10.0.0.0/24"
old_cidr = "10.0.0.0/16"
def is_overlap(old, new):
old_net = netaddr.IPNetwork(old)
new_net = netaddr.IPNetwork(new)
return old_net in new_net or new_net in old_net
is_overlap(old_cidr, new_cidr)
>>> True
相关文章