Wir haben einen Bastion-Host, auf dem wir Netzwerksicherheitsgruppen konfiguriert haben. Der Zweck besteht darin, über Management Studio eine Verbindung mit SQL PaaS herzustellen. Für die an den Bastion-Host gebundene NSG haben wir zwei ausgehende Regeln definiert:
1000 SQLConnect Beliebiges Internet 1433 Zulassen
4000 DefaultOutb Beliebiges Internet Alle Ports Verweigern
Ich kann vom Bastion-Host aus keine Verbindung zu SQL PaaS herstellen. Wenn ich die 4000-Regel lösche, kann ich eine Verbindung herstellen. Da NSG zustandslos ist, versuche ich herauszufinden, warum das nicht funktioniert. Ich bin für jede Hilfe sehr dankbar.
Antwort1
Dies ist ein beabsichtigtes Verhalten. Nachdem Sie zwei Ausgangsregeln definiert haben, lässt die NSG nur Port 1433 für ausgehenden Datenverkehr zu, andere Ports verweigern ihn.
Welche Version der Azure SQL-Datenbank verwenden Sie? Wenn Ihre SQL-Version V12 ist, müssen Sie in den Ausgangsregeln andere Ports zulassen.
Wenn Ihr Client innerhalb der Azure-Cloudgrenze ausgeführt wird, verwendet er eine sogenannte direkte Route zur Interaktion mit dem SQL-Datenbankserver. Nachdem eine Verbindung hergestellt wurde, sind für weitere Interaktionen zwischen Client und Datenbank keine Middlewareproxys mehr erforderlich.
Stellen Sie sicher, dass die Portbereiche 11000–11999 und 14000–14999 auf Ihrem Azure-Clientcomputer für ADO.NET 4.5-Clientinteraktionen mit SQL Database V12 verfügbar bleiben.
Insbesondere müssen die Ports in diesem Bereich frei von anderen ausgehenden Blockern sein.
Weitere Informationen zum Verbindungsverhalten von Clients, die ADO.NET 4.5 oder eine spätere Version verwenden, finden Sie imVerknüpfung.