So beschränken Sie eingehende Verbindungen zum MySQL-Server durch Firewall-Einstellungen auf eine angegebene IP-Adresse

So beschränken Sie eingehende Verbindungen zum MySQL-Server durch Firewall-Einstellungen auf eine angegebene IP-Adresse

Hintergrundzweck: Ich möchte die eingehende Verbindung zum MySQL-Server nur für einen bestimmten Host beschränken, indem ich eingehende Regeln festlege vonWindows-Firewall. Ich meine, ich möchte nur bestimmten Hosts erlauben, eine Verbindung zum MySQL-Server herzustellen.

In den Windows-Firewall-Einstellungen habe ich standardmäßig Folgendes gesehen:

Bildbeschreibung hier eingeben

beide Ports sind geöffnet. Daher habe ich alle eingehenden Verbindungen zum Port 33060 blockiert, da ich keine eingehenden Verbindungen vom X-Protokoll erwarte:

Bildbeschreibung hier eingeben

Dann habe ich versucht, von meinem lokalen PC aus eine Verbindung zum MySQL-Server herzustellen, und die Verbindung war erfolgreich. Als Nächstes habe ich versucht, die eingehende Verbindung zum Port 3306 des MySQL-Servers nur auf die angegebene IP-Adresse zu beschränken:

Wählen Sie zunächst „Verbindung zulassen“, wenn sie sicher ist. Bildbeschreibung hier eingeben

zweitens die angegebene Remote-IP-Adresse, über die ich mich mit diesem MySQL-Server verbinde. Bildbeschreibung hier eingeben

im schwarzen Teil des Bildes oben habe ich meine globale IP-Adresse (IPv4) meines lokalen PCs eingegeben. Ich habe sie im Format XX.XXX.XXX.XX eingegeben. Ich habe meine globale IP-Adresse indieser Online-Dienst. dann habe ich versucht, von meinem lokalen PC aus eine Verbindung zum MySQL-Server herzustellen, aber es hat nicht geklappt.

Ich habe die Verbindung Test-NetConnectionin Windows Powershell getestet. Aber die Verbindung zum Port ist fehlgeschlagen.

Bildbeschreibung hier eingeben

was habe ich falsch gemacht?

Test 1:

Ich habe auch Folgendes getestet.

Ich ändere die Einstellung wie unten: Remote IP addressin durch Any IP address.

Bildbeschreibung hier eingeben

und habe die folgende Einstellung so gelassen wie sie ist:

Allow the connection if it is secure

Bildbeschreibung hier eingeben

Versuchen Sie es dann Test-NetConnectionin der Windows-PowerShell. Aber es gelangt nicht zum Port.

Test 2:

Ich habe auch noch einmal Folgendes getestet.

Ich stelle immer wie folgt ein: Remote IP address.

Bildbeschreibung hier eingeben

und die folgende Einstellung geändert:

Allow the connection

Bildbeschreibung hier eingeben

Versuchen Sie es dann Test-NetConnectionin der Windows-PowerShell. Aber es gelangt nicht wieder zum Port.

Antwort1

Sie müssen die Einstellung ändern aufDiese Verbindung zulassen, nicht „Diese Verbindung zulassen, wenn sie sicher ist“.

Die letztere Einstellung lässt die Verbindung nur zu, wenn sie über IPSec geschützt ist, was Sie mit ziemlicher Sicherheit nicht verwenden und nie verwenden werden.

Antwort2

Entfernen Sie die Option „Verbindung zulassen, wenn sie sicher ist“. Dadurch wird eine zusätzliche Authentifizierungs- und Verschlüsselungsebene hinzugefügt, die vom MySQL-Client nicht unterstützt wird. Sie können sie hier nicht verwenden.

Wenn Sie außerdem nur die Nachricht erhalten failed, wie inIhr Screenshot, dann hört der MySQL-Server diese Schnittstelle nicht ab. Wenn das Problem bei der Firewall läge, würden Sie eine Meldung erhalten TimedOut.

Stellen Sie sicher, dass der MySQL-Server auf der externen Schnittstelle oder allen Schnittstellen (0.0.0.0) lauscht und nicht nur auf der Loopback-Schnittstelle (127.0.0.1), was höchstwahrscheinlich die Standardeinstellung ist.

Sie können dies überprüfen, indem Sie Folgendes auf dem Server ausführen:

Get-NetTCPConnection -State Listen -LocalPort 3306

verwandte Informationen