Tworzenie list ACL w sieci NNI na platformie Azure Operator Nexus
Na platformie Azure Operator Nexus listy kontroli dostępu (ACL) dla Permit
akcji i Deny
na poziomie połączenia między sieciami (NNI) pomagają chronić dostęp protokołu Secure Shell (SSH) do zarządzania wirtualną siecią prywatną (VPN). Listy ACL ruchu przychodzącego i wychodzącego są tworzone przed utworzeniem zasobów NNI, a następnie odwołujesz się do tych list ACL w ładunku NNI. Należy utworzyć odwołania do list ACL ruchu przychodzącego i wychodzącego przed aprowizację sieci szkieletowej sieci szkieletowej.
Są to ogólne kroki tworzenia listy ACL w sieci NNI:
- Utwórz listy ACL ruchu przychodzącego i wychodzącego NNI.
- Zaktualizuj odwołanie do zasobów usługi Azure Resource Manager w sieci NNI zarządzania.
- Utwórz sieć NNI i zaaprowizuj sieć szkieletową sieci szkieletowej.
Wskazówki dotyczące użycia parametrów
Parametr | Opis | Przykład lub zakres |
---|---|---|
defaultAction |
Domyślnie należy wykonać akcję. Jeśli go nie zdefiniujesz, dozwolony jest ruch. | "defaultAction": "Permit" |
resource-group |
Grupa zasobów sieci szkieletowej sieci szkieletowej. | nfresourcegroup |
resource-name |
Nazwa listy ACL. | example-ingressACL |
vlanGroups |
Lista grup wirtualnej sieci lokalnej (VLAN). | |
vlans |
Lista sieci VLAN, które muszą być zgodne. | |
match-configurations |
Nazwa konfiguracji dopasowania. | example_acl . Spacje i znak &ersand (&) nie są obsługiwane. |
matchConditions |
Warunki wymagane do dopasowania. | |
ttlValues |
Czas wygaśnięcia (TTL). | 0 -255 |
dscpMarking |
Wyróżniające się oznaczenia punktu kodowego usług (DSCP), które muszą być dopasowane. | 0 -63 |
portCondition |
Warunek portu, który należy dopasować. | |
portType |
Typ portu, który musi być dopasowany. | Przykład: SourcePort . Dozwolone wartości: DestinationPort , SourcePort . |
protocolTypes |
Protokoły, które muszą być zgodne. | [tcp, udp, range[1-2, 1, 2]] . Jeśli jest to numer protokołu, powinien on znajdować się w zakresie .1 -255 |
vlanMatchCondition |
Warunek dopasowania sieci VLAN, który musi być zgodny. | |
layer4Protocol |
Protokół warstwy 4. | Powinien mieć wartość TCP lub UDP . |
ipCondition |
Warunek adresu IP, który musi być zgodny. | |
actions |
Akcja do wykonania na podstawie warunku dopasowania. | Przykład: permit . |
configuration-type |
Typ konfiguracji, który może być wbudowany lub plik. Obecnie operator platformy Azure Nexus obsługuje tylko wbudowane. | Przykład: inline . |
Należy również pamiętać o następujących ograniczeniach:
- Wbudowane porty i wbudowane sieci VLAN to statyczny sposób definiowania portów lub sieci VLAN przy użyciu programu
azcli
. portGroupNames
ivlanGroupNames
to dynamiczne sposoby definiowania portów i sieci VLAN.- Porty wbudowane i
portGroupNames
razem nie są dozwolone. - Wbudowane sieci VLAN i
vlanGroupNames
razem nie są dozwolone. ipGroupNames
iipPrefixValues
razem nie są dozwolone.- Listy ACL ruchu wychodzącego nie obsługują opcji adresów IP, długości adresu IP, fragmentu, właściwości EtherType, oznaczania DSCP ani wartości czasu wygaśnięcia.
- Listy ACL ruchu przychodzącego nie obsługują opcji EtherType.
Tworzenie listy ACL ruchu przychodzącego
Aby utworzyć listę ACL ruchu przychodzącego, możesz użyć następującego polecenia interfejsu wiersza polecenia platformy Azure. To polecenie tworzy listę ACL ruchu przychodzącego z określonymi konfiguracjami i dostarcza oczekiwany wynik jako dane wyjściowe. Dostosuj parametry zgodnie z potrzebami dla przypadku użycia.
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'}]}]"
Oczekiwane dane wyjściowe
{
"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"
}
}
Tworzenie listy ACL ruchu wychodzącego
Aby utworzyć listę ACL ruchu wychodzącego, możesz użyć następującego polecenia interfejsu wiersza polecenia platformy Azure. To polecenie tworzy listę ACL ruchu wychodzącego z określonymi konfiguracjami i dostarcza oczekiwany wynik jako dane wyjściowe. Dostosuj parametry zgodnie z potrzebami dla przypadku użycia.
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']}]}]"
Oczekiwane dane wyjściowe
{
"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"
}
}
Aktualizowanie dokumentacji usługi Resource Manager
Ten krok umożliwia tworzenie list ACL (przychodzących i wychodzących, jeśli podano odwołanie) podczas tworzenia zasobu NNI. Po utworzeniu sieci NNI i przed aprowizację sieci szkieletowej można ponownie umieścić w sieci NNI.
ingressAclId
: identyfikator odwołania dla listy ACL ruchu przychodzącego.egressAclId
: identyfikator odwołania dla listy ACL ruchu wychodzącego.
Aby uzyskać identyfikator zasobu usługi Resource Manager, przejdź do grupy zasobów używanej subskrypcji.
Następujące polecenie aktualizuje odwołanie usługi Resource Manager dla zasobu NNI przez skojarzenie go z podanymi listami ACL ruchu przychodzącego i wychodzącego. Dostosuj parametry zgodnie z potrzebami dla przypadku użycia.
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"
Pokaż szczegóły listy ACL
Aby wyświetlić szczegóły określonej listy ACL, użyj następującego polecenia:
az networkfabric acl show --resource-group "example-rg" --resource-name "example-acl"
Lista list ACL
Aby wyświetlić listę wszystkich list ACL w określonej grupie zasobów, użyj następującego polecenia:
az networkfabric acl list --resource-group "ResourceGroupName"
Tworzenie list ACL w sieci zewnętrznej ISD
Skorzystaj z poniższych informacji, aby utworzyć listy ACL ruchu przychodzącego i wychodzącego dla sieci zewnętrznej domeny izolacji (ISD). Następnie zaktualizuj odwołanie do zasobów usługi Resource Manager dla sieci zewnętrznej.
Tworzenie listy ACL ruchu wychodzącego dla sieci zewnętrznej ISD
Aby utworzyć listę ACL ruchu wychodzącego dla określonej sieci zewnętrznej ISD z podaną konfiguracją, użyj następującego polecenia. Dostosuj parametry zgodnie z potrzebami dla przypadku użycia.
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}]}]"
Oczekiwane dane wyjściowe
Po pomyślnym wykonaniu polecenie zwraca informacje o utworzonej liście ACL w następującym formacie. Te dane wyjściowe zawierają szczegółowe informacje o konfiguracji i stanie.
{
"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"
}
Tworzenie listy ACL ruchu przychodzącego dla sieci zewnętrznej ISD
Aby utworzyć listę ACL ruchu przychodzącego dla określonej sieci zewnętrznej ISD z podaną konfiguracją, użyj następującego polecenia. Dostosuj parametry zgodnie z potrzebami dla przypadku użycia.
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}]}]"
Oczekiwane dane wyjściowe
Po pomyślnym wykonaniu polecenie zwraca informacje o utworzonej liście ACL w następującym formacie. Te dane wyjściowe zawierają szczegółowe informacje o konfiguracji i stanie.
{
"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"
}