引用自 摸鱼wiki
0. 硬件准备
群晖 DS218play + 云服务器
1. 软件准备
frp代码包下载:https://github.com/fatedier/frp
云服务器是centos系统,安装 frp_0.46.1_linux_amd64 版本,主要使用 server 版(frps)
群晖NAS是arm架构,安装 frp_0.46.1_linux_arm64 版本,主要使用 client 版(frpc)
2. 云服务器安装frps
第一步:将压缩包内的frps二进制文件复制到 /user/local/frp 目录下
第二步:修改frps.ini,并上传到同一目录下
[common] bind_addr = 0.0.0.0 bind_port = 7000 # token很关键,是frpc和frps认证的凭据 token = 1234 vhost_http_port = 7080 vhost_https_port = 7443 dashboard_addr = 0.0.0.0 dashboard_port = 7500 dashboard_user = admin dashboard_pwd = admin dashboard_tls_mode = false enable_prometheus = true log_file = ./frps.log log_level = info log_max_days = 3[common] bind_addr = 0.0.0.0 bind_port = 7000 # token很关键,是frpc和frps认证的凭据 token = 1234 vhost_http_port = 7080 vhost_https_port = 7443 dashboard_addr = 0.0.0.0 dashboard_port = 7500 dashboard_user = admin dashboard_pwd = admin dashboard_tls_mode = false enable_prometheus = true log_file = ./frps.log log_level = info log_max_days = 3[common] bind_addr = 0.0.0.0 bind_port = 7000 # token很关键,是frpc和frps认证的凭据 token = 1234 vhost_http_port = 7080 vhost_https_port = 7443 dashboard_addr = 0.0.0.0 dashboard_port = 7500 dashboard_user = admin dashboard_pwd = admin dashboard_tls_mode = false enable_prometheus = true log_file = ./frps.log log_level = info log_max_days = 3
第三步:运行命令,启动frps
./frps <span class="token parameter variable">-c</span> frps.ini./frps <span class="token parameter variable">-c</span> frps.ini./frps -c frps.ini
第四步(可选):通过 systemctl 启动 frps
在 /etc/systemd/system/ 编写frps.service,并保存
[Unit] Description = frp server After = network.target syslog.target Wants = network.target [Service] Type = simple ExecStart = /usr/local/frp/frps -c /usr/local/frp/frps.ini [Install] WantedBy = multi-user.target[Unit] Description = frp server After = network.target syslog.target Wants = network.target [Service] Type = simple ExecStart = /usr/local/frp/frps -c /usr/local/frp/frps.ini [Install] WantedBy = multi-user.target[Unit] Description = frp server After = network.target syslog.target Wants = network.target [Service] Type = simple ExecStart = /usr/local/frp/frps -c /usr/local/frp/frps.ini [Install] WantedBy = multi-user.target
用 systemctl 命令管理 frps
systemctl start frps systemctl stop frps systemctl restart frps systemctl status frpssystemctl start frps systemctl stop frps systemctl restart frps systemctl status frpssystemctl start frps systemctl stop frps systemctl restart frps systemctl status frps
3. 群晖NAS安装frpc
第一步:使用ssh登录nas
第二步:将压缩包内的frpc二进制文件复制到 ~/ 目录下(其他路径无权限,这里有)
第三步:修改frpc.ini,并上传到同一目录下
[common] # 云服务器地址 server_addr = 127.0.0.1 server_port = 7000 # 云服务器配置的token token = 1234 [Synology DSM] # 群晖管理http访问5000端口 type = http local_ip = 127.0.0.1 local_port = 5000 # nas.your_domain.cn 是配置的域名,没有可以填云服务器地址 custom_domains = nas.yourdomain.cn use_encryption = false use_compression = true # https不支持ip访问,如无域名此项可不写 [Synology DSM TLS] type = https local_ip = 127.0.0.1 local_port = 5001 # nas.your_domain.cn 是配置的域名 custom_domains = nas.yourdomain.cn use_encryption = true use_compression = true # 部分群晖内置服务端口转发示例 [Synology Drive] type = tcp local_ip = 127.0.0.1 local_port = 6690 remote_port = 7101[common] # 云服务器地址 server_addr = 127.0.0.1 server_port = 7000 # 云服务器配置的token token = 1234 [Synology DSM] # 群晖管理http访问5000端口 type = http local_ip = 127.0.0.1 local_port = 5000 # nas.your_domain.cn 是配置的域名,没有可以填云服务器地址 custom_domains = nas.yourdomain.cn use_encryption = false use_compression = true # https不支持ip访问,如无域名此项可不写 [Synology DSM TLS] type = https local_ip = 127.0.0.1 local_port = 5001 # nas.your_domain.cn 是配置的域名 custom_domains = nas.yourdomain.cn use_encryption = true use_compression = true # 部分群晖内置服务端口转发示例 [Synology Drive] type = tcp local_ip = 127.0.0.1 local_port = 6690 remote_port = 7101[common] # 云服务器地址 server_addr = 127.0.0.1 server_port = 7000 # 云服务器配置的token token = 1234 [Synology DSM] # 群晖管理http访问5000端口 type = http local_ip = 127.0.0.1 local_port = 5000 # nas.your_domain.cn 是配置的域名,没有可以填云服务器地址 custom_domains = nas.yourdomain.cn use_encryption = false use_compression = true # https不支持ip访问,如无域名此项可不写 [Synology DSM TLS] type = https local_ip = 127.0.0.1 local_port = 5001 # nas.your_domain.cn 是配置的域名 custom_domains = nas.yourdomain.cn use_encryption = true use_compression = true # 部分群晖内置服务端口转发示例 [Synology Drive] type = tcp local_ip = 127.0.0.1 local_port = 6690 remote_port = 7101
第四步:使用 nohup & 后台挂载 frpc
<span class="token function">nohup</span> ./frpc <span class="token parameter variable">-c</span> frpc.ini <span class="token operator">&</span><span class="token function">nohup</span> ./frpc <span class="token parameter variable">-c</span> frpc.ini <span class="token operator">&</span>nohup ./frpc -c frpc.ini &
第五步:在浏览器输入 http://nas.yourdomain.cn:${vhost_http_port} 即可建立http访问链接
4. 配置 https 证书
第一步:申请域名https证书
第二步:在群晖NAS上配置证书
第三步:在浏览器输入 https://nas.yourdomain.cn:${vhost_https_port} 即可建立https访问链接。vhost_https_port的值在云服务器的 frps.ini 中配置,如示例中的 7443。
原文链接:https://blog.csdn.net/think_A_lot/article/details/128893830