利用frp自定义域名访问群晖NAS

NAS一天搞不好,我浑身难受,抽点空就想搞一锤子。所幸用frp穿透访问家里的NAS,可以随时随地的试一下

准备

下载frp :https://github.com/fatedier/frp/releases

frp官方文档https://gofrp.org/zh-cn/docs

服务器 :腾讯云 (我的服务器amd64,frp下载对应版本即可)

群辉NAS :家里的笔记本改造的黑群晖

外网电脑 :其他地方用的另一台笔记本

配置

 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
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
#<span style="color: rgba(212, 76, 71, 1);"> **服务器配置文件对应修改 frps.toml** </span> **2,1           All
bindPort = 7000
vhostHTTPPort = 8989 # 这个端口随便填没有被其他进程占用的
auth.token = "token888" # 和 frpc.toml 配置相同的 token 即可
subdomainHost = "frp.11010.net" # 将泛域名 *.frp.11010.net 解析到 frps 所在服务器的 IP 地址

# dashborad 配置
webServer.addr = "127.0.0.1"
webServer.port = 7500
# dashboard 用户名密码,可选,默认为空
webServer.user = "admin"
webServer.password = "你的密码"

# 服务端supervisor配置(** <span style="color: rgba(51, 126, 169, 1);"> **不用supervisor启动忽略** </span> **)
[program:frps]
directory=/data/software/frp_0.60.0_linux_amd64
command=/data/software/frp_0.60.0_linux_amd64/frps -c /data/software/frp_0.60.0_linux_amd64/frps.toml
stdout_logfile=/var/log/go/frps.log
stderr_logfile=/var/log/go/frps-err.log
stdout_logfile_maxbytes=50MB
stdout_logfile_backups=5** #<span style="color: rgba(212, 76, 71, 1);"> **NAS客户端配置文件对应修改 frpc.toml** </span>serverAddr = "你的服务器IP"
serverPort = 7000
auth.token = "token888"

webServer.addr = "127.0.0.1"
webServer.port = 7400

# 访问群晖web接口
[[proxies]]
name = "nas_web_http"
type = "http"
localPort = 5000 # 群辉web界面端口
subdomain = "nas"

# 访问群辉ssh
[[proxies]]
name = "nas_ssh"
type = "stcp"
secretKey = "ssh_token1234" # 只有与此处设置的 secretKey 一致的用户才能访问此服务
localIP = "127.0.0.1"
localPort = 22

#<span style="color: rgba(212, 76, 71, 1);"> **外网电脑配置文件对应修改 frpc.toml** </span>serverAddr = "你的服务器IP"
serverPort = 7000
auth.token = "token888"

[[visitors]]
name = "secret_ssh_visitor"
type = "stcp"
# 要访问的 stcp 代理的名字
serverName = "nas_ssh"
secretKey = "ssh_token1234"
# 绑定本地端口以访问 SSH 服务
bindAddr = "127.0.0.1"
bindPort = 6000

启动

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
# 服务端启动(非supervisor)
进入下载的服务端 frp 根目录
nohup ./frps -c frps.toml > frps.log 2>&1 &

# 群辉端启动
进入群辉的 frp 根目录
nohup ./frpc -c frpc.toml > frpc.log 2>&1 &

# 外网电脑启动
打开本机 frp 根目录
nohup ./frpc -c frpc.toml > frpc.log 2>&1 &

测试连接

在外网电脑测试访问:http://nas.frp.11010.net:8989

在外网电脑测SSH:ssh -o Port=6000 用户名@127.0.0.1

配置服务

vim/etc/systemd/system/frpc.service``

把 ExecStart后面目录换成自己的

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
# sudo systemctl daemon-reload
# sudo systemctl enable frpc.service  # 开机自启
# sudo systemctl start frpc.service   # 启动

[Unit]
Description=frp clinet service
After=network.target

[Service]
Type=simple
Restart=on-failure
RestartSec=5
ExecStart=/home/docker/frp/frpc -c /home/docker/frp/frpc.toml

[Install]
WantedBy=multi-user.target

Licensed under CC BY-NC-SA 4.0
Last updated on Mar 26, 2025 10:32 CST