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

二、准备工作
frp 下载: https://github.com/fatedier/frp/releases/tag/v0.58.1
💻 安装自己机器对应的版本即可。
下载好之后已经是编译好的可执行程序了。
我的话使用的是 一台 ubuntu 虚拟机 和 ubuntu 云服务器 + 一台 windows 虚拟机 做的实验。
此时配置服务端的 frps.toml
vim frps.toml
# 设置如下
bindPort = 8888
我们需要使用 -c 指定配置文件
./frps -c ./frps.toml
⚙️ 配置 ubuntu 客户端的 frpc.toml
这里我们配置了 ssh 服务 和 http 服务,也是我们本篇博客要做的穿透实验。
serverAddr = "你的服务器地址"
serverPort = 8888
[[proxies]]
name = "ssh-service"
=
=
=
=
=
=
=
=
=


