群晖安装frp实现内网穿透

服务端安装frp
下载并进行frps配置
[common]
bind_port = 9000
vhost_http_port = 9008
vhost_https_port = 9010
token = 填写token
dashboard_port = 9001
dashboard_user = 用户名
dashboard_pwd = 密码
启动服务并保持后台运行
nohup ./frps -c ./frps.ini
如果需要停止服务
ps -aux|grep frp| grep -v grep
kill -9 进程号

群晖端有两种方式,docker和SSH

1. Docker方式

群晖客户端

安装一个frp的docker镜像,推荐直接安装一个frpc的镜像,后续无需再添加启动参数

创建一个frpc.ini文件配置,内容如下:

[common]
server_addr = 远程公网IP
server_port = 9000
token = 填写上面配置的token

[DSM]
type = tcp
local_ip = 127.0.0.1
local_port = 5000
remote_port = 9005

[Transmission]
type = tcp
local_ip = 127.0.0.1
local_port = 9091
remote_port = 7091

配置docker容器,在容器的高级设置中做下面的配置:

启用自动重新启动;(群晖开机或意外断电重启后即会自动运行容器)
映射容器内/etc/frp/frpc.ini为上一步配置好的群晖外部文件;
设置【使用与Docker Host相同的网络】

启动容器,访问 http://远程公网IP:9005 即实现了内网穿透

如果docker启动错误,群晖内置的Docker未输出有价值日志信息时,可在命令行中通过以下命令查看Docker日志:docker ps // 获取所有容器 CONTAINER ID IMAGE 91942903b2bf stilleshan/frpc:0.37.0 b80c07e54ca1 adguard/adguardhome:latest

得到容器ID后,查看log
docker logs -f 91942903b2bf

2. SSH方式

群晖开启SSH群晖开启SSH“控制面板” -> ”终端机和SNMP“,启用SSH

下载并配置frp客户端,配置内容同上

设置开机启动
  1. 计划任务 -> 新增计划任务 -> 触发的任务 -> 用户自定义脚本
  2. 内容如下:
    cd /var/services/homes/admin/frp_0.33.0_linux_386/ chmod +x frpc chmod +x frpc.ini nohup ./frpc -c ./frpc.ini &
查看后台frpc是否正在运行
ps -aux|grep frpc|grep -v grep

此时配置没有问题的话应该已经可通过IP访问到群晖

3.配置HTTPS / SSL

群晖控制面板 -> 安全性 -> 证书 -> 新增 -> 添加新证书 -> 导入证书 中间证书可不选 私钥 上传 -> privkey.key 证书 -> fullchain.crt 如域名SSL证书为Let\’s Encrypt,则可直接上传生成的对应的证书文件, 证书路径为: /www/server/panel/vhost/cert 修改privkey.pem和fullchain.pem的后缀为key和crt即可 点击配置, 选择系统默认,FTP,WebDav为刚才的证书配置即可

至此,已经可以通过外网访问家中的群晖。经测试,DSM,Transmission等服务均可外网访问

参考:

Add Your Comment