Lxn-Chan!

(~ ̄▽ ̄)→))* ̄▽ ̄*)o

众所周知,在Wireguard中只能设置允许的IP(AllowedIPs),没办法设置排除部分IP段。但是可以通过一个Python脚本来计算排除掉某个IP或IP段之后的AllowedIPs

改一下下面的参数,然后直接丢Python运行一下,输出结果填在AllowedIPs即可。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#!/usr/bin/python3

from ipaddress import ip_network

start = '0.0.0.0/0'
#需要排除的ip或者ip段
exclude = ['10.0.0.0/8', '172.16.0.0/12', '192.168.0.0/16', '6.6.6.6', '8.8.8.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)))

可以直接在菜鸟教程在线编辑器里面运行。

 简单说两句



联系站长 | 服务状态 | 友情链接

备案号:辽ICP备19013963号

萌ICP备 20219421 号

中国互联网违法和不良信息举报中心

架构版本号:8.1.6 | 本站已全面支持IPv6

正在载入运行数据(1/2)请稍后...
正在载入运行数据(2/2)请稍后...

Copyright 2024 LingXuanNing, All rights reserved.