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

Webdesigner sollten Webseiten unter drei Aspekten optimieren

<br />Mit der zunehmenden Bandbreite werden ...

Fallerklärung für den Nginx-Reverse-Proxy zu Go-FastDFS

Hintergrund go-fastdfs ist ein verteiltes Dateisy...

MySQL-Einfügungsproblem bei JSON

MySQL 5.7.8 und höher unterstützt nun einen nativ...

Shell-Skripteinstellungen zum Verhindern von Brute-Force-SSH

Das Shell-Skript richtet die Zugriffskontrolle ei...

Eine kurze Diskussion über die Semantik von HTML und einige einfache Optimierungen

1. Was ist Semantisierung? Erklärung zum Bing-Wör...

Warum der Befehl „explain“ MySQL-Daten ändern kann

Wenn Sie jemand fragen würde, ob die Ausführung v...

So fügen Sie bei der Webseitenerstellung Webfont-Dateien Vektorsymbole hinzu

Wie wir alle wissen, gibt es in Computern zwei Art...

6 Vererbungsmethoden von JS Advanced ES6

Inhaltsverzeichnis 1. Vererbung der Prototypkette...

Detaillierter Prozess der Installation von Jenkins-2.249.3-1.1 mit Docker

Inhaltsverzeichnis 1. Docker installieren 2. Zieh...

Zusammenfassung der drei Phasen der Entwicklung eines visuellen Designers

Viele Leute haben dieses Buch gelesen: „Entwickel...

Sammlung einer Zusammenfassung der HTML-Iframe-Nutzung

Detaillierte Analyse der Iframe-Nutzung <iframe...

MySQL implementiert eine Lösung ähnlich der Oracle-Sequenz

MySQL implementiert Oracle-ähnliche Sequenzen Ora...