ACL-beheer (Access Control List) maken voor externe netwerken van NNI en laag 3-isolatiedomein
Toegangsbeheerlijsten (ACL's) zijn een set regels die de binnenkomende en uitgaande pakketstroom binnen een netwerk reguleren. De Nexus Network Fabric-service van Azure biedt een op API gebaseerd mechanisme voor het configureren van ACL's voor netwerk-naar-netwerk-interconnects en externe netwerken van het isolatiedomein van laag 3. Deze handleiding bevat een overzicht van de stappen voor het maken van ACL's.
Toegangsbeheerlijsten (ACL's) maken
Als u een ACL wilt maken en de eigenschappen ervan wilt definiëren, kunt u de az networkfabric acl create
opdracht gebruiken. Hieronder ziet u de stappen die u moet uitvoeren:
Vereisten
Gebruik de Bash-omgeving in Azure Cloud Shell. Zie quickstart voor Bash in Azure Cloud Shell voor meer informatie.
Installeer de Azure CLI, indien gewenst, om CLI-referentieopdrachten uit te voeren. Als u in Windows of macOS werkt, kunt u Azure CLI uitvoeren in een Docker-container. Zie De Azure CLI uitvoeren in een Docker-container voor meer informatie.
Als u een lokale installatie gebruikt, meldt u zich aan bij Azure CLI met behulp van de opdracht az login. Volg de stappen die worden weergegeven in de terminal, om het verificatieproces te voltooien. Raadpleeg Aanmelden bij Azure CLI voor aanvullende aanmeldingsopties.
Installeer de Azure CLI-extensie bij het eerste gebruik, wanneer u hierom wordt gevraagd. Raadpleeg Extensies gebruiken met Azure CLI voor meer informatie over extensies.
Voer az version uit om de geïnstalleerde versie en afhankelijke bibliotheken te vinden. Voer az upgrade uit om te upgraden naar de nieuwste versie.
- Abonnement instellen (indien nodig):
Als u meerdere abonnementen hebt en er een als standaard wilt instellen, kunt u dit doen met:
az account set --subscription <subscription-id>
- ACL maken:
az networkfabric acl create --resource-group "<resource-group>" --location "<location>" --resource-name "<acl-name>" --annotation "<annotation>" --configuration-type "<configuration-type>" --default-action "<default-action>" --match-configurations "[{matchConfigurationName:<match-config-name>,sequenceNumber:<sequence-number>,ipAddressType:<IPv4/IPv6>,matchConditions:[{ipCondition:{type:<SourceIP/DestinationIP>,prefixType:<Prefix/Exact>,ipPrefixValues:['<ip-prefix1>', '<ip-prefix2>', ...]}}],actions:[{type:<Action>}]}]"
Parameter | Description |
---|---|
Resourcegroep | Geef de resourcegroep van uw netwerkinfrastructuur op. |
Locatie | Definieer de locatie waar de ACL wordt gemaakt. |
Resourcenaam | Geef een naam op voor de ACL. |
Aantekening | Voeg eventueel een beschrijving of aantekening toe voor de ACL. |
Configuratietype | Geef op of de configuratie inline is of door een bestand te gebruiken. |
Standaardactie | Definieer de standaardactie die moet worden uitgevoerd als er geen overeenkomst wordt gevonden. |
Overeenkomende configuraties | Definieer de voorwaarden en acties voor het vergelijken van verkeer. |
Acties | Geef de actie op die moet worden uitgevoerd op basis van overeenkomstvoorwaarden. |
Richtlijnen voor het gebruik van parameters
De onderstaande tabel bevat richtlijnen voor het gebruik van parameters bij het maken van ACL's:
Parameter | Description | Voorbeeld of bereik |
---|---|---|
defaultAction | Definieert de standaardactie die moet worden uitgevoerd | "defaultAction": "Toestaan" |
resource-group | Resourcegroep van netwerkinfrastructuur | nfresourcegroup |
resourcenaam | Naam van ACL | example-ingressACL |
vlanGroups | Lijst met VLAN-groepen | |
vlans | Lijst met VLAN's die moeten worden vergeleken | |
match-configurations | Naam van overeenkomstconfiguratie | example_acl |
matchConditions | Voorwaarden waaraan moet worden voldaan | |
ttlValues | TTL [Time To Live] | 0-255 |
dscpMarking | DSCP-markeringen die moeten worden vergeleken | 0-63 |
Fragmenten | De IP-fragmentpakketten opgeven | Bereik: 1-8191 Voorbeeld: [1, 5, 1250-1300, 8000-8191] |
portCondition | Poortvoorwaarde die moet worden gekoppeld | |
portType | Poorttype dat moet worden vergeleken | Voorbeeld: SourcePort |
poorten | Poortnummer dat moet worden vergeleken | Bereik: 0-65535 Voorbeeld: [1, 10, 500, 1025-1050, 64000-65535] |
protocoltypes | Protocollen die moeten worden vergeleken | [tcp, udp, bereik[1-2, 1, 2]] |
vlanMatchCondition | Voorwaarde voor VLAN-overeenkomst die moet worden gematcht | |
layer4Protocol | Layer 4-protocol | moet TCP of UDP zijn |
ipCondition | IP-voorwaarde die moet worden vergeleken | |
acties | Actie die moet worden uitgevoerd op basis van overeenkomstvoorwaarde | Voorbeeld: toestaan |
configuratietype | Configuratietype (inline of bestand) | Voorbeeld: inline |
Notitie
- Inlinepoorten en inline-VLAN's worden statisch gedefinieerd met azcli.
- PortGroupNames en VlanGroupNames worden dynamisch gedefinieerd.
- Het combineren van inlinepoorten met portGroupNames is niet toegestaan, op dezelfde manier voor inline-VLAN's en VLANGroupNames.
- IPGroupNames en IpPrefixValues kunnen niet worden gecombineerd.
- Uitgaande ACL's bieden geen ondersteuning voor bepaalde opties, zoals IP-opties, IP-lengte, fragment, ether-type, DSCP-markering en TTL-waarden.
- Toegangsbeheerlijsten voor inkomend verkeer bieden geen ondersteuning voor de volgende opties: etherType.
- Poorteninvoer kan of
port-number
range-of-ports
. - Fragmenteninvoer kan of
port-number
range-of-ports
. - ACL met dynamische overeenkomstconfiguratie op eeuwige netwerken wordt niet ondersteund.
Voorbeeld van nettolading voor het maken van een ACL
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:example-match,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}]}]"
Voorbeelduitvoer
{
"administrativeState": "Disabled",
"annotation": "annotation",
"configurationState": "Succeeded",
"configurationType": "Inline",
"defaultAction": "Deny",
"id": "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroups/Fab3LabNF-4-0/providers/Microsoft.ManagedNetworkFabric/accessControlLists/L3domain091123-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": "example-Ipv4ingressACL ",
"sequenceNumber": 1110
}
],
"name": "example-Ipv4ingressACL",
"provisioningState": "Succeeded",
"resourceGroup": "Fab3LabNF-4-0",
"systemData": {
"createdAt": "2023-09-11T10:20:20.2617941Z",
"createdBy": "user@email.com",
"createdByType": "User",
"lastModifiedAt": "2023-09-11T10:20:20.2617941Z",
"lastModifiedBy": "user@email.com",
"lastModifiedByType": "User"
},
"type": "microsoft.managednetworkfabric/accesscontrollists"
}
Notitie
Nadat u de ACL hebt gemaakt, moet u de ACL-referentie-id noteren voor verdere naslaginformatie.
Volgende stappen
Toegangsbeheerlijsten (ACL's) toepassen op NNI in Azure Fabric