Wie man

Stellen Sie den lokalen Server hinter NAT mit dem FRP-Proxy dem Internet zur Verfügung

Stellen Sie den lokalen Server hinter NAT mit dem FRP-Proxy dem Internet zur Verfügung

Es ist normalerweise eine große Herausforderung für Computerfreaks, die gerne über das Internet auf ihren lokalen Server zugreifen möchten. Machen Sie sich keine Sorgen mehr, wir werden ein Tool untersuchen, mit dem Sie Ihren lokalen Server und Ihre lokalen Dienste hinter einer Firewall auf NAT über das Internet verfügbar machen können. In diesem Artikel erfahren Sie, wie Sie einen lokalen Server hinter einem NAT oder einer Firewall mit dem FRP-Proxy dem Internet zugänglich machen.

FRP-Proxy ist ein in Golang geschriebener Reverse-Proxy, mit dem Sie einen Port Ihres lokalen Servers hinter einer Firewall oder NAT an einen öffentlichen Server weiterleiten können.

Der FRP-Proxy unterstützt derzeit die Protokolle TCP, UDP, HTTP und HTTPS.

FRP-Architektur

Lassen Sie uns die grundlegenden Konfigurationsmethoden für den FRP-Proxy erkunden.

Bevor Sie dieses Setup einrichten und ausführen können, benötigen Sie Folgendes:

  1. Ein lokaler Server, der sich hinter einer Firewall oder NAT befindet, z.g dein Laptop.
  2. Ein entfernter Server mit einer öffentlichen IP, z.g AWS EC2-Instanz.

Installation des FRP-Proxys

Lassen Sie uns in den Installationsteil springen.

Schritt 1 - Herunterladen und Extrahieren von FRP

Laden Sie die neueste Version von FRP aus ihrem Github-Repository herunter. Dies sollte heruntergeladen werden auf sowohl die lokale und der öffentlicher Server.

wget https://github.com/fatedier/frp/releases/download/v0.34.1/frp_0.34.1_linux_amd64.Teer.gz

Extrahieren Sie das heruntergeladene Paket

tar -xvf frp_0.34.1_linux_amd64.Teer.gz

Die folgenden Dateien befinden sich im extrahierten Verzeichnis:

$ cd frp_*_linux_amd64 $ ls frpc frpc_full.ini frpc.ini frps frps_full.ini frps.ini LICENSE systemd 

Auf dem öffentlichen Server wird die frps und frps.ini Datei werden benötigt.

Schritt 2 – Öffentlichen Server einrichten

Auf dem öffentlichen Server müssen wir nur die bind_port unter dem [verbreitet] in dem frps.ini Datei auf 7000. Dies ist der Standard-Port, Sie können auch Ihren eigenen Port nach Ihren Wünschen definieren.

$ sudo vi frps.ini [gemeinsam] bind_port = 7000 

Schritt 3 - Starten Sie FRP auf einem öffentlichen Server

Wir müssen den Dienst auf dem öffentlichen Server starten, um Verbindungen vom lokalen Server zuzulassen.

Der folgende Befehl soll verwendet werden:

./frps -c ./frps.ini

Sie sollten eine Ausgabe sehen, die besagt, dass der Dienst auf dem angegebenen Port lauscht:

$ ./frps -c ./frps.ini 2020/11/07 11:17:36 [I] [Dienst.go:190] frps tcp hören auf 0.0.0.0:7000 2020/11/07 11:17:36 [I] [root.go:212] starte frps erfolg

Schritt 4 – Konfigurieren Sie FRP auf dem lokalen Server

Wenn FRP auf dem öffentlichen Server eingerichtet ist und ausgeführt wird, besteht der nächste Schritt darin, den lokalen Server zu konfigurieren.

Zum Beispiel zu ssh auf unserem lokalen Server verfügbar machen. Die erforderlichen Dateien auf dem lokalen Server sind frpc und frpc.ini.

Bearbeiten Sie den frpc.ini-Datei und fügen Sie die folgenden Details hinzu:

[gemeinsam] server_addr =  server_port = 7000 [ssh] type = tcp local_ip = 127.0.0.1 local_port = 22 remote_port = 6000

In der obigen Konfiguration haben wir Port 22 unseres lokalen Servers für Port 6000 des öffentlichen Servers freigegeben.

Wir haben auch das von uns verwendete Protokoll TCP . definiert.

Wir können auch einen Webservice bereitstellen, der auf Ihrem lokalen Server in derselben Konfiguration ausgeführt wird. Sie können die Webserver-Details direkt unter der ssh-Konfiguration im frpc.ini Datei.

Im Beispiel unten läuft der Webserver auf Port 80 des lokalen Servers und wird an Port 8080 des öffentlichen Servers weitergeleitet.

[web] type = tcp local_ip = 127.0.0.1 lokaler_Port = 80 entfernter_Port = 8080

Schritt 5 - Starten Sie FRP auf dem lokalen Server

Der folgende Schritt besteht darin, den FRP-Dienst auf dem lokalen Server zu starten.

./frps -c ./frps.ini

Sie können jetzt mit dem folgenden Befehl per SSH auf Ihren lokalen Server zugreifen:

ssh -oPort=6000 [email protected]

Sie können auch auf den Webserver zugreifen, der auf dem Port 8080 des öffentlichen Servers läuft

http://:8080

Sie sollten auch die entsprechenden Ports auf dem Remote-Server zulassen, wenn Sie eine Firewall konfiguriert haben.

FPS über das Dashboard überwachen

FPS verfügt über ein eigenes Dashboard, das konfiguriert werden kann, um die Statistiken und Metriken anzuzeigen.

Zur Aktivierung müssen Sie die Details unten im in frps.ini Datei des öffentlichen Servers.

[common] bind_port = 7000 Dashboard_port = 7500 Dashboard_user = Admin Dashboard_pwd = Admin

Sie können den Benutzernamen und das Passwort zu den Details Ihrer Wahl angeben. Dann starte frps neu.

Sie können das Dashboard auf Port 7500 des öffentlichen Servers öffnen.

FRP-Dienst dämonisieren

Möglicherweise möchten Sie FRP-Dienste auf lokalen und öffentlichen Servern als Dienst/Daemon ausführen.

So dämonisieren Sie den frps-Dienst auf dem öffentlichen Server:
  1. Kopieren Sie die frps-Datei nach /usr/bin
sudo cp frp_*_linux_amd64/frps /usr/bin

2. Kopiere das frps.Bedienung Datei in systemd Ordner zu /etc/systemd/system.

sudo cp frp_*_linux_amd64/systemd/frps.service /etc/systemd/system

3. Erstellen Sie einen Ordner namens frp im Verzeichnis /etc/.

sudo mkdir -p /etc/frp

4. Kopieren frps.ini Datei zu /etc/frp

sudo cp frp_*_linux_amd64/frps.ini /etc/frp

5. Daemon neu laden

sudo systemctl daemon-reload

6. Starten Sie den frps-Dienst

sudo systemctl starte frps.Bedienung

Servicestatus nach dem Start prüfen:

$ systemctl status frps ● frps.service - Frp-Serverdienst geladen: geladen (/etc/systemd/system/frps.Bedienung; deaktiviert; Herstellervoreinstellung: deaktiviert) Aktiv: aktiv (läuft) seit Sa 07.11.2020 16:19:41 EAT; vor 1s Haupt-PID: 1081169 (frps) Aufgaben: 11 (Limit: 49439) Speicher: 16.3M CGroup: /system.Scheibe/Frps.service └─1081169 /usr/bin/frps -c /etc/frp/frps.ini Nov 07 16:19:41 Server.Computerforgeeks.com systemd[1]: FRP-Serverdienst gestartet. 07. Nov. 16:19:41 Server.Computerforgeeks.com frps[1081169]: 2020/11/07 16:19:41 [I] [Dienst.go:190] frps tcp l> 07. Nov. 16:19:41 server.Computerforgeeks.com frps[1081169]: 2020/11/07 16:19:41 [I] [Dienst.go:289] Dashboard > 07. Nov. 16:19:41 Server.Computerforgeeks.com frps[1081169]: 2020/11/07 16:19:41 [I] [root.go:212] start frps su> 07. Nov. 16:19:42 server.Computerforgeeks.com frps[1081169]: 2020/11/07 16:19:42 [I] [Dienst.go:444] [cde064bce> 07. Nov. 16:19:42 Server.Computerforgeeks.com frps[1081169]: 2020/11/07 16:19:42 [I] [tcp.go:63] [cde064bcec86ff> 07. Nov. 16:19:42 Server.Computerforgeeks.com frps[1081169]: 2020/11/07 16:19:42 [I] [control.go:446] [cde064bce> 07. Nov. 16:19:42 Server.Computerforgeeks.com frps[1081169]: 2020/11/07 16:19:42 [I] [tcp.go:63] [cde064bcec86ff> 07. Nov. 16:19:42 Server.Computerforgeeks.com frps[1081169]: 2020/11/07 16:19:42 [I] [control.go:446] [cde064bce> 
So dämonisieren Sie den frpc-Dienst auf dem lokalen Server:
  1. Kopieren Sie die frpc-Datei nach /usr/bin
sudo cp frp_*_linux_amd64/frpc /usr/bin

2. Erstellen Sie einen Ordner namens frp im Verzeichnis /etc/.

sudo mkdir -p /etc/frp

3. frpc kopieren.ini-Datei nach /etc/frp

sudo cp frp_*_linux_amd64/frpc.ini /etc/frp

4. Kopieren Sie die frpc.Servicedatei in ~/frp_*_linux_amd64/systemd Ordner zu /etc/systemd/system/.

sudo cp frp_*_linux_amd64/systemd/frpc.service /etc/systemd/system/

5. Daemon neu laden

sudo systemctl daemon-reload

6. Frpc-Dienst starten

sudo systemctl starte frpc.Bedienung

Bestätigen Sie, dass der Dienst ausgeführt wird:

$ systemctl status frpc ● frpc.service - Frp-Client-Dienst geladen: geladen (/etc/systemd/system/frpc.Bedienung; deaktiviert; Herstellervoreinstellung: aktiviert) Aktiv: aktiv (läuft) seit Sa 07.11.2020 14:59:23 EAT; vor 1h 22min Main PID: 1898174 (frpc) Aufgaben: 11 (limit: 18957) Speicher: 3.9M CGroup: /system.Scheibe/Frpc.service └─1898174 /usr/bin/frpc -c /etc/frp/frpc.ini Nov 07 16:20:05 local frpc[1898174]: 2020/11/07 16:20:05 [I] [control.go:276] [cde064bcec86ffe7] Control Writer i> 07 Nov 16:20:05 local frpc[1898174]: 2020/11/07 16:20:05 [I] [service.go:174] [cde064bcec86ffe7] versuchen, erneut zu verbinden> 07. Nov. 16:20:05 lokaler frpc[1898174]: 2020/11/07 16:20:05 [E] [control.go:158] [cde064bcec86ffe7] Arbeitsverbindung > 07 Nov 16:20:05 local frpc[1898174]: 2020/11/07 16:20:05 [I] [visitor_manager.go:60] [cde064bcec86ffe7] Gracefull> 07 Nov 16:20:05 local frpc[1898174]: 2020/11/07 16:20:05 [W] [service.go:177] [cde064bcec86ffe7] reconnect to ser> 07 Nov 16:20:06 local frpc[1898174]: 2020/11/07 16:20:06 [I] [service.go:174] [cde064bcec86ffe7] versuchen, erneut zu verbinden> 07. Nov. 16:20:06 lokaler frpc[1898174]: 2020/11/07 16:20:06 [I] [service [.go:288] [cde064bcec86ffe7] Anmelden am Server > 07. Nov 16:20:06 local frpc[1898174]: 2020/11/07 16:20:06 [I] [proxy_manager.go:144] [cde064bcec86ffe7] proxy adde> 07. Nov 16:20:06 local frpc[1898174]: 2020/11/07 16:20:06 [I] [control.go:180] [cde064bcec86ffe7] [ssh] start prox> 07. Nov 16:20:06 local frpc[1898174]: 2020/11/07 16:20:06 [I] [control.go:180] [cde064bcec86ffe7] [web] Prox starten> 

Sie können FRP jetzt als Daemon ausführen. Dies hilft, wenn Sie den Dienst im Hintergrund ausführen möchten, und auch zu Verwaltungszwecken.

Fazit

Wir haben den FRP-Proxy erfolgreich installiert und konfiguriert. Dies ist ein Tool, das für Systemadministratoren sehr nützlich sein kann, die über das Internet auf ihre lokal gehosteten Dienste zugreifen möchten. Wenn dieser Beitrag für Sie nützlich war, können Sie ihn gerne teilen und kommentieren.

Weitere Artikel zum Lesen auf unserer Website:

YouTube stimmt neuen Schutzmaßnahmen für Kinder und einer Geldstrafe von 170 Millionen US-Dollar zu
Während in den letzten Jahren viel darüber gesagt wurde, dass Google Daten über Nutzer sammelt, um Anzeigen zu verkaufen und Gewinne zu erzielen, ist ...
Zunahme illegaler Booster bedroht Mobilfunksignale in ländlichen Gebieten
Wenn du in einer ländlichen Gegend lebst, bist du daran gewöhnt. Es ist schwierig, ein Mobilfunksignal zu bekommen. Manchmal ist es fast unmöglich. Da...
Ihre MRT-, Röntgen- und CT-Scans könnten online leicht zugänglich sein
Dies ist ein Technologiebereich, an den wir vielleicht noch nie gedacht haben. Auch wenn es den Anschein hat, dass es nicht wirklich sensible Informat...