一、缘起
家中 WireGuard server 所在内网 ip 段为 10.0.0.0/24 。
单位 WireGuard client 所在内网 ip 段为 10.*.*.0/16 ,内网中有共享打印机,文件服务器。
想要达成如下效果:除了 10.*.*.0/16 不走 WireGuard 之外,所有流量都走 WireGuard ,有点黑白单的意思。
但 WireGuard 釆用的是白名单机制。遂用不同的场景来询问 ChatGPT, 其中一个答案是设置 AllowedIPs = 0.0.0.0/0,!10.*.*.0/16 ,但 WireGuard 提示错误,不给保存设置。可见 ChatGPT 似乎有点“聪明过头”了?
既然 WireGuard 不能使用黑白单模式,那就从白名单 ip 中排除点黑名单 ip 吧!
二、解决方法
通过在线 CIDR 计算工具,把 AllowedIPs = 0.0.0.0/0,!10.*.*.0/16 转为 AllowedIPs = 1.0.0.0/5,8.0.0.0/7,10.0.0.0/16,11.0.0.0/11,12.0.0.0/6,16.0.0.0/4,32.0.0.0/3,64.0.0.0/2,128.0.0.0/1 。
暂时可以按设想的样子工作,但小白还是花了一些时间,边算边验证,把逐段 IP 补全。
三、问题
1 、有没有计算工具能做减法,把 0.0.0.0/0 减 10.*.*.0/16 直接得出答案 1.0.0.0/5,8.0.0.0/7,10.0.0.0/16,11.0.0.0/11,12.0.0.0/6,16.0.0.0/4,32.0.0.0/3,64.0.0.0/2,128.0.0.0/1 ?
2 、不借助其它分流软件,WireGuard 有没方法像黑名单那样分流?
家中 WireGuard server 所在内网 ip 段为 10.0.0.0/24 。
单位 WireGuard client 所在内网 ip 段为 10.*.*.0/16 ,内网中有共享打印机,文件服务器。
想要达成如下效果:除了 10.*.*.0/16 不走 WireGuard 之外,所有流量都走 WireGuard ,有点黑白单的意思。
但 WireGuard 釆用的是白名单机制。遂用不同的场景来询问 ChatGPT, 其中一个答案是设置 AllowedIPs = 0.0.0.0/0,!10.*.*.0/16 ,但 WireGuard 提示错误,不给保存设置。可见 ChatGPT 似乎有点“聪明过头”了?
既然 WireGuard 不能使用黑白单模式,那就从白名单 ip 中排除点黑名单 ip 吧!
二、解决方法
通过在线 CIDR 计算工具,把 AllowedIPs = 0.0.0.0/0,!10.*.*.0/16 转为 AllowedIPs = 1.0.0.0/5,8.0.0.0/7,10.0.0.0/16,11.0.0.0/11,12.0.0.0/6,16.0.0.0/4,32.0.0.0/3,64.0.0.0/2,128.0.0.0/1 。
暂时可以按设想的样子工作,但小白还是花了一些时间,边算边验证,把逐段 IP 补全。
三、问题
1 、有没有计算工具能做减法,把 0.0.0.0/0 减 10.*.*.0/16 直接得出答案 1.0.0.0/5,8.0.0.0/7,10.0.0.0/16,11.0.0.0/11,12.0.0.0/6,16.0.0.0/4,32.0.0.0/3,64.0.0.0/2,128.0.0.0/1 ?
2 、不借助其它分流软件,WireGuard 有没方法像黑名单那样分流?