我正在尝试编写一个脚本,将比/24 更大(不大于/16)的子网分解为/24 子网。例如:10.10.10.0/23 应该给我 10.10.10.0/24 和 10.10.11.0/24
我的逻辑是首先扫描 CIDR 掩码。如果小于 24,则从 24 中减去该数字(假设 x)给出 /24s 的总数,然后是 IP x 次和 /24 的 1 到第三个八位字节。
例如:10.10.8.0/22
if 22 < 24
x = 24-22 = 2
total # of /24s = 2^x = 4
So output :
10.10.8.0/24
10.10.9.0/24
10.10.10.0/24
10.10.11.0/24
我不知道如何只为第三个八位字节编码/修改字符串,并且只将 1 添加到第三个八位字节。
我正在考虑创建所有第三个八位字节值的列表并重新构建 IP。但是,如果那里有更简单的方法,那将对我有很大帮助!
谢谢 !