Vytvoření seznamů ACL v NNI v azure Operator Nexus
V Azure Operator Nexus seznamy řízení přístupu (ACL) pro Permit
a Deny
akce na úrovni síťového propojení (NNI) pomáhají chránit přístup k Secure Shellu (SSH) ve virtuální privátní síti pro správu (VPN). Před vytvořením prostředků NNI vytvoříte seznamy ACL příchozího a výchozího přenosu a potom na ně odkazujete v datové části NNI. Před zřízením síťových prostředků infrastruktury musíte vytvořit odkazované seznamy ACL pro příchozí a odchozí přenos dat.
Toto jsou základní kroky pro vytvoření seznamu ACL v NNI:
- Vytváření seznamů ACL příchozího a výchozího přenosu NNI
- Aktualizujte referenční informace k prostředkům Azure Resource Manageru v NNI pro správu.
- Vytvořte NNI a zřiďte síťové prostředky infrastruktury.
Pokyny k použití parametrů
Parametr | Popis | Příklad nebo oblast |
---|---|---|
defaultAction |
Výchozí akce, která se má provést. Pokud ho nedefinujete, provoz je povolený. | "defaultAction": "Permit" |
resource-group |
Skupina prostředků síťové infrastruktury. | nfresourcegroup |
resource-name |
Název seznamu ACL. | example-ingressACL |
vlanGroups |
Seznam skupin virtuální místní sítě (VLAN). | |
vlans |
Seznam sítí VLAN, které se musí shodovat. | |
match-configurations |
Název konfigurace shody. | example_acl . Mezery a znak ampersand (&) nejsou podporované. |
matchConditions |
Podmínky, které se musí shodovat. | |
ttlValues |
Hodnota TTL (Time to Live). | 0 -255 |
dscpMarking |
Diferencované značky bodu kódu služby (DSCP), které je potřeba spárovat. | 0 -63 |
portCondition |
Podmínka portu, která se musí shodovat. | |
portType |
Typ portu, který se musí shodovat. | Příklad: SourcePort . Povolené hodnoty: DestinationPort , SourcePort . |
protocolTypes |
Protokoly, které se musí shodovat. | [tcp, udp, range[1-2, 1, 2]] . Pokud se jedná o číslo protokolu, mělo by být v rozsahu 1 -255 . |
vlanMatchCondition |
Podmínka shody sítě VLAN, která se musí shodovat. | |
layer4Protocol |
Protokol vrstvy 4. | Mělo by to být buď TCP nebo UDP . |
ipCondition |
Podmínka PROTOKOLU IP, která se musí shodovat. | |
actions |
Akce, která se má provést na základě podmínky shody | Příklad: permit . |
configuration-type |
Typ konfigurace, který může být vložený nebo soubor. V tuto chvíli azure Operator Nexus podporuje pouze vložené. | Příklad: inline . |
Měli byste také vědět o těchto omezeních:
- Vložené porty a vložené sítě VLAN představují statický způsob definování portů nebo sítí VLAN pomocí
azcli
. portGroupNames
avlanGroupNames
jsou dynamické způsoby definování portů a sítí VLAN.- Vložené porty a
portGroupNames
společně nejsou povolené. - Vložené sítě VLAN a
vlanGroupNames
společně nejsou povolené. ipGroupNames
aipPrefixValues
společně nejsou povoleny.- Výchozí seznamy ACL nepodporují možnosti PROTOKOLU IP, délku IP adresy, fragment, EtherType, označení DSCP nebo hodnoty TTL.
- Seznamy ACL příchozího přenosu dat nepodporují možnosti EtherType.
Vytvoření seznamu ACL příchozího přenosu dat
K vytvoření seznamu ACL příchozího přenosu dat můžete použít následující příkaz Azure CLI. Tento příkaz vytvoří seznam ACL příchozího přenosu dat se zadanými konfiguracemi a poskytne očekávaný výsledek jako výstup. Upravte parametry podle potřeby pro váš případ použití.
az networkfabric acl create
--resource-group "example-rg"
--location "eastus2euap"
--resource-name "example-Ipv4ingressACL"
--configuration-type "Inline"
--default-action "Permit"
--dynamic-match-configurations "[{ipGroups:[{name:'example-ipGroup',ipAddressType:IPv4,ipPrefixes:['10.20.3.1/20']}],vlanGroups:[{name:'example-vlanGroup',vlans:['20-30']}],portGroups:[{name:'example-portGroup',ports:['100-200']}]}]"
--match-configurations "[{matchConfigurationName:'example-match',sequenceNumber:123,ipAddressType:IPv4,matchConditions:[{etherTypes:['0x1'],fragments:['0xff00-0xffff'],ipLengths:['4094-9214'],ttlValues:[23],dscpMarkings:[32],portCondition:{flags:[established],portType:SourcePort,layer4Protocol:TCP,ports:['1-20']},protocolTypes:[TCP],vlanMatchCondition:{vlans:['20-30'],innerVlans:[30]},ipCondition:{type:SourceIP,prefixType:Prefix,ipPrefixValues:['10.20.20.20/12']}}],actions:[{type:Count,counterName:'example-counter'}]}]"
Očekávaný výstup
{
"properties": {
"lastSyncedTime": "2023-06-17T08:56:23.203Z",
"configurationState": "Succeeded",
"provisioningState": "Accepted",
"administrativeState": "Enabled",
"annotation": "annotation",
"configurationType": "File",
"aclsUrl": "https://ACL-Storage-URL",
"matchConfigurations": [{
"matchConfigurationName": "example-match",
"sequenceNumber": 123,
"ipAddressType": "IPv4",
"matchConditions": [{
"etherTypes": ["0x1"],
"fragments": ["0xff00-0xffff"],
"ipLengths": ["4094-9214"],
"ttlValues": [23],
"dscpMarkings": [32],
"portCondition": {
"flags": ["established"],
"portType": "SourcePort",
"l4Protocol": "TCP",
"ports": ["1-20"],
"portGroupNames": ["example-portGroup"]
},
"protocolTypes": ["TCP"],
"vlanMatchCondition": {
"vlans": ["20-30"],
"innerVlans": [30],
"vlanGroupNames": ["example-vlanGroup"]
},
"ipCondition": {
"type": "SourceIP",
"prefixType": "Prefix",
"ipPrefixValues": ["10.20.20.20/12"],
"ipGroupNames": ["example-ipGroup"]
}
}]
}],
"actions": [{
"type": "Count",
"counterName": "example-counter"
}]
},
"tags": {
"keyID": "KeyValue"
},
"location": "eastUs",
"id": "/subscriptions/xxxxxx/resourceGroups/resourcegroupname/providers/Microsoft.ManagedNetworkFabric/accessControlLists/acl",
"name": "example-Ipv4ingressACL",
"type": "microsoft.managednetworkfabric/accessControlLists",
"systemData": {
"createdBy": "email@address.com",
"createdByType": "User",
"createdAt": "2023-06-09T04:51:41.251Z",
"lastModifiedBy": "UserId",
"lastModifiedByType": "User",
"lastModifiedAt": "2023-06-09T04:51:41.251Z"
}
}
Vytvoření výchozího seznamu ACL
K vytvoření výchozího seznamu ACL můžete použít následující příkaz Azure CLI. Tento příkaz vytvoří výchozí seznam ACL se zadanými konfiguracemi a jako výstup poskytne očekávaný výsledek. Upravte parametry podle potřeby pro váš případ použití.
az networkfabric acl create
--resource-group "example-rg"
--location "eastus2euap"
--resource-name "example-Ipv4egressACL"
--configuration-type "File"
--acls-url "https://ACL-Storage-URL"
--default-action "Permit"
--dynamic-match-configurations "[{ipGroups:[{name:'example-ipGroup',ipAddressType:IPv4,ipPrefixes:['10.20.3.1/20']}],vlanGroups:[{name:'example-vlanGroup',vlans:['20-30']}],portGroups:[{name:'example-portGroup',ports:['100-200']}]}]"
Očekávaný výstup
{
"properties": {
"lastSyncedTime": "2023-06-17T08:56:23.203Z",
"configurationState": "Succeeded",
"provisioningState": "Accepted",
"administrativeState": "Enabled",
"annotation": "annotation",
"configurationType": "File",
"aclsUrl": "https://ACL-Storage-URL",
"dynamicMatchConfigurations": [{
"ipGroups": [{
"name": "example-ipGroup",
"ipAddressType": "IPv4",
"ipPrefixes": ["10.20.3.1/20"]
}],
"vlanGroups": [{
"name": "example-vlanGroup",
"vlans": ["20-30"]
}],
"portGroups": [{
"name": "example-portGroup",
"ports": ["100-200"]
}]
}]
},
"tags": {
"keyID": "KeyValue"
},
"location": "eastUs",
"id": "/subscriptions/xxxxxx/resourceGroups/resourcegroupname/providers/Microsoft.ManagedNetworkFabric/accessControlLists/acl",
"name": "example-Ipv4egressACL",
"type": "microsoft.managednetworkfabric/accessControlLists",
"systemData": {
"createdBy": "email@address.com",
"createdByType": "User",
"createdAt": "2023-06-09T04:51:41.251Z",
"lastModifiedBy": "UserId",
"lastModifiedByType": "User",
"lastModifiedAt": "2023-06-09T04:51:41.251Z"
}
}
Aktualizace odkazu Resource Manageru
Tento krok umožňuje vytváření seznamů ACL (příchozích a výchozích přenosů dat, pokud je k dispozici odkaz) během vytváření prostředku NNI. Po vytvoření NNI a před zřízením síťových prostředků infrastruktury můžete provést opětovné vložení NNI.
ingressAclId
: Referenční ID pro seznam ACL příchozího přenosu dat.egressAclId
: Referenční ID výchozího seznamu ACL.
Pokud chcete získat ID prostředku Resource Manageru, přejděte do skupiny prostředků předplatného, které používáte.
Následující příkaz aktualizuje referenční informace Resource Manageru pro prostředek NNI tím, že ho přidružuje k zadaným seznamům ACL pro příchozí a výchozí přenos dat. Upravte parametry podle potřeby pro váš případ použití.
az networkfabric nni create
--resource-group "example-rg"
--fabric "example-fabric"
--resource-name "example-nniwithACL"
--nni-type "CE"
--is-management-type "True"
--use-option-b "True"
--layer2-configuration "{interfaces:['/subscriptions/xxxxx-xxxx-xxxx-xxxx-xxxxx/resourceGroups/example-rg/providers/Microsoft.ManagedNetworkFabric/networkDevices/example-networkDevice/networkInterfaces/example-interface'],mtu:1500}"
--option-b-layer3-configuration "{peerASN:28,vlanId:501,primaryIpv4Prefix:'10.18.0.124/30',secondaryIpv4Prefix:'10.18.0.128/30',primaryIpv6Prefix:'10:2:0:124::400/127',secondaryIpv6Prefix:'10:2:0:124::402/127'}"
--ingress-acl-id "/subscriptions/xxxxx-xxxx-xxxx-xxxx-xxxxx/resourceGroups/example-rg/providers/Microsoft.ManagedNetworkFabric/accesscontrollists/example-Ipv4ingressACL"
--egress-acl-id "/subscriptions/xxxxx-xxxx-xxxx-xxxx-xxxxx/resourceGroups/example-rg/providers/Microsoft.ManagedNetworkFabric/accesscontrollists/example-Ipv4egressACL"
Zobrazit podrobnosti seznamu ACL
Pokud chcete zobrazit podrobnosti zadaného seznamu ACL, použijte následující příkaz:
az networkfabric acl show --resource-group "example-rg" --resource-name "example-acl"
Seznamy ACL seznamu
Pokud chcete zobrazit seznam všech seznamů ACL v zadané skupině prostředků, použijte následující příkaz:
az networkfabric acl list --resource-group "ResourceGroupName"
Vytvoření seznamů ACL v externí síti ISD
Následující informace slouží k vytvoření seznamů ACL pro příchozí a výchozí přenos dat pro externí síť (ISD). Potom aktualizujte referenční informace k prostředkům Resource Manageru pro externí síť.
Vytvoření výchozího seznamu ACL pro externí síť ISD
Pokud chcete vytvořit výchozí seznam ACL pro zadanou externí síť ISD se zadanou konfigurací, použijte následující příkaz. Upravte parametry podle potřeby pro váš případ použití.
az networkfabric acl create
--resource-group "example-rg"
--location "eastus2euap"
--resource-name "example-Ipv4egressACL"
--annotation "annotation"
--configuration-type "Inline"
--default-action "Deny"
--match-configurations "[{matchConfigurationName:'L3ISD_EXT_OPTA_EGRESS_ACL_IPV4_CE_PE',sequenceNumber:1110,ipAddressType:IPv4,matchConditions:[{ipCondition:{type:SourceIP,prefixType:Prefix,ipPrefixValues:['10.18.0.124/30','10.18.0.128/30','10.18.30.16/30','10.18.30.20/30']}},{ipCondition:{type:DestinationIP,prefixType:Prefix,ipPrefixValues:['10.18.0.124/30','10.18.0.128/30','10.18.30.16/30','10.18.30.20/30']}}],actions:[{type:Count}]}]"
Očekávaný výstup
Po úspěšném spuštění příkaz vrátí informace o vytvořeném seznamu ACL v následujícím formátu. Tento výstup obsahuje podrobnosti o konfiguraci a stavu.
{
"administrativeState": "Disabled",
"annotation": "annotation",
"configurationState": "Succeeded",
"configurationType": "Inline",
"defaultAction": "Deny",
"id": "/subscriptions/xxxxx-xxxx-xxxx-xxxx-xxxxx/resourceGroups/example-rg/providers/Microsoft.ManagedNetworkFabric/accessControlLists/example-Ipv4egressACL",
"location": "eastus2euap",
"matchConfigurations": [
{
"actions": [
{
"type": "Count"
}
],
"ipAddressType": "IPv4",
"matchConditions": [
{
"ipCondition": {
"ipPrefixValues": [
"10.18.0.124/30",
"10.18.0.128/30",
"10.18.30.16/30",
"10.18.30.20/30"
],
"prefixType": "Prefix",
"type": "SourceIP"
}
},
{
"ipCondition": {
"ipPrefixValues": [
"10.18.0.124/30",
"10.18.0.128/30",
"10.18.30.16/30",
"10.18.30.20/30"
],
"prefixType": "Prefix",
"type": "DestinationIP"
}
}
],
"matchConfigurationName": "L3ISD_EXT_OPTA_EGRESS_ACL_IPV4_CE_PE",
"sequenceNumber": 1110
}
],
"name": "example-Ipv4egressACL",
"provisioningState": "Succeeded",
"resourceGroup": "example-rg",
"systemData": {
"createdAt": "2023-09-11T10:20:20.2617941Z",
"createdBy": "email@address.com",
"createdByType": "User",
"lastModifiedAt": "2023-09-11T10:20:20.2617941Z",
"lastModifiedBy": "email@address.com",
"lastModifiedByType": "User"
},
"type": "microsoft.managednetworkfabric/accesscontrollists"
}
Vytvoření seznamu ACL příchozího přenosu dat pro externí síť ISD
Pokud chcete vytvořit seznam ACL příchozího přenosu dat pro zadanou externí síť ISD se zadanou konfigurací, použijte následující příkaz. Upravte parametry podle potřeby pro váš případ použití.
az networkfabric acl create
--resource-group "example-rg"
--location "eastus2euap"
--resource-name "example-Ipv4ingressACL"
--annotation "annotation"
--configuration-type "Inline"
--default-action "Deny"
--match-configurations "[{matchConfigurationName:'L3ISD_EXT_OPTA_INGRESS_ACL_IPV4_CE_PE',sequenceNumber:1110,ipAddressType:IPv4,matchConditions:[{ipCondition:{type:SourceIP,prefixType:Prefix,ipPrefixValues:['10.18.0.124/30','10.18.0.128/30','10.18.30.16/30','10.18.30.20/30']}},{ipCondition:{type:DestinationIP,prefixType:Prefix,ipPrefixValues:['10.18.0.124/30','10.18.0.128/30','10.18.30.16/30','10.18.30.20/30']}}],actions:[{type:Count}]}]"
Očekávaný výstup
Po úspěšném spuštění příkaz vrátí informace o vytvořeném seznamu ACL v následujícím formátu. Tento výstup obsahuje podrobnosti o konfiguraci a stavu.
{
"administrativeState": "Disabled",
"annotation": "annotation",
"configurationState": "Succeeded",
"configurationType": "Inline",
"defaultAction": "Deny",
"id": "/subscriptions/xxxxx-xxxx-xxxx-xxxx-xxxxx/resourceGroups/example-rg/providers/Microsoft.ManagedNetworkFabric/accessControlLists/example-Ipv4ingressACL",
"location": "eastus2euap",
"matchConfigurations": [
{
"actions": [
{
"type": "Count"
}
],
"ipAddressType": "IPv4",
"matchConditions": [
{
"ipCondition": {
"ipPrefixValues": [
"10.18.0.124/30",
"10.18.0.128/30",
"10.18.30.16/30",
"10.18.30.20/30"
],
"prefixType": "Prefix",
"type": "SourceIP"
}
},
{
"ipCondition": {
"ipPrefixValues": [
"10.18.0.124/30",
"10.18.0.128/30",
"10.18.30.16/30",
"10.18.30.20/30"
],
"prefixType": "Prefix",
"type": "DestinationIP"
}
}
],
"matchConfigurationName": "L3ISD_EXT_OPTA_INGRESS_ACL_IPV4_CE_PE",
"sequenceNumber": 1110
}
],
"name": "example-Ipv4ingressACL",
"provisioningState": "Succeeded",
"resourceGroup": "example-rg",
"systemData": {
"createdAt": "2023-09-11T10:20:20.2617941Z",
"createdBy": "email@address.com",
"createdByType": "User",
"lastModifiedAt": "2023-09-11T10:27:27.2317467Z",
"lastModifiedBy": "email@address.com",
"lastModifiedByType": "User"
},
"type": "microsoft.managednetworkfabric/accesscontrollists"
}