Python脚本WireGuard配置排除ip 192.168.0.0/16,172.16.0.0/12,10.0.0.0/8局域网段 在线生成wireguard排除的ip地址段
[Interface]
PrivateKey = 本地私钥
Address = 172.0.0.2/32
DNS = 8.8.8.8, 114.114.114.114
[Peer]
PublicKey = 对端公钥
#排除 192.168.0.0/16,172.16.0.0/12,10.0.0.0/8
AllowedIPs = 0.0.0.0/5,8.0.0.0/7,11.0.0.0/8,12.0.0.0/6,16.0.0.0/4,32.0.0.0/3,64.0.0.0/2,128.0.0.0/3,160.0.0.0/5,168.0.0.0/6,172.0.0.0/12,172.32.0.0/11,172.64.0.0/10,172.128.0.0/9,173.0.0.0/8,174.0.0.0/7,176.0.0.0/4,192.0.0.0/9,192.128.0.0/11,192.160.0.0/13,192.169.0.0/16,192.170.0.0/15,192.172.0.0/14,192.176.0.0/12,192.192.0.0/10,193.0.0.0/8,194.0.0.0/7,196.0.0.0/6,200.0.0.0/5,208.0.0.0/4,224.0.0.0/3
Endpoint = 对端地址:端口
PrivateKey = 本地私钥
Address = 172.0.0.2/32
DNS = 8.8.8.8, 114.114.114.114
[Peer]
PublicKey = 对端公钥
#排除 192.168.0.0/16,172.16.0.0/12,10.0.0.0/8
AllowedIPs = 0.0.0.0/5,8.0.0.0/7,11.0.0.0/8,12.0.0.0/6,16.0.0.0/4,32.0.0.0/3,64.0.0.0/2,128.0.0.0/3,160.0.0.0/5,168.0.0.0/6,172.0.0.0/12,172.32.0.0/11,172.64.0.0/10,172.128.0.0/9,173.0.0.0/8,174.0.0.0/7,176.0.0.0/4,192.0.0.0/9,192.128.0.0/11,192.160.0.0/13,192.169.0.0/16,192.170.0.0/15,192.172.0.0/14,192.176.0.0/12,192.192.0.0/10,193.0.0.0/8,194.0.0.0/7,196.0.0.0/6,200.0.0.0/5,208.0.0.0/4,224.0.0.0/3
Endpoint = 对端地址:端口
--------------------------------------------------------------------------
Python脚本
#!/usr/bin/python
from ipaddress import ip_network
start = '0.0.0.0/0'
exclude = ['192.168.0.0/16','172.16.0.0/12','10.0.0.0/8']
result = [ip_network(start)]
for x in exclude:
n = ip_network(x)
new = []
for y in result:
if y.overlaps(n):
new.extend(y.address_exclude(n))
else:
new.append(y)
result = new
print(','.join(str(x) for x in sorted(result)))
--------------------------------------------------------------
Python在线 Python3 在线工具 | 菜鸟工具 (runoob.com)
在线生成wireguard排除的ip地址段:
全球ip地址段 不同国家ip:https://www.ipdeny.com/ipblocks/