Η σήραγγα από τοποθεσία σε τοποθεσία είναι ενεργή, ο τοπικός πελάτης φτάνει σε ορισμένους κεντρικούς υπολογιστές του Azure και σε άλλους όχι, και κάποιος πρόσθεσε μια ομάδα ασφαλείας δικτύου στο GatewaySubnet για να το διορθώσει. Σταματήστε εκεί. Το Azure δεν υποστηρίζει NSG στο GatewaySubnet και η ομάδα δεν βλέπει το εσωτερικό πακέτο όπως ένας κανόνας φόρτου εργασίας. Βάλτε την πολιτική στο υποδίκτυο ή στο NIC προορισμού, αντιστοιχίστε τη διεύθυνση πηγής που υπάρχει μετά την αποκρυπτογράφηση και μετά επαληθεύστε με νέα σύνδεση, όχι με παλιά.

Βάλτε το NSG εκεί όπου το αξιολογεί το Azure

Το υποστηριζόμενο όριο για το φιλτράρισμα φόρτου εργασίας είναι το υποδίκτυο ή η διεπαφή δικτύου προορισμού. Το υποδίκτυο πύλης είναι υποδομή και το Azure τεκμηριώνει ότι τα NSG δεν υποστηρίζονται εκεί και μπορούν να βλάψουν τη λειτουργία της πύλης.

Υπάρχει και λογικό πρόβλημα με την τοποθέτηση. Το NSG στο GatewaySubnet θα αξιολογούσε την εξωτερική ανταλλαγή IPsec, της οποίας οι διευθύνσεις ανήκουν στις δύο πύλες. Ο κανόνας της εφαρμογής σας χρειάζεται την ιδιωτική πηγή μέσα στη σήραγγα, και αυτό το πακέτο υπάρχει μόνο αφού η πύλη το αποκρυπτογραφήσει. Συνδέστε την ομάδα στο υποδίκτυο φόρτου εργασίας και ο κανόνας θα δει τη διεύθυνση για την οποία γράφτηκε.

Ελέγξτε τις τρέχουσες συσχετίσεις πριν αλλάξετε οτιδήποτε, ώστε να ξέρετε τι μετακινείτε:

az network vnet subnet show -g rg-net -n snet-app --vnet-name vnet-prod --query networkSecurityGroup.id
az network vnet subnet show -g rg-net -n GatewaySubnet --vnet-name vnet-prod --query networkSecurityGroup.id

Βρείτε τη διεύθυνση πηγής μετά την αποκρυπτογράφηση

Η εσωτερική πηγή είναι η ιδιωτική διεύθυνση του τοπικού πελάτη ή η διεύθυνση που παρουσιάζει μια συσκευή ή το NAT της VPN μετά τη μετάφραση. Δεν είναι η δημόσια διεύθυνση της τοπικής πύλης VPN, η οποία ανήκει στην εξωτερική ανταλλαγή.

Όταν το NAT είναι μέρος του σχεδίου, επιβεβαιώστε την πηγή που παρουσιάζεται αντί να την υποθέσετε. Μια σύλληψη πακέτων στο VM του Azure ή το πεδίο πηγής στο αρχείο καταγραφής συνδέσεων της υπηρεσίας λύνει το ζήτημα γρηγορότερα από την ανάγνωση της τοπικής διαμόρφωσης. Στη συνέχεια γράψτε τον κανόνα για αυτή τη διεύθυνση και την πραγματική θύρα προορισμού.

az network nsg rule create -g rg-net --nsg-name nsg-app -n allow-onprem-https --priority 200 --direction Inbound --access Allow --protocol Tcp --source-address-prefixes 192.168.10.0/24 --destination-address-prefixes 10.1.2.0/24 --destination-port-ranges 443

Χρησιμοποιήστε έναν κανόνα ανά υπηρεσία που θέλετε να εκθέσετε και κρατήστε τη λίστα θυρών σύντομη. Ένας κανόνας που επιτρέπει όλες τις θύρες από το τοπικό εύρος καθιστά το NSG τυπική διαδικασία.

Ελέγξτε το προεπιλεγμένο εύρος VirtualNetwork

Η ετικέτα υπηρεσίας VirtualNetwork είναι ευρύτερη από το τοπικό εικονικό δίκτυο. Ο ορισμός της περιλαμβάνει συνδεδεμένους τοπικούς χώρους διευθύνσεων, δίκτυα με peering και άλλα προθέματα συνδεδεμένα με πύλη. Επομένως ένας προεπιλεγμένος κανόνας αποδοχής με εύρος VirtualNetwork μπορεί ήδη να επιτρέπει κίνηση σήραγγας που ο χειριστής θεωρούσε εξωτερική.

Διαβάστε τους προεπιλεγμένους κανόνες πριν προσθέσετε στενούς, και διαβάστε κάθε κανόνα υψηλότερης προτεραιότητας που μπορεί να ταιριάξει πρώτος. Η προσθήκη ρητής αποδοχής δεν αφαιρεί έναν ευρύτερο κανόνα που ήδη επιτρέπει τη ροή. Όπου η πολιτική απαιτεί απόρριψη, τοποθετήστε την σε προτεραιότητα που πράγματι αξιολογείται πριν από την αποδοχή.

Η τεκμηρίωση ετικετών υπηρεσίας της Microsoft απαριθμεί τι καλύπτει η ετικέτα VirtualNetwork και είναι η αναφορά που επικαλείστε όταν κάποιος υποστηρίζει ότι η ετικέτα σημαίνει μόνο το εύρος του VNet.

Διαβάστε τους ενεργούς κανόνες στα δύο όρια

Όταν ισχύουν και NSG υποδικτύου και NSG NIC, η ροή πρέπει να ικανοποιεί και τα δύο. Μια αποδοχή στο ένα δεν ακυρώνει μια απόρριψη στο άλλο, και η συγκεντρωτική εικόνα είναι αυτό που πραγματικά συναντά το πακέτο.

az network nic show-effective-nsg -g rg-net -n vm-app-nic -o table

Αν ισχύουν κανόνες διαχειριστή ασφαλείας του Azure Virtual Network Manager, ελέγξτε και αυτό το επίπεδο. Ένας διαχειριστικός κανόνας Always allow μπορεί να παραδώσει κίνηση χωρίς αξιολόγηση NSG, ενώ ένα διαχειριστικό Deny τη σταματά πριν τη δουν τα NSG. Μια εξέταση μόνο των NSG είναι ελλιπής για αυτή τη διάταξη.

Θυμηθείτε ότι τα NSG είναι κατάστασης. Η επεξεργασία ενός κανόνα δεν τερματίζει απαραίτητα μια υπάρχουσα επιτρεπόμενη σύνδεση, οπότε μια δοκιμή αποδοχής χρειάζεται νέα ροή. Αυτή η ιδιότητα είναι χρήσιμη στην παραγωγή και παραπλανητική σε ένα παράθυρο αλλαγών.

Επαληθεύστε με νέα σύνδεση

Ανοίξτε μια νέα συνεδρία από τον τοπικό πελάτη στη θύρα της υπηρεσίας και μετά επαναλάβετε από έναν κεντρικό υπολογιστή που θα έπρεπε να απορριφθεί. Εκτελέστε τη δοκιμή ροής και από την πλευρά του VM, ώστε να ξέρετε ότι η διαδρομή επιστροφής είναι ακέραιη.

az network watcher test-ip-flow -g rg-net --vm vm-app --direction Inbound --protocol Tcp --local 10.1.2.4:443 --remote 192.168.10.50:51515

Μια άδεια NSG είναι μία απόφαση πρόσβασης, όχι διαδρομή και όχι ακροατής. Αν ο κανόνας επιτρέπει τη ροή και η σύνδεση αποτυγχάνει ακόμη, ελέγξτε τη διαδρομή του πελάτη στο VPN, τη διαδρομή επιστροφής του Azure και το τείχος προστασίας του κεντρικού υπολογιστή πριν επεξεργαστείτε ξανά την ομάδα. Καταγράψτε την πραγματική διεύθυνση πηγής, τις συσχετίσεις NSG και τον αντίστοιχο κανόνα μαζί με την εγκεκριμένη υπηρεσία, γιατί η επόμενη αλλαγή peering ή διαδρομής μπορεί να αλλάξει τι καλύπτει η ετικέτα VirtualNetwork.

Σχετικά άρθρα