[Frp]内网穿透入门-概念理解与安装

原理简介

frp 主要由两个程序组成:客户端(frpc) 和 服务端(frps)。通常,服务端部署在具有公网 IP 地址的服务器上,而客户端部署在需要穿透的内网服务所在的机器上。

由于内网服务缺乏公网 IP 地址,因此无法直接被非局域网内的用户访问。用户通过访问服务端的 frps,frp 负责根据请求的端口或其他信息将请求路由到相应的内网机器,从而实现通信。

代理

在 frp 中,一个代理对应一个需要公开访问的内网服务。一个客户端可以同时配置多个代理,以满足不同的需求。

代理类型

frp 支持多种代理类型供不同场景使用。

TCP:

单纯的 TCP 端口映射,使服务端能够根据不同的端口将请求路由到不同的内网服务。

UDP:

单纯的 UDP 端口映射,与 TCP 代理类似,但为 UDP 流量。

HTTP:

专为 HTTP 应用设计,支持修改 Host Header 和增加鉴权等额外功能。

HTTPS:

类似于 HTTP 代理,但专门用于处理 HTTPS 流量。

STCP:

提供安全的 TCP 内网代理,要求在被访问者和访问者的机器上都部署 frpc,不需要在服务端暴露端口。

SUDP:

提供安全的 UDP 内网代理,与 STCP 类似,需要在被访问者和访问者的机器上都部署 frpc,不需要在服务端暴露端口。

XTCP:

点对点内网穿透代理,与 STCP 类似,但流量不需要经过服务器中转。

TCPMUX:

支持服务端 TCP 端口的多路复用,允许通过同一端口访问不同的内网服务。

但实际上,最常用的代理类型就是TCP/UDP,STCP/SUDP和XTCP。

安装

前往https://github.com/fatedier/frp/releases下载对应自己系统架构的压缩包,解压后frps和frpc都在内。

由于采用Go语言编写,Frp也不需要安装即可使用。将 frpc 复制到内网服务所在的机器上,将 frps 复制到拥有公网 IP 地址的服务器上,并将它们放在任意运行目录。

在运行目录下打开shell(Windows对应CMD),如果要运行服务端(frps):

./frps -c ./frps.toml

如果要运行客户端(frpc):

 

./frpc -c ./frpc.toml

 持久化运行&开机自启

你会遇到和RustDesk类似的问题:一旦我关闭shell/cmd就停止运行了。关于如何持久化运行应用,RustDesk这里有详细介绍,可以参考一下,然后举一反三

[Rustdesk]自建Rustdesk远程桌面注册/中继服务器
准备工作 Rustdesk是一款开源的远程桌面软件,支持安卓/Windows/Mac/Linux/IOS全平台使用,还可以搭建自己的中继服务器。本文将带大家……
阅读剩余
THE END