Linux 手动部署并测试内网穿透
FRP(Fast Reverse Proxy)是一款开源的反向代理工具,主要用于实现内网穿透。它通过在公网服务器和内网设备之间建立一个代理通道,使得处于内网中的设备能够被外部网络访问,同时也允许内网设备主动与外部网络通信。
原理简述
简单来说,就是让需要访问的内网可以被其他内网访问到。其实就是让内网经过一个公网服务器的转发,使得能够被访问。
实现步骤
- 部署公网服务器端:在公网服务器上下载并安装 FRP 文件,配置
frps.toml,设置监听端口、认证信息等参数,然后启动服务端程序。 - 配置内网客户端:在需要被访问的内网设备上下载并安装 FRP 文件,配置
frpc.toml,指定内网服务的 IP 地址和端口,并将其映射到公网服务器的对应端口,启动客户端程序建立隧道。 - 数据转发与通信:当外部用户访问公网服务器的指定端口时,FRP 服务器会将请求转发到内网设备的对应 IP 和端口,实现双向通信。

环境准备
首先从 GitHub 下载 frp 的发布版本:https://github.com/fatedier/frp/releases/tag/v0.58.1
根据操作系统选择对应的编译好的可执行程序即可。本次实验使用了一台 Ubuntu 虚拟机作为内网客户端,一台 Ubuntu 云服务器作为公网服务端,以及一台 Windows 虚拟机用于发起连接测试。
配置服务端 (frps)
在云服务器上创建配置文件 frps.toml:
bindPort = 8888
启动服务端,注意需要使用 -c 指定配置文件:
./frps -c ./frps.toml
配置客户端 (frpc)
在内网 Ubuntu 虚拟机上配置 frpc.toml。这里我们配置了 SSH 服务和 HTTP 服务,这也是本篇博客要做的穿透实验重点。
serverAddr = "你的服务器地址"
serverPort = 8888
[[proxies]]
name = "ssh-service"
type = "tcp"
localIP = "127.0.0.1"
localPort = 22
remotePort = 8081
=
=
=
=
=





