- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在学习 AWS CloudFormation。现在,我正在尝试为 VPC 和子网创建模板。我现在正在创建 VPC。
这是我的模板:
AWSTemplateFormatVersion: '2010-09-09'
Description: "Template for Networks and IAM Roles"
Resources:
Vpc:
Type: AWS::EC2::VPC
Properties:
CidrBlock: '10.0.0.0/16'
EnableDnsHostnames: True
EnableDnsSupport: True
我在这里不明白的是CidrBlock。现在,我将其指定为 10.0.0.0/16。老实说,它到底是如何工作的。将其设置为 10.0.0.0/16 总是有效吗?那个有什么用?该 IP 地址范围究竟如何运作?它有什么帮助?我如何确定为其设置哪个值?有公式可以计算吗?如何?我在控制台中看到了一个现有的 VPC。 IP 地址不同。
另外,我如何计算将其拆分以分配给子网?
我正在寻求对以下模板的理解,尤其是子网的 Cidr。
AWSTemplateFormatVersion: '2010-09-09'
Description: "Template for Networks and IAM Roles"
Parameters:
VpcCidr:
Default: '10.0.0.0/16'
Type: String
AllowedPattern: '(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})/(\d{1,2})'
Resources:
Vpc:
Type: AWS::EC2::VPC
Properties:
CidrBlock: !Ref VpcCidr
EnableDnsHostnames: True
EnableDnsSupport: True
PublicSubnet1:
Type: AWS::EC2::Subnet
Properties:
VpcId: !Ref Vpc
CidrBlock: !Select [ 0, !Cidr [ !Ref VpcCidr, 12, 8 ] ]
MapPublicIpOnLaunch: True
AvailabilityZone: !Select
- 0
- Fn::GetAZs: !Ref "AWS::Region"
PublicSubnet2:
Type: AWS::EC2::Subnet
Properties:
VpcId: !Ref Vpc
CidrBlock: !Select [ 1, !Cidr [ !Ref VpcCidr, 12, 8 ] ]
MapPublicIpOnLaunch: True
AvailabilityZone: !Select
- 0
- Fn::GetAZs: !Ref "AWS::Region"
最佳答案
子问题太多,无法在这里单独回答。相反,我可以写这个。
VPC 的 CIDR 从三个 common ranges 中选择:
10.0.0.0 - 10.255.255.255(10/8 前缀)
172.16.0.0 - 172.31.255.255(172.16/12 前缀)
192.168.0.0 - 192.168.255.255(192.168/16 前缀)
使用这些范围是因为它们在互联网上不可路由。
10.0.0.0/16
- 是用于 VPC 的最常用 CIDR。这将为您提供 65535 个私有(private) IP 地址,供您在 VPC 中使用。
您通常将其划分为大小为 /24
的子网,每个子网有 255 个私有(private)地址。例如:
如果您对 VPC 和子网使用上述模式,则无需执行任何计算或记住任何形式。当然,如果你想要更具体的子网,或者不同大小的子网,你就必须学会如何计算子网。互联网上有许多资源和工具用于此目的。例子有:
更新
模板使用本质函数Fn::Cidr .
结构:
!Cidr [ !Ref VpcCidr, 12, 8 ]
将创建一个包含 12 个 CIDR 范围的列表,大小为/24 (32-8)。每个子网将有 255 个地址。 Select
用于从列表中选择单个 CIDR:
!Select [ 0, !Cidr [ !Ref VpcCidr, 12, 8 ] ] # 10.0.0.0/24
!Select [ 1, !Cidr [ !Ref VpcCidr, 12, 8 ] ] # 10.0.1.0/24
!Select [ 2, !Cidr [ !Ref VpcCidr, 12, 8 ] ] # 10.0.2.0/24
!Select [ 11, !Cidr [ !Ref VpcCidr, 12, 8 ] ] # 10.0.11.0/24
关于amazon-web-services - 用于确定或计算 AWS 中 VPC Cidr 的标准公式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63094271/
我有一个 VPC,假设它的 CIDR block 是 10.0.0.0/16。我在那个 VPC 中有几个随机子网。他们的 CIDR 可能类似于 10.0.128.0/19、10.0.32.0/19、1
当我们使用kubeadm设置k8s集群时,有两个选项需要配置: --pod-network-cidr --service-cidr(默认“10.96.0.0/12”) 问题是: 如果我将 10.244
我有 2 个数据框。 One(df1) 具有 CIDR 和一列,该列始终为 1 以丰富第二个数据帧。另一个数据帧(df2)有一个 ip 列表。我想可能通过 df1 中的 CIDR 迭代 IP,并标记
我有一个包含两个 cidr 数组的表。一个包含主机 ip 地址,第二个包含网络地址。 我需要编写一个函数来执行这样的查询: SELECT * from sometable WHERE ip_addr
我在 AWS 上创建了一个 VPC(公共(public)子网和私有(private)子网),IPV4 CIDR block 为 10.0.0.0/26 (即它可以有 2^6 = 64 个 IP 地址以
我正在努力在AWS上创建一个子网。这是我一直纠结的问题:创建一个新子网。将其添加到与第一个子网相同的vPC中,并使用相邻的CIDR块。您使用了什么CIDR块?。但是,我最初的VPC使用的是10.0.1
想知道这是怎么重叠的,好像是后来才出现的。 CIDR block 10.0.96.32/18 overlaps with pre-existing CIDR block 10.0.96.0/28 fr
我有一个问题问以下问题: Suppose a router has the following CIDR entries in its routing table: Net/Prefix Next Ho
我正在编写一个程序,我需要遍历从给定 cidr 的用户派生的地址列表(例如 75.24.64.0/24 )。 我看了一些code ,但这似乎过于复杂。 最后我决定使用一个看起来像这样的结构: stru
我了解 CIDR 的一般概念以及前缀和后缀位的工作原理,并且我大致了解您可以取一个地址说: 73.132.68.12/24 有 24 个前缀和 8 个后缀位。与此对应的网络地址将是: 73.132.6
为了获得对应于 IP 地址/网络掩码的值“24”,我有这段工作代码: - set_fact: ip: "{{ ansible_default_ipv4.address }}/{{ansible
我读到 10.240.0.0/24 最多可以托管 254 个 IP 地址。怎么样? 我如何直观地理解 /24 在这里做什么来帮助提供 254 个唯一的 ip 地址? 最佳答案 TL;博士; 计算主机数
我想制作一个 CIDR 范围列表,代表我指定的 CIDR 范围之外的地址。 作为一个简化的例子: 如果我的 IP 范围从 8.8.8.8 到 8.8.8.10,我将能够用 CIDR 范围 8.8.8.
给定一个网络定义,如 192.168.1.0/24 ,我想转换 /24 CIDR 到四位网络掩码,在本例中 255.255.255.0 . 不应使用额外的 gem 。 最佳答案 这里的实际方法非常简单
例子: 我有这个网络掩码:255.255.255.0 在 bash 中,是否有一个命令或一个简单的脚本来将我的网络掩码转换为符号 /24? 最佳答案 函数使用 subnetcalc : IPprefi
例如,有人可以准确解释 CIDR 块的工作原理以及它如何转换为 0.0.0.0/32 吗?请使用外行的术语,或者甚至是与网络无关的类比。似乎找不到适合我的解释。谢谢!! 最佳答案 无类别域间路由 (C
我有一个 Azure 问题。我在 Azure 云服务中使用 terraform。我尝试在那里启动 2 个 AKS 集群。但我总是收到一个错误,说我的 CIDR 设置错误。 我在集群一中使用: reso
我有以下内容:- 开始范围=“10.40.0.0/16” end_range =“10.100.0.0/16” 我必须编写一个逻辑来迭代从start到end的所有可能范围(具有相同的子网掩码/16)。
我正在寻找一种使用内置 cidr 类型从存储在 postgresql 中的 cidr block 获取直接子网络的方法。 示例数据库 CREATE TABLE nets ( id serial
我有一个 Net 表,其中是网络列表 -- 表:净值 CREATE TABLE net ( id serial NOT NULL, cidr cidr, description text,
我是一名优秀的程序员,十分优秀!