群晖安装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

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

启用自动重新启动;(群晖开机或意外断电重启后即会自动运行容器)
映射容器内/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

配置HTTPS / SSL

群晖控制面板 -> 安全性 -> 证书 -> 新增 -> 添加新证书 -> 导入证书
中间证书可不选
私钥 上传 -> privkey.key
证书 -> fullchain.crt

可直接上传宝塔面板生成的Let'sEncrypt证书, 路径为: /www/server/panel/vhost/cert
修改privkey.pem和fullchain.pem的后缀为key和crt即可

点击配置, 选择系统默认,FTP,WebDav为刚才的证书配置即可

至此,已经可以通过外网访问家中的群晖

参考:


Add Your Comment