Funkce CIDR pro šablony ARM
Tento článek popisuje funkce pro práci s CIDR v šabloně Azure Resource Manageru (šablona ARM).
Tip
Doporučujeme Bicep, protože nabízí stejné možnosti jako šablony ARM a syntaxe se snadněji používá. Další informace najdete v tématu Funkce cidr .
parseCidr
parseCidr(network)
Parsuje rozsah IP adres v zápisu CIDR za účelem získání různých vlastností rozsahu adres.
V Bicep použijte funkci parseCidr .
Parametry
Parametr | Požaduje se | Type | Popis |
---|---|---|---|
síť | Ano | string | Řetězec v zápisu CIDR obsahující rozsah IP adres, který se má převést. |
Vrácená hodnota
Objekt, který obsahuje různé vlastnosti rozsahu adres.
Příklady
Následující příklad analyzuje řetězec CIDR IPv4:
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"resources": [],
"outputs": {
"v4info": {
"type": "object",
"value": "[parseCidr('10.144.0.0/20')]"
}
}
}
Předchozí příklad vrátí následující objekt:
{
"network":"10.144.0.0",
"netmask":"255.255.240.0",
"broadcast":"10.144.15.255",
"firstUsable":"10.144.0.1",
"lastUsable":"10.144.15.254",
"cidr":20
}
Následující příklad analyzuje řetězec CIDR IPv6:
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"resources": [],
"outputs": {
"v6info": {
"type": "object",
"value": "[parseCidr('fdad:3236:5555::/48')]"
}
}
}
Předchozí příklad vrátí následující objekt:
{
"network":"fdad:3236:5555::",
"netmask":"ffff:ffff:ffff::",
"firstUsable":"fdad:3236:5555::",
"lastUsable":"fdad:3236:5555:ffff:ffff:ffff:ffff:ffff",
"cidr":48
}
cidrSubnet
cidrSubnet(network, newCIDR, subnetIndex)
Rozdělí zadaný rozsah IP adres v zápisu CIDR do podsítí s novou hodnotou CIDR a vrátí rozsah IP adres podsítě se zadaným indexem.
V Bicep použijte funkci cidrSubnet .
Parametry
Parametr | Požaduje se | Type | Popis |
---|---|---|---|
síť | Ano | string | Řetězec obsahující rozsah IP adres pro převod v zápisu CIDR |
newCIDR | Ano | int | Celé číslo představující CIDR, které se má použít k podsíti. Tato hodnota by měla být rovna nebo větší než hodnota CIDR v parametru network . |
subnetIndex | Ano | int | Index rozsahu IP adres požadované podsítě, který se má vrátit. |
Vrácená hodnota
Řetězec rozsahu IP adres podsítě se zadaným indexem.
Příklady
Následující příklad vypočítá prvních pět rozsahů podsítě /24 ze zadaného /20:
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"resources": [],
"outputs": {
"v4subnets": {
"type": "array",
"copy": {
"count": "[length(range(0, 5))]",
"input": "[cidrSubnet('10.144.0.0/20', 24, range(0, 5)[copyIndex()])]"
}
}
}
}
Předchozí příklad vrátí následující pole:
[
"10.144.0.0/24",
"10.144.1.0/24",
"10.144.2.0/24",
"10.144.3.0/24",
"10.144.4.0/24"
]
Následující příklad vypočítá prvních pět rozsahů podsítě /52 ze zadaného /48:
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"resources": [],
"outputs": {
"v6subnets": {
"type": "array",
"copy": {
"count": "[length(range(0, 5))]",
"input": "[cidrSubnet('fdad:3236:5555::/48', 52, range(0, 5)[copyIndex()])]"
}
}
}
}
Předchozí příklad vrátí následující pole:
[
"fdad:3236:5555::/52"
"fdad:3236:5555:1000::/52"
"fdad:3236:5555:2000::/52"
"fdad:3236:5555:3000::/52"
"fdad:3236:5555:4000::/52"
]
cidrHost
cidrHost(network, hostIndex)
Vypočítá použitelnou IP adresu hostitele se zadaným indexem zadaného rozsahu IP adres v zápisu CIDR. Například v případě 192.168.1.0/24
, že jsou vyhrazené IP adresy: 192.168.1.0
slouží jako adresa identifikátoru sítě, zatímco 192.168.1.255
funguje jako adresa všesměrového vysílání. Hostitelům, kterým se říká "použitelné" IP adresy, se dají přiřadit jenom IP adresy, od 192.168.1.1
kterých 192.168.1.254
se dá přiřadit. Takže, když je funkce předána hostIndex of 0
, 192.168.1.1
je vrácena.
V Bicep použijte funkci cidrHost .
Parametry
Parametr | Požaduje se | Type | Popis |
---|---|---|---|
síť | Ano | string | Řetězec obsahující síť IP k převodu (musí být správný formát sítě). |
hostIndex | Ano | int | Index IP adresy hostitele, která se má vrátit. |
Vrácená hodnota
Řetězec IP adresy.
Příklady
Následující příklad vypočítá prvních pět použitelných IP adres hostitele ze zadaného /24:
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"resources": [],
"outputs": {
"v4hosts": {
"type": "array",
"copy": {
"count": "[length(range(0, 5))]",
"input": "[cidrHost('10.144.3.0/24', range(0, 5)[copyIndex()])]"
}
}
}
}
Předchozí příklad vrátí následující pole:
[
"10.144.3.1"
"10.144.3.2"
"10.144.3.3"
"10.144.3.4"
"10.144.3.5"
]
Následující příklad vypočítá prvních pět použitelných IP adres hostitele ze zadaného /52:
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"resources": [],
"outputs": {
"v6hosts": {
"type": "array",
"copy": {
"count": "[length(range(0, 5))]",
"input": "[cidrHost('fdad:3236:5555:3000::/52', range(0, 5)[copyIndex()])]"
}
}
}
}
Předchozí příklad vrátí následující pole:
[
"fdad:3236:5555:3000::1"
"fdad:3236:5555:3000::2"
"fdad:3236:5555:3000::3"
"fdad:3236:5555:3000::4"
"fdad:3236:5555:3000::5"
]
Další kroky
- Popis oddílů v šabloně ARM najdete v tématu Vysvětlení struktury a syntaxe šablon ARM.