Tworzenie zarządzania listą kontroli dostępu (ACL) dla sieci NNI i warstwy 3 izolacji sieci zewnętrznych domeny
Listy kontroli dostępu (ACL) to zestaw reguł, które regulują przepływ pakietów przychodzących i wychodzących w sieci. Usługa Sieci szkieletowej Nexus platformy Azure oferuje mechanizm oparty na interfejsie API służący do konfigurowania list ACL dla połączeń między sieciami i sieciami zewnętrznymi domeny izolacji warstwy 3. W tym przewodniku opisano kroki tworzenia list ACL.
Tworzenie list kontroli dostępu (ACL)
Aby utworzyć listę ACL i zdefiniować jej właściwości, możesz użyć az networkfabric acl create
polecenia . Poniżej przedstawiono kroki, które obejmują:
Wymagania wstępne
Użyj środowiska powłoki Bash w usłudze Azure Cloud Shell. Aby uzyskać więcej informacji, zobacz Szybki start dotyczący powłoki Bash w usłudze Azure Cloud Shell.
Jeśli wolisz uruchamiać polecenia referencyjne interfejsu wiersza polecenia lokalnie, zainstaluj interfejs wiersza polecenia platformy Azure. Jeśli korzystasz z systemu Windows lub macOS, rozważ uruchomienie interfejsu wiersza polecenia platformy Azure w kontenerze Docker. Aby uzyskać więcej informacji, zobacz Jak uruchomić interfejs wiersza polecenia platformy Azure w kontenerze platformy Docker.
Jeśli korzystasz z instalacji lokalnej, zaloguj się do interfejsu wiersza polecenia platformy Azure za pomocą polecenia az login. Aby ukończyć proces uwierzytelniania, wykonaj kroki wyświetlane w terminalu. Aby uzyskać inne opcje logowania, zobacz Logowanie się przy użyciu interfejsu wiersza polecenia platformy Azure.
Po wyświetleniu monitu zainstaluj rozszerzenie interfejsu wiersza polecenia platformy Azure podczas pierwszego użycia. Aby uzyskać więcej informacji na temat rozszerzeń, zobacz Korzystanie z rozszerzeń w interfejsie wiersza polecenia platformy Azure.
Uruchom polecenie az version, aby znaleźć zainstalowane wersje i biblioteki zależne. Aby uaktualnić do najnowszej wersji, uruchom polecenie az upgrade.
- Ustaw subskrypcję (w razie potrzeby):
Jeśli masz wiele subskrypcji i musisz ustawić jedną jako domyślną, możesz to zrobić za pomocą następujących czynności:
az account set --subscription <subscription-id>
- Utwórz listę 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>}]}]"
Parametr | Opis |
---|---|
Grupa zasobów | Określ grupę zasobów sieci szkieletowej sieci szkieletowej. |
Lokalizacja | Zdefiniuj lokalizację, w której jest tworzona lista ACL. |
Nazwa zasobu | Podaj nazwę listy ACL. |
Annotation | Opcjonalnie dodaj opis lub adnotację listy ACL. |
Typ konfiguracji | Określ, czy konfiguracja jest wbudowana, czy przy użyciu pliku. |
Akcja domyślna | Zdefiniuj domyślną akcję, która ma zostać podjęta, jeśli nie zostanie znalezione dopasowanie. |
Dopasowywanie konfiguracji | Zdefiniuj warunki i akcje dotyczące dopasowywania ruchu. |
Akcje | Określ akcję, która ma zostać podjęta na podstawie warunków dopasowania. |
Wskazówki dotyczące użycia parametrów
Poniższa tabela zawiera wskazówki dotyczące użycia parametrów podczas tworzenia list ACL:
Parametr | Opis | Przykład lub zakres |
---|---|---|
defaultAction | Definiuje akcję domyślną, która ma zostać podjęta | "defaultAction": "Zezwól" |
resource-group | Grupa zasobów sieci szkieletowej sieci szkieletowej | nfresourcegroup |
nazwa zasobu | Nazwa listy ACL | example-ingressACL |
vlanGroups | Lista grup sieci VLAN | |
sieci vlan | Lista sieci VLAN, które muszą być dopasowane | |
konfiguracje dopasowania | Nazwa konfiguracji dopasowania | example_acl |
matchConditions | Warunki wymagane do dopasowania | |
ttlValues | Czas wygaśnięcia [czas wygaśnięcia] | 0-255 |
dscpMarking | Oznaczenia DSCP, które muszą być dopasowane | 0-63 |
fargments (fargments) | Określanie pakietów fragmentów adresów IP | Zakres: 1-8191 Przykład: [1, 5, 1250-1300, 8000-8191] |
portCondition | Warunek portu, który należy dopasować | |
portType | Typ portu, który musi być dopasowany | Przykład: SourcePort |
porty | Numer portu, który należy dopasować | Zakres: 0-65535 Przykład: [1, 10, 500, 1025-1050, 64000-65535] |
protocolTypes | Protokoły, które muszą być zgodne | [tcp, udp, zakres[1–2, 1, 2]] |
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 należy dopasować | |
akcje | Akcja do wykonania na podstawie warunku dopasowania | Przykład: zezwolenie |
typ konfiguracji | Typ konfiguracji (wbudowany lub plik) | Przykład: wbudowany |
Uwaga
- Wbudowane porty i wbudowane sieci VLAN są definiowane statycznie przy użyciu polecenia azcli.
- Nazwy PortGroupNames i VlanGroupNames są definiowane dynamicznie.
- Łączenie portów wbudowanych z portGroupNames jest niedozwolone, podobnie w przypadku wbudowanych sieci VLAN i VLANGroupNames.
- Nie można połączyć wartości IPGroupNames i IpPrefixValues.
- Listy ACL ruchu wychodzącego nie obsługują niektórych opcji, takich jak opcje adresu IP, długość adresu IP, fragment, typ eteru, oznaczanie DSCP i wartości czasu wygaśnięcia.
- Listy ACL ruchu przychodzącego nie obsługują następujących opcji: etherType.
- Porty wejściowe mogą mieć
port-number
wartość lubrange-of-ports
. - Dane wejściowe fragmentów mogą mieć wartość
port-number
lubrange-of-ports
. - Lista ACL z konfiguracją dopasowania dynamicznego w sieciach wiecznych nie jest obsługiwana.
Przykładowy ładunek dla tworzenia listy 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}]}]"
Przykładowe dane wyjściowe
{
"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"
}
Uwaga
Po utworzeniu listy ACL zanotuj identyfikator odwołania listy ACL, aby uzyskać dalsze informacje.
Następne kroki
Stosowanie list kontroli dostępu (ACL) do sieci NNI w usłudze Azure Fabric