ACL's maken op een NNI in Azure Operator Nexus
In Azure Operator Nexus helpen toegangsbeheerlijsten (ACL's) voor Permit
en Deny
acties op NNI-niveau (network-to-network interconnect) de toegang tot Secure Shell (SSH) te beveiligen op het VPN (Virtual Private Network) voor beheer. U maakt toegangsbeheerlijsten voor inkomend en uitgaand verkeer voordat u NNI-resources maakt en verwijst vervolgens naar die ACL's in de NNI-nettolading. U moet toegangsbeheerlijsten voor inkomend en uitgaand verkeer maken voordat u de netwerkinfrastructuur inricht.
Dit zijn de algemene stappen voor het maken van een ACL op een NNI:
- NNI-toegangsbeheerlijsten voor inkomend en uitgaand verkeer maken.
- Werk de azure Resource Manager-resourcereferentie bij in een beheer-NNI.
- Maak een NNI en richt de netwerkinfrastructuur in.
Richtlijnen voor parametergebruik
Parameter | Description | Voorbeeld of bereik |
---|---|---|
defaultAction |
Standaardactie die moet worden uitgevoerd. Als u dit niet definieert, is verkeer toegestaan. | "defaultAction": "Permit" |
resource-group |
Resourcegroep van de netwerkinfrastructuur. | nfresourcegroup |
resource-name |
Naam van de ACL. | example-ingressACL |
vlanGroups |
Lijst met VLAN-groepen (Virtual Local Area Network). | |
vlans |
Lijst met VLAN's die moeten worden vergeleken. | |
match-configurations |
Naam van de overeenkomstconfiguratie. | example_acl . Spaties en het en-teken (&) worden niet ondersteund. |
matchConditions |
Voorwaarden waaraan moet worden voldaan. | |
ttlValues |
Time to live (TTL). | 0 -255 |
dscpMarking |
DSCP-markeringen (Differentiated Services Code Point) die moeten worden vergeleken. | 0 -63 |
portCondition |
Poortvoorwaarde die moet worden gekoppeld. | |
portType |
Poorttype dat moet worden vergeleken. | Voorbeeld: SourcePort . Toegestane waarden: DestinationPort , SourcePort . |
protocolTypes |
Protocollen die moeten worden gekoppeld. | [tcp, udp, range[1-2, 1, 2]] . Als het een protocolnummer is, moet het zich in het bereik van 1 -255 . |
vlanMatchCondition |
Voorwaarde voor VLAN-overeenkomst die moet worden vergeleken. | |
layer4Protocol |
Laag 4-protocol. | Moet een van TCP beide zijn of UDP . |
ipCondition |
IP-voorwaarde die moet worden vergeleken. | |
actions |
Actie die moet worden uitgevoerd op basis van een overeenkomstvoorwaarde. | Voorbeeld: permit . |
configuration-type |
Configuratietype, dat inline of bestand kan zijn. Op dit moment ondersteunt Azure Operator Nexus alleen inline. | Voorbeeld: inline . |
U moet ook rekening houden met deze beperkingen:
- Inlinepoorten en inline-VLAN's zijn een statische manier om de poorten of VLAN's te definiƫren met behulp van
azcli
. portGroupNames
envlanGroupNames
zijn dynamische manieren om poorten en VLAN's te definiƫren.- Inlinepoorten en
portGroupNames
samen zijn niet toegestaan. - Inline-VLAN's en
vlanGroupNames
samen zijn niet toegestaan. ipGroupNames
enipPrefixValues
samen zijn niet toegestaan.- Uitgaande ACL's bieden geen ondersteuning voor IP-opties, IP-lengte, fragment, EtherType, DSCP-markering of TTL-waarden.
- Toegangsbeheerlijsten voor inkomend verkeer bieden geen ondersteuning voor EtherType-opties.
Een toegangsbeheerbeheerlijst voor inkomend verkeer maken
Als u een toegangsbeheerbeheerlijst wilt maken, kunt u de volgende Azure CLI-opdracht gebruiken. Met deze opdracht maakt u een toegangsbeheerbeheerlijst met de opgegeven configuraties en levert u het verwachte resultaat als uitvoer. Pas de parameters zo nodig aan voor uw use-case.
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'}]}]"
Verwachte uitvoer
{
"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"
}
}
Een uitgaande ACL maken
Als u een uitgaande ACL wilt maken, kunt u de volgende Azure CLI-opdracht gebruiken. Met deze opdracht maakt u een uitgaande ACL met de opgegeven configuraties en levert u het verwachte resultaat als uitvoer. Pas de parameters zo nodig aan voor uw use-case.
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']}]}]"
Verwachte uitvoer
{
"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"
}
}
De Resource Manager-verwijzing bijwerken
Met deze stap kunt u ACL's maken (inkomend en uitgaand verkeer als er een verwijzing wordt opgegeven) tijdens het maken van de NNI-resource. Nadat u de NNI hebt gemaakt en voordat u de netwerkinfrastructuur inricht, kunt u de NNI opnieuw uitvoeren.
ingressAclId
: Referentie-id voor de toegangsbeheerlijst voor inkomend verkeer.egressAclId
: Referentie-id voor de uitgaande ACL.
Als u de Resource Manager-resource-id wilt ophalen, gaat u naar de resourcegroep van het abonnement dat u gebruikt.
Met de volgende opdracht wordt de Resource Manager-verwijzing voor de NNI-resource bijgewerkt door deze te koppelen aan de opgegeven toegangsbeheerbeheerlijsten voor inkomend en uitgaand verkeer. Pas de parameters zo nodig aan voor uw use-case.
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"
ACL-details weergeven
Gebruik de volgende opdracht om de details van een opgegeven ACL weer te geven:
az networkfabric acl show --resource-group "example-rg" --resource-name "example-acl"
ACL's weergeven
Gebruik de volgende opdracht om alle ACL's in een opgegeven resourcegroep weer te geven:
az networkfabric acl list --resource-group "ResourceGroupName"
ACL's maken in het externe ISD-netwerk
Gebruik de volgende informatie om toegangsbeheerlijsten voor inkomend en uitgaand verkeer te maken voor het externe netwerk van het isolatiedomein (ISD). Werk vervolgens de Resource Manager-resourcereferentie voor het externe netwerk bij.
Een uitgaande ACL maken voor het externe ISD-netwerk
Gebruik de volgende opdracht om een uitgaande ACL te maken voor het opgegeven externe ISD-netwerk met de opgegeven configuratie. Pas de parameters zo nodig aan voor uw use-case.
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}]}]"
Verwachte uitvoer
Na een geslaagde uitvoering retourneert de opdracht informatie over de gemaakte ACL in de volgende indeling. Deze uitvoer bevat details over de configuratie en status.
{
"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"
}
Een toegangsbeheerlijst voor het externe ISD-netwerk maken
Gebruik de volgende opdracht om een toegangsbeheerobject-ACL te maken voor het opgegeven externe ISD-netwerk met de opgegeven configuratie. Pas de parameters zo nodig aan voor uw use-case.
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}]}]"
Verwachte uitvoer
Na een geslaagde uitvoering retourneert de opdracht informatie over de gemaakte ACL in de volgende indeling. Deze uitvoer bevat details over de configuratie en status.
{
"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"
}