Bicep için CIDR işlevleri
Sınıfsız Inter-Domain Yönlendirme (CIDR), IP adreslerini ayırmanın ve İnternet Protokolü (IP) paketlerini yönlendirmenin bir yöntemidir. Bu makalede CIDR ile çalışmaya yönelik Bicep işlevleri açıklanmaktadır.
parseCidr
parseCidr(network)
Adres aralığının çeşitli özelliklerini almak için bir IP adresi aralığını CIDR gösteriminde ayrıştırıyor.
Ad alanı: sys.
Parametreler
Parametre | Gerekli | Tür | Açıklama |
---|---|---|---|
network | Yes | string | Dönüştürülecek IP adresi aralığını içeren CIDR gösterimindeki dize. |
Döndürülen değer
Adres aralığının çeşitli özelliklerini içeren bir nesne.
Örnekler
Aşağıdaki örnek bir IPv4 CIDR dizesini ayrıştırmaktadır:
output v4info object = parseCidr('10.144.0.0/20')
Yukarıdaki örnek aşağıdaki nesneyi döndürür:
{
"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
}
Aşağıdaki örnek bir IPv6 CIDR dizesini ayrıştırmaktadır:
output v6info object = parseCidr('fdad:3236:5555::/48')
Yukarıdaki örnek aşağıdaki nesneyi döndürür:
{
"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)
CIDR gösteriminde belirtilen IP adresi aralığını yeni bir CIDR değeri olan alt ağlara böler ve belirtilen dizine sahip alt ağın IP adresi aralığını döndürür.
Ad alanı: sys.
Parametreler
Parametre | Gerekli | Tür | Açıklama |
---|---|---|---|
network | Yes | string | CIDR gösteriminde dönüştürülecek IP adresi aralığını içeren dize. |
newCIDR | Yes | int | Alt ağ için kullanılacak CIDR'yi temsil eden bir tamsayı. Bu değer, parametresindeki CIDR değerinden network eşit veya daha büyük olmalıdır. |
subnetIndex | Yes | int | döndürülecek istenen alt ağ IP adresi aralığının dizini. |
Döndürülen değer
Belirtilen dizine sahip alt ağın IP adresi aralığının dizesi.
Örnekler
Aşağıdaki örnek, belirtilen /20 aralığındaki ilk beş /24 alt ağ aralığını hesaplar:
output v4subnets array = [for i in range(0, 5): cidrSubnet('10.144.0.0/20', 24, i)]
Yukarıdaki örnek aşağıdaki diziyi döndürür:
[
"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"
]
Aşağıdaki örnek, belirtilen /48 aralığındaki ilk beş /52 alt ağ aralığını hesaplar:
output v6subnets array = [for i in range(0, 5): cidrSubnet('fdad:3236:5555::/48', 52, i)]
Yukarıdaki örnek aşağıdaki diziyi döndürür:
[
"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)
CIDR gösteriminde belirtilen IP adresi aralığında belirtilen dizine sahip konağın kullanılabilir IP adresini hesaplar. Örneğin, durumunda 192.168.1.0/24
ayrılmış IP adresleri vardır: 192.168.1.0
ağ tanımlayıcı adresi olarak görev yaparken 192.168.1.255
yayın adresi olarak işlev görür. "Kullanılabilir" IP adresleri olarak adlandırdığımız konaklara yalnızca ile arasında değişen 192.168.1.1
192.168.1.254
IP adresleri atanabilir. Bu nedenle, işleve geçirildiğinde bir hostIndex değeri 0
192.168.1.1
döndürülür.
Azure'da her alt ağda ayrılmış ek IP adresleri vardır ve bunlar ilk dört ve son IP adresidir ve toplam beş ayrılmış IP adresi içerir. Örneğin, IP adresi aralığı 192.168.1.0/24
söz konusu olduğunda, aşağıdaki adresler ayrılmıştır:
192.168.1.0
: Ağ adresi.192.168.1.1
: Varsayılan ağ geçidi için Azure tarafından ayrılmıştır.192.168.1.2
,192.168.1.3
: Azure DNS IP'lerini sanal ağ alanına eşlemek için Azure tarafından ayrılmıştır.192.168.1.255
: Ağ yayın adresi.
Ad alanı: sys.
Parametreler
Parametre | Gerekli | Tür | Açıklama |
---|---|---|---|
network | Yes | string | Dönüştürülecek BIR IP ağı içeren dize. Sağlanan dize doğru ağ biçiminde olmalıdır. |
hostIndex | Yes | int | Dizin, döndürülecek ana bilgisayar IP adresini belirler. değerini 0 kullanırsanız, Azure olmayan bir ağ için ilk kullanılabilir IP adresini verir. Ancak kullanırsanız 3 , bir Azure alt ağı için ilk kullanılabilir IP adresini sağlar. |
Döndürülen değer
IP adresinin dizesi.
Örnekler
Aşağıdaki örnek, Azure dışı ağlarda belirtilen /24'ten ilk beş kullanılabilir ana bilgisayar IP adresini hesaplar:
output v4hosts array = [for i in range(0, 5): cidrHost('10.144.3.0/24', i)]
Yukarıdaki örnek aşağıdaki diziyi döndürür:
[
"10.144.3.1"
"10.144.3.2"
"10.144.3.3"
"10.144.3.4"
"10.144.3.5"
]
Aşağıdaki örnek, Azure dışı ağlarda belirtilen /52'den ilk beş kullanılabilir ana bilgisayar IP adresini hesaplar:
output v6hosts array = [for i in range(0, 5): cidrHost('fdad:3236:5555:3000::/52', i)]
Yukarıdaki örnek aşağıdaki diziyi döndürür:
[
"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"
]
Sonraki adımlar
- Bicep dosyasındaki bölümlerin açıklaması için bkz. Bicep dosyalarının yapısını ve söz dizimini anlama.