Kompilierung und grundlegende Verwendung des Frp-Protokolls

FRP-Übersicht

Das Frp-Projekt ist ein Reverse-Proxy-Projekt, das auf der Grundlage der Go-Sprache entwickelt wurde. Es ermöglicht Benutzern, lokale Dienste, die sich im NAT-Intranet und in der Firewall befinden, dem Internet zugänglich zu machen. Zu den derzeit unterstützten Kommunikationsprotokollen gehören: TCP, UDP, HTTP, HTTPS. Mithilfe des Frp-Protokolls können wir die Anfrage über den Domänennamen an den internen Dienst weiterleiten. frp unterstützt jetzt auch den P2P-Verbindungsmodus.

Frp kompilieren

Laden Sie den Quellcode des Frp-Projekts herunter

Download-Link:
https://github.com/fatedier/frp

Erstellen Sie eine Go-Entwicklungsumgebung

# Go官方网站https://golang.org/dl/
tar -C /usr/local -xzf go1.17.linux-amd64.tar.gz #解压缩代码包到系统目录
vim ~/.bashrc #打开环境变量目录
export PATH=$PATH:/usr/local/go/bin  ##添加Go的环境变量
source ~/.bashrc  #使环境变量生效
go version   #查看go的版本信息

Kompilieren Sie das Frp-Projekt

#下载frp项目
git clone https://github.com/fatedier/frp.git 
cd frp

#编译Frp项目
make 

Probleme lösen

Beim Kompilieren tritt folgender Fehler auf:
509: certificate is valid for *.onedns.net, onedns.net, not proxy.golang.org报错

Dieser Fehler wird durch einen Fehler bei der Überprüfung des SSL-Zertifikats verursacht. Die Fehlermeldung weist darauf hin, dass das Zertifikat anhand von *.onedns.net und onedns.net verifiziert wurde, nicht anhand von Proxy.golang.org. Dies tritt normalerweise auf, wenn ein Proxyserver verwendet wird, der das SSL-Zertifikat ersetzen oder manipulieren kann, was dazu führt, dass die Überprüfung fehlschlägt. Dieses Problem kann auftreten, wenn Sie den Befehl go get der Go-Sprache verwenden, um abhängige Pakete herunterzuladen. Die Lösung für dieses Problem besteht darin, die Umgebungsvariable GOPROXY der Go-Sprache zu konfigurieren und die Proxy-Server-Adresse auf den richtigen Wert festzulegen. Umgebungsvariablen können mit dem folgenden Befehl festgelegt werden:

export GOPROXY=https://goproxy.cn,direct  

Wenn Sie Go 1.13 und höher verwenden, können Sie außerdem auch den Befehl go env -w für die globale Konfiguration verwenden:

go env -w GOPROXY=https://goproxy.cn,direct

报错frpc login to server failed: i/o deadline reached
Sie können der Client-Konfigurationsdatei frpc.ini eine Konfiguration tls_enable = true hinzufügen. TLS ist ein Verschlüsselungsprotokoll, das verhindern kann, dass Informationen herausgefiltert werden.

Das Prinzip des Frp-Protokolls

Das Grundprinzip des Frp-Protokolls besteht darin, mithilfe der „Reverse-Proxy“-Technologie Anforderungen vom öffentlichen Netzwerk an Computer im internen Netzwerk weiterzuleiten und so den Zweck der internen Netzwerkdurchdringung zu erreichen. Der grundlegende Prozess ist wie folgt:
1. Konfigurieren Sie einen Frp-Server im öffentlichen Netzwerk, der über eine IP-Adresse des öffentlichen Netzwerks und einen offenen Port verfügt.
2. Konfigurieren Sie einen Frp-Client auf dem Intranet-Computer, der eine Verbindung zum Frp-Server herstellt und die Dienstinformationen (IP-Adresse, Portnummer usw.) registriert, die durchdrungen werden müssen.
3. Wenn eine externe Anwendung auf den Frp-Client zugreifen muss, sendet er eine Anfrage an den Frp-Server und fordert den Frp-Server auf, die Anfrage an den Ziel-Intranetdienst weiterzuleiten.
4. Der Frp-Server leitet die Anforderung über die mit dem Frp-Client hergestellte Verbindung an den im Frp-Client verbundenen Ziel-Intranetdienst weiter.
5. Der Ziel-Intranetdienst antwortet auf die Anfrage und gibt das Ergebnis an den Frp-Client zurück. Der Frp-Client leitet das Ergebnis an den Frp-Server weiter und gibt es schließlich an den Anforderer zurück.

Es ist zu beachten, dass das Frp-Protokoll nicht wirklich in das Intranet eindringen kann, sondern nur die Dienste im Intranet im öffentlichen Netzwerk durch angemessene Portzuordnung und Datenübertragungstechnologie anzeigt. Gleichzeitig verwendet die Kommunikation zwischen dem Frp-Client und dem Frp-Server ein Sicherheitsprotokoll und wird durch ein Passwort authentifiziert, um die Sicherheit und Zuverlässigkeit der Kommunikation zu gewährleisten. Das Frp-Protokoll ist eine auf Reverse Proxy basierende TCP/UDP-Penetrationstechnologie, die den öffentlichen Netzwerkserver verwendet, um die Dienste im internen Netzwerk dem öffentlichen Netzwerk zuzuordnen und so Funktionen wie interne Netzwerkpenetration und Firewall-übergreifenden Zugriff zu realisieren.

Die Rolle des Frp-Protokolls

Frp ist ein TCP/UDP-Reverse-Proxy-Tool, das den internen Netzwerkcomputer dem öffentlichen Netzwerk zuordnen kann, um Fernzugriff, Durchdringung von NAT und Firewall, interne Netzwerkdurchdringung und andere Funktionen zu realisieren.
Insbesondere hat Frp die folgenden drei Funktionen:
1. Eindringen in das Intranet: Frp kann Intranetdienste über einen externen Netzwerkserver weiterleiten und so eine Intranetpenetration erreichen.
2. Durch die Firewall: Frp kann die Firewall-Einschränkungen umgehen und den internen Netzwerkdienst im öffentlichen Netzwerk veröffentlichen. In einigen Sonderfällen, wie z. B. Netzwerken an öffentlichen Orten, beschränken Firewalls normalerweise den Zugriff auf bestimmte Ports, und diese Einschränkungen können durch Frp umgangen werden.
3. Bereitstellung eines öffentlichen Netzwerkzugriffs auf Intranet-Computer: In einem Unternehmen muss möglicherweise auf einige Intranet-Server von außen zugegriffen werden, z. B. auf Webserver, FTP-Server usw. In diesem Szenario kann Frp als Reverse-Proxy-Server verwendet werden, um Anfragen aus dem Internet an den Intranetserver weiterzuleiten.
Da Frp Open Source ist, plattformübergreifend unterstützt, einfach zu verwenden ist und eine hohe Stabilität und Sicherheit aufweist, ist es zu einem relativ beliebten Intranet-Penetrationstool geworden. In praktischen Anwendungen kann Frp Fernarbeit, Dateifreigabe, Videoüberwachung und andere Zwecke erleichtern.

Konfigurieren Sie das Frp-Projekt

Stellen Sie den FRP-Server frps auf dem öffentlichen Netzwerkserver bereit

#frps.ini  
[common]
bind_port = 7000  #用于和FRP客户端通信
kcp_bind_port = 7000 #加速TCP访问
token = 1234 #核实身份用, 加了更安全
#启动服务端
 ./frps -c ./frps.ini

Stellen Sie den FRP-Client frpc auf Intranetgeräten bereit

#frpc.ini  
[common]
server_addr = x.x.x.x    #公网服务器IP
server_port = 7000       #服务器端口
protocol = kcp           #开启加速
token = 12345            #与服务端一致
login_fail_exit = false  #无网络时一直等待不退出

[vnc]
type = tcp
local_ip = x.x.x.x
local_port = 5900
remote_port = 5900
use_encryption = true
use_compression = true

[ssh]
type = tcp
local_ip = x.x.x.x
local_port = 22
remote_port = 6000
use_encryption = true
use_compression = true
#启动客户端
 ./frpc -c ./frpc.ini 

Acho que você gosta

Origin blog.csdn.net/yang1fei2/article/details/131738853
Recomendado
Clasificación