Hintergrund:
In der aktuellen komplexen Umgebung ist es aus verschiedenen Gründen unpraktisch, von zu Hause aus auf interne Geräte zuzugreifen, und ich möchte eine Lösung finden – frp
FRP ist eine Open-Source-Hochleistungs-Reverse-Proxy-Software. Der vollständige Name lautet Fast Reverse Proxy. Es wird hauptsächlich verwendet, um einen Intranetdienst dem öffentlichen Netzwerk zugänglich zu machen, damit externe Netzwerkbenutzer auf den Dienst zugreifen können. FRP ist einfach zu verwenden und unterstützt mehrere Protokolle, einschließlich TCP, UDP, HTTP, HTTPS usw.
1. Vorbereitung
Ein externer Netzwerkserver (oder ein Computer mit einer öffentlichen IP-Adresse wie ein Tencent-Server);
Tencent-Gutscheine
Ein Intranetserver (Win7/10-Computer);
2. Dateien herunterladen
Download-Adresse:GitHub-Adresse
Informationen zur Arm-/AMD-Version:
Das Linux-System kann von bestätigt werden folgenden Befehl
~ arch
# 查看当前系统是amd/arm
x86_64
# 返回x86_64就是amd架构的。
~ getconf LONG_BIT
64
# 返回64就是64位的
Ich bestätige hier, dass es sich um die AMD64
Bit-Version handelt
Download-Speicherort für Linux 0.51.2-Version:
https://github.com/fatedier/frp/releases/download/v0.51.2/frp_0.51.2_linux_amd64.tar.gz
wget https://github.com/fatedier/frp/releases/download/v0.51.2/frp_0.51.2_linux_amd64.tar.gz
Download-Adresse für Windows 0.51.2-Version:
https://github.com/fatedier/frp/releases/download/v0.51.2/frp_0.51.2_darwin_amd64.tar.gz
Beachten Sie, dass die Client- und Serverversionen möglichst konsistent sein müssen
Entpacken
[~] tar -zxvf frp_0.51.2_linux_amd64.tar.gz
frp_0.51.2_linux_amd64/
frp_0.51.2_linux_amd64/frpc.ini
frp_0.51.2_linux_amd64/frpc_full.ini
frp_0.51.2_linux_amd64/frps_full.ini
frp_0.51.2_linux_amd64/frps.ini
frp_0.51.2_linux_amd64/LICENSE
frp_0.51.2_linux_amd64/frpc
frp_0.51.2_linux_amd64/frps
# 改个名称方便后面操作
[~] mv frp_0.51.2_linux_amd64 frp_0.51.2
3. Konfigurieren Sie den Server (Linux)
# 进入目录
[~] cd frp_0.51.2
# 展开列表
ll
[~ frp_0.51.2] ll
总用量 30768
-rwxr-xr-x 1 www docker 14278656 7月 25 21:39 frpc
-rw-r--r-- 1 www docker 12669 7月 25 21:44 frpc_full.ini
-rw-r--r-- 1 www docker 126 7月 25 21:44 frpc.ini
-rwxr-xr-x 1 www docker 17182720 7月 25 21:39 frps
-rw-r--r-- 1 www docker 5933 7月 25 21:44 frps_full.ini
-rw-r--r-- 1 www docker 28 7月 27 11:31 frps.ini
-rw-r--r-- 1 www docker 11358 7月 25 21:44 LICENSE
# 注意frpc是客户端,如果用不到,相关的都可以删除
# frps是服务端,我用当前主机当服务端,所以需要修改frps.ini
vim frps.ini
Der Standardport ist 7000. Ändern Sie ihn aus Sicherheitsgründen in15000
(beachten Sie, dass dieser Port unter Linux und der Cloud-Server-Firewall geöffnet werden muss)
Tatsächlich gibt es auch einen Standardport 7500 für das Web-Management-Terminal, der ebenfalls geöffnet werden muss
4. Öffnen Sie das Panel
Praktisch für die spätere Überwachung des Status
vim frps.ini
[common]
bind_port = 15000
# 远程访问监控面板的端口
dashboard_port = 7501
# dashboard user and passwd for basic auth protect
dashboard_user = admin
dashboard_pwd = admin
# dashboard TLS mode
dashboard_tls_mode = false
# dashboard_tls_cert_file = server.crt
# dashboard_tls_key_file = server.key
# enable_prometheus will export prometheus metrics on {dashboard_addr}:{dashboard_port} in /metrics api.
enable_prometheus = true
Der Server ist grundsätzlich bereit
Sie können den folgenden Befehl zum Starten direkt ausführen
./frps -c ./frps.ini
. Um jedoch später automatisch zu starten, verwenden Siesystemctl
5. Verwenden Sie systemctl, um frps zu steuern
Wenn es nicht auf dem Linux-Server installiert ist
systemd
, können Sie zur Installation die Befehleyum
oderapt
verwenden essystemd
.
# yum
yum install systemd
# apt
apt install systemd
- Geben Sie das Systemctl-Verzeichnis ein und erstellen Sie es
frps.service
cd /etc/systemd/system/
vim frps.service
# 或者直接
vim /etc/systemd/system/frps.service
- Kopieren Sie den folgenden Code in die Datei
(frps.service)
[Unit]
# 服务名称,可自定义
Description = frp server
After = network.target syslog.target
Wants = network.target
[Service]
Type = simple
# 启动frps的命令,需修改为您的frps的安装路径
ExecStart = /root/frp_0.51.2/frps -c /root/frp_0.51.2/frps.ini
[Install]
WantedBy = multi-user.target
- Saikan
systemd
Befehl
systemctl start frps #启动frps
systemctl restart frps #重启frps
systemctl stop frps #停止frps
systemctl status frps # 查看运行日志
- Konfiguration
frps
Start
systemctl enable frps #服务器开机自动启动frps
6. Konfigurieren Sie den Client
Der Client lädt direkt herunter. Tatsächlich sind Client und Server gleich, aber die aufgerufenen Dateien sind unterschiedlich. Eine davon ist frpc/frps:
Window 0.51.2
Versions-Download-Adresse:
https://github.com/fatedier/frp/releases/download/v0.51.2/frp_0.51.2_windows_amd64.zip
注意电脑的杀毒软件可能会删除它
-
Client-Dekomprimierung. Beachten Sie, dass nur frpc verwendet wird, andere können gelöscht werden
-
Ich habe der Einfachheit halber ein Skript geschrieben
startup.bat
.
-
Öffnen
frpc.ini
und führen entsprechende Konfigurationen durch
Hier sind die Parameter:
[ssh] Tatsächlich kann es beliebig benannt werden und mehrere können gleichzeitig konfiguriert werden
local_ip muss dem Host im externen Netzwerk zugeordnet werden
Der local_port-Port ist der Host-Port, der dem externen Netzwerk zugeordnet werden muss
Der remote_port ist der, auf den zugegriffen wird aus dem externen Netzwerk
Die obige Konfiguration verwandelt schließlich den externen Netzwerkzugriff192.168.1.123:22
in externen Netzwerkzugriff
124.xxx.xxx.xxx:6000
(öffentliche Netzwerk-IP des Tencent Cloud-Servers). )
- Client-Start
Wenn Sie im obigen Bild einen Erfolg sehen, bedeutet das, dass der Client erfolgreich gestartet wurde
Schließlich können Sie auf die Serverkonsole zugreifen, um den Linkstatus zu überprüfen
http://124.xxx.xx.xx:7501
Das Kontopasswort kann in der obigen Konfiguration angezeigt werden