【问题标题】:When I run cidrsubnet function in terraform I am getting 'prefix extension of 3 does not accommodate a subnet numbered 8'. Why is this?当我在 terraform 中运行 cidrsubnet 函数时,我得到“前缀扩展 3 不容纳编号为 8 的子网”。为什么是这样?
【发布时间】:2021-01-22 10:30:27
【问题描述】:

代码:

cidrsubnet("10.1.2.0/21", 3, 8)

问题:

当我在 terraform 中运行它时,我得到前缀扩展 3 不 容纳编号为 8 的子网。这是为什么呢?任何低于8的作品。我遵循了以下示例:Configure subnets using terraform cidrsubnet 但不确定我在这里缺少什么....

【问题讨论】:

    标签: azure terraform subnet cidr


    【解决方案1】:

    当您使用cidrsubnet("10.1.2.0/21", 3, 8) 时,您添加的是 3 位。由于在二进制 2 ^ 3 = 8 中,您可以在此范围内定义最多 8 个子网:0,1,2,..., 7,具有以下 cidrs:

    • 10.1.0.0/24
    • 10.1.1.0/24
    • 10.1.2.0/24
    • 10.1.3.0/24
    • 10.1.4.0/24
    • 10.1.5.0/24
    • 10.1.6.0/24
    • 10.1.7.0/24

    如果要定义 0 到 15 之间的子网,则必须使用:cidrsubnet("10.1.2.0/21", 4, 8),因为 2 ^ 4 = 16 可以有 16 个子网:0、1、2、...、15。

    【讨论】:

    • 我在您的示例中计算了 8 个子网。我将其理解为 2^3=8,在这种情况下我的 netnum 为 8,所以这不起作用吗?您还显示了上面的 8 个子网,我缺少什么?
    • @shan 计数从0开始,而不是1。所以最大值是 7,而不是 8。
    猜你喜欢
    • 1970-01-01
    • 2021-12-05
    • 1970-01-01
    • 2022-01-02
    • 2021-12-13
    • 2010-12-26
    • 1970-01-01
    • 1970-01-01
    • 2020-11-16
    相关资源
    最近更新 更多