frp内网穿透配置

前言

通过京东云 VPS 内网穿透部署在内网的主机,配置的时候踩了点坑,记录一下,供以后参考。

环境

思路是通过 frp 服务端监听 9000 端口,内网机器 ssh 端口为 10000,在外网通过 9001 穿透到内网 10000 端口上。
服务端防火墙已放行 9000、9001 端口,内网机器防火墙已放行 10000 端口。

环境:

  • 京东云 VPS,系统为 Debian12
  • 内网主机,系统为 Debian13
  • frp_0.63.0_linux_amd64,下载地址:frp_0.63.0_linux_amd64

配置

frp 服务端监听 9000 端口。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
# 服务绑定的IP与端口
bindAddr = "0.0.0.0"
bindPort = 9000

# web dashboard配置
webServer.addr = "0.0.0.0"
webServer.port = 9001
webServer.user = "qiyuecha"
webServer.password = ".9991aa!zxd"

# 启用prometheus监控指标
enablePrometheus = false

# token权限验证,需与客户端配置一致
auth.method = "token"
auth.token = "uuiixx.aasqq!pa"

# 日志配置
log.to = "~/Applications/frp-0.63.0/logs/frpc.log"
log.level = "info"
log.maxDays = 7

客户端配置:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
# 服务绑定的IP与端口
serverAddr = ""
serverPort = 9020

# web dashboard配置
webServer.addr = "0.0.0.0"
webServer.port = 9021
webServer.user = "longkun"
webServer.password = ".9991aa!zxd"

# token权限验证,需与客户端配置一致
auth.method = "token"
auth.token = "uiixx.aasqq!pa"

# 日志配置
log.to = "~/Applications/frp_0.63.0_linux_amd64/frpc.log"
log.level = "info"
log.maxDays = 7

[[proxies]]
name = "ssh"
type = "tcp"
localIp = "127.0.0.1"
localPort = 10000
# 在外网访问的端口,映射到 localPort
remotePort = 9001

自启动

增加自启动项:/etc/systemd/system/frpc.service

1
2
3
4
5
6
7
8
9
10
11
12
13
14
[Unit]
Description=FRP Client Service
After=network.target syslog.target
Wants=network.target

[Service]
Type=simple
ExecStart=~/Applications/frp_0.63.0_linux_amd64/frpc -c ~/Applications/frp_0.63.0_linux_amd64/frpc.toml
Restart=on-failure
WorkingDirectory=~/Applications/frp_0.63.0_linux_amd64
RestartSec=5

[Install]
WantedBy=multi-user

问题记录

配置好了之后,通过 sudo systemctl start frpc 启动一直没启动成功,看了日志提示 frpc 的路径不存在,对了好久,发现在 frpc.service 文件中把 frpc 写成 fprc 了。