Skapa ACL-hantering (Access Control List) för externa nätverk för NNI- och layer 3-isoleringsdomäner
Åtkomstkontrollistor (ACL) är en uppsättning regler som reglerar inkommande och utgående paketflöden i ett nätverk. Azures Nexus Network Fabric-tjänst erbjuder en API-baserad mekanism för att konfigurera ACL:er för nätverks-till-nätverk-sammanlänkningar och externa nätverk för layer 3-isoleringsdomäner. Den här guiden beskriver stegen för att skapa ACL:er.
Skapa åtkomstkontrollistor (ACL: er)
Om du vill skapa en ACL och definiera dess egenskaper kan du använda az networkfabric acl create
kommandot . Nedan följer de steg som ingår:
Förutsättningar
Använd Bash-miljön i Azure Cloud Shell. Mer information finns i Snabbstart för Bash i Azure Cloud Shell.
Om du föredrar att köra CLI-referenskommandon lokalt installerar du Azure CLI. Om du kör i Windows eller macOS kan du köra Azure CLI i en Docker-container. Mer information finns i Så här kör du Azure CLI i en Docker-container.
Om du använder en lokal installation loggar du in på Azure CLI med hjälp av kommandot az login. Slutför autentiseringsprocessen genom att följa stegen som visas i terminalen. Andra inloggningsalternativ finns i Logga in med Azure CLI.
När du uppmanas att installera Azure CLI-tillägget vid första användningen. Mer information om tillägg finns i Använda tillägg med Azure CLI.
Kör az version om du vill hitta versionen och de beroende bibliotek som är installerade. Om du vill uppgradera till den senaste versionen kör du az upgrade.
- Ange prenumeration (om det behövs):
Om du har flera prenumerationer och behöver ange en som standard kan du göra det med:
az account set --subscription <subscription-id>
- Skapa ACL:
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 |
---|---|
Resursgrupp | Ange resursgruppen för nätverksinfrastrukturen. |
Plats | Definiera platsen där ACL:en skapas. |
Resursnamn | Ange ett namn för ACL:en. |
Annotation | Du kan också lägga till en beskrivning eller anteckning för ACL. |
Konfigurationstyp | Ange om konfigurationen är infogad eller med hjälp av en fil. |
Standardåtgärd | Definiera den standardåtgärd som ska vidtas om ingen matchning hittas. |
Matcha konfigurationer | Definiera villkor och åtgärder för trafikmatchning. |
Åtgärder | Ange vilken åtgärd som ska vidtas baserat på matchningsvillkor. |
Vägledning för användning av parametrar
Tabellen nedan innehåller vägledning om användningen av parametrar när du skapar ACL:er:
Parameter | Description | Exempel eller intervall |
---|---|---|
defaultAction | Definierar standardåtgärd som ska vidtas | "defaultAction": "Permit" (Tillåt) |
resource-group | Resursgrupp för nätverksinfrastruktur | nfresourcegroup |
resource-name | Namn på ACL | example-ingressACL |
vlanGroups | Lista över VLAN-grupper | |
vlans | Lista över virtuella lokala nätverk som måste matchas | |
match-configurations | Namn på matchningskonfiguration | example_acl |
matchConditions | Villkor som måste matchas | |
ttlValues | TTL [Time To Live] | 0-255 |
dscpMarking | DSCP-markeringar som måste matchas | 0-63 |
fragment | Ange IP-fragmentpaketen | Intervall: 1-8191 Exempel: [1, 5, 1250-1300, 8000-8191] |
portCondition | Portvillkor som måste matchas | |
portType | Porttyp som måste matchas | Exempel: SourcePort |
portar | Portnummer som måste matchas | Intervall: 0-65535 Exempel: [1, 10, 500, 1025-1050, 64000-65535] |
protocolTypes | Protokoll som måste matchas | [tcp, udp, range[1-2, 1, 2]] |
vlanMatchCondition | VLAN-matchningsvillkor som måste matchas | |
layer4Protocol | Layer 4-protokoll | bör vara TCP eller UDP |
ipCondition | IP-villkor som måste matchas | |
åtgärder | Åtgärder som ska vidtas baserat på matchningsvillkor | Exempel: tillstånd |
configuration-type | Konfigurationstyp (infogad eller fil) | Exempel: infogad |
Kommentar
- Infogade portar och infogade VLAN definieras statiskt med azcli.
- PortGroupNames och VlanGroupNames definieras dynamiskt.
- Det är inte tillåtet att kombinera infogade portar med portGroupNames, på samma sätt för infogade VLAN-nätverk och VLANGroupNames.
- IPGroupNames och IpPrefixValues kan inte kombineras.
- Utgående ACL:er stöder inte vissa alternativ som IP-alternativ, IP-längd, fragment, etertyp, DSCP-märkning och TTL-värden.
- Ingress-ACL:er stöder inte följande alternativ: etherType.
- Portindata kan vara
port-number
ellerrange-of-ports
. - Fragmentindata kan vara
port-number
ellerrange-of-ports
. - ACL med dynamisk matchningskonfiguration i eviga nätverk stöds inte.
Exempel på nyttolast för att skapa 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}]}]"
Exempel på utdata
{
"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"
}
Kommentar
När du har skapat ACL ska du anteckna ACL-referens-ID:t för ytterligare referens.