群晖安装frp实现内网穿透

服务端安装frp
下载并进行frps配置
bindPort = 你的端口号
auth.method = "token"
auth.token = "你的TOKEN值"
webServer.addr = "0.0.0.0"
webServer.port = 你的端口号
# dashboard's username and password are both optional
webServer.user = "你的用户名"
webServer.password = "你的密码"
启动服务并保持后台运行
nohup ./frps -c ./frps.toml
如果需要停止服务
ps -aux|grep frp| grep -v grep
kill -9 进程号

群晖端有三种方式,docker和SSH以及套件方式

1. Docker方式

群晖客户端

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

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

serverAddr = "你刚才配置的服务端IP"
serverPort = 你刚才配置的服务端端口号
auth.token = "你刚才配置的TOKEN值"

[[proxies]]
name = "DS918"
type = "tcp"
localIP = "127.0.0.1"
localPort = 你的群晖端口号
remotePort = 远程访问端口号,比如9005

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

启用自动重新启动;(群晖开机或意外断电重启后即会自动运行容器)
映射容器内/etc/frp/frpc.toml为上一步配置好的群晖外部文件;
设置【使用与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.59.0_linux_amd64/ chmod +x frpc chmod +x frpc.toml nohup ./frpc -c ./frpc.toml &

3. 套件方式

套件方式配置和上述两种方式相同,DSM7之后可在套件中心直接安装frpc客户端

查看后台frpc是否正在运行
ps -aux|grep frpc|grep -v grep

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

配置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