使用frp通过跳板机实现内网穿透备忘

用很多次frp工具进行内网穿透了,在这里统一记录一下过程。尤其是在ubuntu下写入系统服务并开机自启并非我能独立写出的,我还是得把服务配置记录在此为妙。

安装frp

frp的安装非常简单,直接下载frp的release版本,解压后即可使用。我最常用的是0.59.0版本,以下也均以该版本为例。
解压后应该得到一个文件夹,里面包含frps和frpc两个可执行文件,还有两个配置文件模板。

配置文件

配置文件分别为frps.toml和frpc.toml,对应服务端和客户端。

服务端配置

暂无,等我服务器到期之后补全这一节

客户端配置

在frpc.toml中,配置文件的格式如下:

1
2
3
4
5
6
7
8
9
10
[common]
server_addr = "frp.example.com"
server_port = 7000
token = "your_token"

[ssh]
type = "tcp"
local_ip = "127.0.0.1"
local_port = 22
remote_port = 6000

其中,server_addr是服务器的地址,server_port是服务器绑定的端口,token是连接服务器的令牌,用于验证客户端的身份。
下面可以自定义多个端口转发,不过不能重复。配置好之后,使用./frpc -c ./frpc.toml启动客户端。

配置系统服务

服务端服务配置

客户端服务配置

为了实现开机自启,需要将frpc配置为系统服务。

1
sudo vim /etc/systemd/system/frpc.service

在frpc.service中,写入以下内容:

1
2
3
4
5
6
7
8
9
10
11
12
[Unit]
Description=frpc
After=network.target
Wants=network.target

[Service]
Restart=on-failure
RestartSec=5s
ExecStart=/path/to/frpc -c /path/to/frpc.toml

[Install]
WantedBy=multi-user.target

配置好之后,使用以下命令启动服务:

1
2
3
4
5
sudo systemctl daemon-reload
sudo systemctl enable frpc
sudo systemctl start frpc
# 查看状态
sudo systemctl status frpc

常见问题

注意开放服务器的防火墙端口!


使用frp通过跳板机实现内网穿透备忘
http://dufolk.github.io/2025/01/25/frp/
作者
Dufolk
发布于
2025年1月25日
许可协议