Lösung zum Hinzufügen einer iptables-Firewall-Richtlinie zum MySQL-Dienst

Lösung zum Hinzufügen einer iptables-Firewall-Richtlinie zum MySQL-Dienst

Wenn Ihre MySQL-Datenbank auf einem CentOS7-System installiert ist und in Ihrem Betriebssystem eine Firewall aktiviert ist. Wenn Ihre Anwendung auf eine MySQL-Datenbank zugreifen möchte, stehen Ihnen zwei Lösungen zur Verfügung.

Lösung 1: Stoppen Sie den Firewall-Dienst. Lösung 2: Fügen Sie der Firewall eine Richtlinie hinzu, die es der Anwendung ermöglicht, normal auf den MySQL-Dienstport zuzugreifen.

Stoppen Sie die Centos7-Firewall

Überprüfen Sie den Betriebsstatus der Firewall

[root@mysql ~]# Firewall-cmd --state
läuft

Beenden Sie den Firewall-Dienst

[root@mysql ~]# systemctl stoppe firewalld.service

Starten Sie die Centos7-Firewall

Überprüfen Sie den Betriebsstatus der Firewall

[root@mysql ~]# Firewall-cmd --state
läuft nicht

Starten Sie den Firewall-Dienst

[root@mysql ~]# systemctl starte firewalld.service

Konfigurieren Sie die Firewall so, dass sie beim Booten gestartet wird

[root@mysql ~]# systemctl aktiviere firewalld.service

Greifen Sie auf den MySQL-Dienst zu, um die Verbindung zum MySQL-Dienst zu testen

[mysql@mysql ~]$ mysql -utony -ptony -h 192.168.112.131 -P 3306
mysql: [Warnung] Die Verwendung eines Passworts in der Befehlszeilenschnittstelle kann unsicher sein.
FEHLER 2003 (HY000): Verbindung zum MySQL-Server auf '192.168.112.131' nicht möglich (113)

Verbindungstest der Master-Slave-Replikation [root@localhost] 15:23:46 [(keine)]>Slave-Status anzeigen\G;
*************************** 1. Reihe ***************************
               Slave_IO_State: Verbindung zum Master wird hergestellt
                  Master_Host: 192.168.112.131
                  Master_Benutzer: repl
                  Master_Port: 3306
                Verbindungswiederholung: 60
              Master_Log_File: binlog.000034
          Read_Master_Log_Pos: 194
               Relay-Log-Datei:mysql-relay-bin.000007
                Relay_Log_Pos: 401
        Relay_Master_Log_File: binlog.000034
             Slave_IO_Running: Verbindung wird hergestellt
            Slave_SQL_Running: Ja
           .....
Master_SSL_Verify_Server_Cert: Nein
                Last_IO_Errno: 2003
                Last_IO_Error: Fehler beim Verbinden mit Master '[email protected]:3306' - Wiederholungszeit: 60 Wiederholungen: 1
               Last_SQL_Errno: 0

Die IO-Threads des Masters und des Slaves werden getrennt und ein Fehler 2003 wird gemeldet. Dies zeigt an, dass das Netzwerk nicht verfügbar ist und auf die Dienste der Master-Datenbank nicht zugegriffen werden kann.

Fügen Sie der Firewall eine MySQL-Dienstzugriffsrichtlinie hinzu

Firewall-Richtlinie anzeigen

[root@mysql ~]# iptables -L -n --Zeilennummer|grep 3306

Da der Firewall keine Zugriffsrichtlinie für Port 3306 hinzugefügt wird, können externe Anwendungen nicht auf den MySQL-Dienst zugreifen.

[mysql@mysql ~]$ mysql -utony -ptony -h 192.168.112.131 -P 3306
mysql: [Warnung] Die Verwendung eines Passworts in der Befehlszeilenschnittstelle kann unsicher sein.
FEHLER 2003 (HY000): Verbindung zum MySQL-Server auf '192.168.112.131' nicht möglich (113)

Zugriffsrichtlinie für Port 3306 hinzufügen

# iptables -I INPUT -p tcp -m Status --state NEU -m tcp --dport 3306 -j AKZEPTIEREN
[root@mysql ~]# iptables -L -n --Zeilennummer|grep 3306
1 ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 Status NEU tcp dpt:3306

Sie können sehen, dass die Zugriffsrichtlinie für Port 3306 hinzugefügt wurde. Externe Anwendungen können über das TCP-Protokoll auf Port 3306 zugreifen.

Löschen einer Firewall-Richtlinie

[root@mysql ~]# iptables -D INPUT 1
[root@mysql ~]# iptables -L -n --Zeilennummer|grep 3306

Dies ist das Ende dieses Artikels über das Hinzufügen einer iptables-Firewall-Richtlinie zum MySQL-Dienst. Weitere relevante Inhalte zum Hinzufügen einer iptables-Firewall zum MySQL-Dienst finden Sie in früheren Artikeln auf 123WORDPRESS.COM oder in den verwandten Artikeln weiter unten. Ich hoffe, dass jeder 123WORDPRESS.COM in Zukunft unterstützen wird!

Das könnte Sie auch interessieren:
  • Aktivieren Sie Remote-Zugriffsrechte für MySQL unter Linux und öffnen Sie Port 3306 in der Firewall
  • Lösung für die durch eine Firewall unter Linux blockierte MySQL-Verbindung

<<:  Detaillierte Erklärung zweier schneller Möglichkeiten zum Schreiben von console.log in vscode

>>:  DOCTYPE-Element ausführliche Erklärung vollständige Version

Artikel empfehlen

Tutorial zur MySQL-Datensicherungsmethode mit Multi-Master und One-Slave

Überblick Vorgänge, die auf einer Datenbank ausge...

Linux wird geladen, vmlinux wird debuggt

Laden von Kernelsymbolen mit gdb arm-eabi-gdb out...

So übergeben Sie Parameter über CSS an JS

1. Hintergrund, der durch CSS übergeben werden mu...

9 praktische CSS-Eigenschaften, die Web-Frontend-Entwickler kennen müssen

1. Abgerundete Ecken Heutige Webdesigns halten stä...

Vue+Element - benutzerdefinierte Abfragekomponente

In diesem Artikel wird hauptsächlich das Vue-Proj...

Docker löscht private Bibliotheksbilder vollständig

Werfen wir zunächst einen Blick auf die allgemein...

Einführung in die UFW-Firewall unter Linux

Werfen wir einen Blick auf ufw (Uncomplicated Fir...

Was macht der legendäre VUE-Syntax-Sugar?

Inhaltsverzeichnis 1. Was ist syntaktischer Zucke...

CSS-Pickup-Pfeile, Kataloge, Icons Implementierungscode

1. Verschiedene CSS-Symbole Es gibt drei Möglichk...