Installieren Sie MySQL auf einem Linux-Ubuntu-System und stellen Sie eine öffentliche Netzwerkverbindung zur lokalen Datenbank her [Intranet-Penetration]

Vorwort

In diesem Artikel wird hauptsächlich beschrieben, wie Sie mit Docker MySQL bereitstellen und es mit dem Intranet-Penetrationstool cpolar kombinieren, um einen Fernzugriff auf die lokale Datenbank zu erreichen.

Docker bietet eine leichtgewichtige Containerisierungslösung, die den Datenbankbereitstellungsprozess besser vereinfachen kann. Erleichtert und beschleunigt das Erstellen und Verwalten von MySQL-Datenbanken. Lassen Sie uns den spezifischen Bereitstellungsprozess vorstellen und einige Punkte hervorheben, die Aufmerksamkeit erfordern, sowie die Verwendung des Intranet-Penetrationstools für den Zugriff auf die lokale Datenbank ohne öffentliche Netzwerk-IP.

1.Installieren Sie Docker

Die Betriebsumgebung dieses Tutorials ist das Linux-Ubuntu-System. Bevor wir beginnen, müssen wir Docker installieren.

Führen Sie im Terminal den folgenden Befehl aus:

Docker-Quelle hinzufügen

# Add Docker's official GPG key:
sudo apt-get update
sudo apt-get install ca-certificates curl gnupg
sudo install -m 0755 -d /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
sudo chmod a+r /etc/apt/keyrings/docker.gpg

# Add the repository to Apt sources:
echo \
  "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \
  $(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \
  sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt-get update

Installieren Sie das Docker-Paket

sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

Überprüfen Sie, ob die Installation der Docker-Engine erfolgreich war, indem Sie das Image ausführen

sudo docker run hello-world

2. Verwenden Sie Docker, um das MySQL-Image abzurufen

sudo docker pull mysql:latest

Bild-20240124151745320

Führen Sie dann den Befehl „Bild anzeigen“ aus:

sudo docker images

Bild-20240124151856092

Sie können sehen, dass das MySQL-Image erfolgreich abgerufen wurde.

3. Erstellen und starten Sie den MySQL-Container

Nachdem wir das MySQL-Image erfolgreich abgerufen haben, können wir das Image verwenden, um einen MySQL-Container zu erstellen und auszuführen.

Führen Sie im Terminal den folgenden Befehl aus:

sudo docker run -itd -p 3308:3306 --name mysql1 -e MYSQL_ROOT_PASSWORD=123456 -e MYSQL_DATABASE=mydb mysql

In diesem Befehl wird ein MySQL-Container mit dem Namen mysql1 erstellt und im Hintergrund ausgeführt. Das im Container ausgeführte MySQL wird dem Port 3308 des lokalen Hosts zugeordnet (der Host-Port 3306 des Autors ist belegt) und das MySQL-Root-Passwort lautet auf 123456 gesetzt, erstellte eine Datenbank mit dem Namen: mydb.

Bild-20240124170748184

Führen Sie dann den folgenden Befehl aus, um zu prüfen, ob der Container ausgeführt wird:

sudo docker ps

1706087320684

Sie können sehen, dass der gerade erstellte MySQL-Container ausgeführt wird.

4. Lokaler Verbindungstest

4.1 Installieren Sie das grafische MySQL-Schnittstellentool

Nachdem wir den MySQL-Container nun lokal in Docker bereitgestellt haben, können wir die Verbindung lokal testen:

Sie können das grafische MySQL-Schnittstellentool MySQL Workbench herunterladen

Download-Adresse: MySQL::MySQL Workbench

Bild-20240124171209127

Ich habe hier die Windows-Systemversion ausgewählt. Sie können je nach Bedarf andere Versionen auswählen und zum Herunterladen klicken.

Bild-20240124171339905

4.2 Verwenden Sie den MySQL Workbench-Verbindungstest

Klicken Sie nach dem Herunterladen und Installieren auf das Pluszeichen und geben Sie im Popup-Fenster Informationen zur MySQL-Datenbank ein, mit der Sie eine Verbindung herstellen möchten:

Bild-20240124171506886

Der Hostname muss mit Ihrer lokalen IP-Adresse (192.168.184.128) ausgefüllt werden, und der Port ist der lokale Port (3308). Im tatsächlichen Betrieb müssen Sie sich auf die IP-Adresse und den Port Ihres eigenen Hosts beziehen. Melden Sie sich dann als Root-Benutzer an, geben Sie das Passwort 123456 ein und klicken Sie auf OK.

Bild-20240124171956809

Nachdem Sie die Informationen eingegeben haben, klicken Sie unten rechts auf die Schaltfläche „Verbindungstest“.

Bild-20240124171924947

Wenn Sie das Eingabeaufforderungsfeld „MySQL-Verbindung erfolgreich hergestellt“ sehen, ist die Verbindung erfolgreich. Klicken Sie auf „OK“, um das Eingabeaufforderungsfeld zu schließen, und klicken Sie dann auf die Schaltfläche „OK“ unten rechts im Informationsfeld, um offiziell eine Verbindung zur lokalen MySQL-Datenbank herzustellen.

Bild-20240124172259142

Klicken Sie auf die hier generierte Verbindungsmethode, um die Datenbankschnittstelle erfolgreich aufzurufen:

Bild-20240124172424006

5. Greifen Sie über das öffentliche Netzwerk remote auf lokales MySQL zu

Derzeit können wir jedoch nur lokal eine Verbindung zu der MySQL-Datenbank herstellen, die wir gerade in Docker bereitgestellt haben. Was ist, wenn wir uns an einem anderen Ort befinden und remote auf den lokal bereitgestellten MySQL-Container zugreifen möchten, aber keine öffentliche IP haben?

Wir können das Intranet-Penetrationstool cpolar verwenden, um Fernzugriffsanforderungen in einer Umgebung ohne öffentliche Netzwerk-IP zu erfüllen.

5.1 Installation von Intranet-Penetrationstools

Im Folgenden sind die Schritte zur Installation von cpolar aufgeführt:

Offizielle Website-Adresse von cpolar: https://www.cpolar.com

  • Verwenden Sie den Ein-Klick-Skriptinstallationsbefehl
curl -L https://www.cpolar.com/static/downloads/install-release-cpolar.sh | sudo bash
  • Fügen Sie dem System Dienste hinzu
sudo systemctl enable cpolar
  • Starten Sie den cpolar-Dienst
sudo systemctl start cpolar

Nachdem cpolar erfolgreich installiert wurde, greifen Sie über einen externen Browser auf den 9200-Port von Linux zu: [http://LAN-IP des Servers:9200]. Melden Sie sich mit dem cpolar-Konto an. Nach der Anmeldung können Sie die cpolar-Webkonfigurationsoberfläche sehen. Die Das Ergebnis ist im Web. Konfigurieren Sie einfach die Verwaltungsoberfläche.

Bild-20230831171159175

5.2 Erstellen Sie eine öffentliche Netzwerkadresse für die Remoteverbindung

Nachdem Sie sich bei der Web-UI-Verwaltungsoberfläche von cpolar angemeldet haben, klicken Sie im linken Dashboard auf Tunnelverwaltung – Tunnel erstellen:

  • Tunnelname: Kann angepasst werden. Achten Sie darauf, den vorhandenen Tunnelnamen nicht zu duplizieren. In diesem Beispiel wird Folgendes verwendet: mysql
  • Protokoll: TCP
  • Lokale Adresse: 3308
  • Porttyp: Zufälliger temporärer TCP-Port
  • Region: Wählen Sie China Top aus

Klicken创建

Bild-20240124173330127

Öffnen Sie nach erfolgreicher Erstellung die Online-Tunnelliste auf der linken Seite. Sie können sehen, dass die öffentliche Netzwerkadresse gerade durch die Erstellung des Tunnels generiert wurde. Als Nächstes können Sie die Adresse und die Portnummer in MySQL Workbench auf einem anderen Computer (außerhalb des Standorts) kopieren ) zu verbinden. Kann.

Bild-20240124173511412

Geben Sie wie in der Abbildung unten gezeigt den Standort der IP-Adresse ein: 17.tcp.cpolar.top, geben Sie die Portnummer ein: 12878 und klicken Sie auf den Link zum Testen:

Bild-20240124173719740

Sie können sehen, dass die Testverbindung erfolgreich war:

Bild-20240124173808836

Erfolgreicher Fernzugriff auf die lokale MySQL-Datenbankschnittstelle über die öffentliche Netzwerkadresse:

Bild-20240124173943769

Zusammenfassung

Zur Vereinfachung der Demonstration haben wir im obigen Vorgang den von cpolar generierten TCP-Tunnel für öffentliche Netzwerkadressen verwendet und seine öffentliche Netzwerkadresse wurde zufällig generiert.

Der Vorteil dieser Zufallsadresse besteht darin, dass sie schnell ermittelt wird und sofort genutzt werden kann. Der Nachteil besteht jedoch darin, dass die URL zufällig generiert wird und sich diese Adresse innerhalb von 24 Stunden zufällig ändert, wodurch sie besser für die vorübergehende Verwendung geeignet ist.

Wenn Sie einen langfristigen Fernzugriff auf lokales MySQL benötigen, die öffentliche Netzwerkadresse aber nicht jeden Tag neu konfigurieren möchten und außerdem möchten, dass die Adresse schön und leicht zu merken ist, dann empfehle ich Ihnen, sich dafür zu entscheiden eine feste TCP-Adresse für den Fernzugriff zu verwenden.

5.3 Fernzugriff über feste TCP-Adresse

Reservieren Sie als Nächstes eine feste TCP-Adresse. Melden Sie sich auf der offiziellen Website von cpolar an , klicken Sie links auf „Reservieren“, suchen Sie die reservierte TCP-Adresse und reservieren Sie eine feste Adresse für die Remote-Server-Verbindung:

  • Region: Wählen Sie China VIP aus
  • Beschreibung: Bemerkungen, die angepasst werden können. In diesem Beispiel wird mysql123 verwendet.

Klicken保留

Bild-20240124174216989

Sie können sehen, dass eine feste öffentliche TCP-Netzwerkadresse generiert wird:

Bild-20240124174402564

Nachdem die Adresse erfolgreich reserviert wurde, kopieren Sie die generierte öffentliche Netzwerkadresse, öffnen Sie die cpolar-Web-UI-Verwaltungsoberfläche, klicken Sie im linken Dashboard auf Tunnelverwaltung – Tunnelliste, suchen Sie den zufälligen öffentlichen Netzwerkadressen-Tunnel MySQL , den wir gerade erstellt haben , und klicken Sie auf编辑

Bild-20240124174513291

Ändern Sie die Tunnelinformationen und konfigurieren Sie die feste TCP-Adresse, die gerade erfolgreich im Tunnel reserviert wurde.

  • Porttyp: Wählen Sie einen festen TCP-Port
  • Reservierte TCP-Adresse: Kopieren Sie die erfolgreich reservierte Adresse von der offiziellen Website und fügen Sie sie ein, in diesem Fall: 5.tcp.vip.cpolar.cn:12675

Klicken更新

Bild-20240124174612892

Nachdem der Tunnel erfolgreich aktualisiert wurde, klicken Sie auf den Status im linken Dashboard – Online-Tunnelliste. Sie können sehen, dass die öffentliche Netzwerkadresse auf eine feste TCP-Adresse aktualisiert wurde.

Bild-20240124174658241

Als nächstes können Sie, genau wie beim vorherigen Vorgang, diese feste TCP-Adresse verwenden, um auf MySQL Workbench auf einem anderen Computer (außerhalb des Standorts) zuzugreifen.

Klicken Sie auf die Schaltfläche Verbindungsinformationen ändern:

Bild-20240124174759552

Geben Sie den Standort der IP-Adresse ein: 5.tcp.vip.cpolar.cn, geben Sie die Portnummer ein: 12675, klicken Sie auf den Link zum Testen. Sie können sehen, dass die Testverbindung erfolgreich war:

Bild-20240124174937527

Das Intranet-Penetrationstool cpolar wurde erfolgreich implementiert, um über eine feste TCP-Adresse im öffentlichen Netzwerk remote auf die lokale MySQL-Datenbankschnittstelle zuzugreifen:

Bild-20240124175049269

Ich denke du magst

Origin blog.csdn.net/weixin_74888502/article/details/136533589
Empfohlen
Rangfolge