要求配置
- 一台有公网ip的跳板机 A, ip为 a.a.a.a
- 一台需要穿透的内网机器 B, 用户名为bb
下载
您可以从 GitHub 的 Release 页面中下载最新版本的客户端和服务器二进制文件。所有文件都打包在一个压缩包中,还包含了一份完整的配置参数说明。
部署
解压下载的压缩包。
将 frpc 复制到内网服务所在的机器B上。
将 frps 复制到拥有公网 IP 地址的机器A上,并将它们放在任意目录。
配置
- 在具有公网 IP 的机器A上部署 frps
部署 frps 并编辑 frps.toml 文件。以下是简化的配置,其中设置了 frp 服务器用于接收客户端连接的端口:
|
|
- 在需要被访问的内网机器B上部署 frpc
部署 frpc 并编辑 frpc.toml 文件,假设 frps 所在服务器的公网 IP 地址为 a.a.a.a。以下是示例配置:
|
|
localIP
和localPort
配置为需要从公网访问的内网服务的地址和端口。remotePort
表示在 frp 服务端监听的端口,访问此端口的流量将被转发到本地服务的相应端口。
启动
直接启动
- 在A中使用以下命令启动服务器:
./frps -c ./frps.toml
。 - 在B中使用以下命令启动客户端:
./frpc -c ./frpc.toml
。
系统启动
在 Linux 系统下,使用 systemd
可以方便地控制 frps 服务端的启动、停止、配置后台运行以及开机自启动。frpc的服务同理。
以下是具体的操作步骤:
- 安装 systemd
如果您的 Linux 服务器上尚未安装 systemd,可以使用包管理器如 yum
(适用于 CentOS/RHEL)或 apt
(适用于 Debian/Ubuntu)来安装它:
|
|
- 创建 frps.service 文件
使用文本编辑器 (如 vim) 在 /etc/systemd/system
目录下创建一个 frps.service
文件,用于配置 frps 服务。
|
|
写入内容
|
|
- 使用 systemd 命令管理 frps 服务
|
|
- 设置 frps 开机自启动
|
|
使用
ssh访问
|
|
frp 将请求发送到 a.a.a.a:6000
的流量转发到内网机器的 22 端口。
vscode访问
|
|
踩坑
SSH远程连接时报错kex_exchange_identification: Connection closed by remote host_maxstartups-CSDN博客
SSH 登录警告:WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED! - 星痕1216 - 博客园