1、docker设置

docker去套件中心点一下就可以安装。

首先点开docker,

  1. 选择注册表(docker的软件库),
  2. 搜索栏输入 chenhw 搜索,
  3. 双击 chenhw/frp 默认下载就可以了。

等待 chenhw/frp 下载时候可以设置下FRP服务端和客户端的配置文件。

准备工作:

1.一个域名,只要能够正常解析就行

2.xshell或其他ssh软件

3.一台云服务器,流量尽可能多,带宽能够尽量跑满自己家庭宽带的上行即可

4.基础linux知识(实在不会可以寻求百度自行琢磨

查看frp目前的版本:https://github.com/fatedier/frp/releases, 本教程以0.33版本作为例子

一、服务端:

wget https://github.com/fatedier/frp/releases/download/v0.33.0/frp_0.33.0_linux_amd64.tar.gz
tar -zxvf frp_0.33.0_linux_amd64.tar.gz
cd frp_0.33.0_linux_amd64
vi frps.ini

编辑frps.ini文件:

[common]
bind_addr = 0.0.0.0
bind_port = 7000 (数据传输端口,需要服务端客户端一致)
privilege_token = 2fd165jtyjsd0g5t4hdga16 (token,需要服务端客户端一致)
vhost_http_port = 5000 (服务端http端口)
vhost_https_port = 6000 (服务端https端口)

保存后启动服务端, 测试没问题后用nohup在后台运行就行了

nohup ./frps  -c  ./frps.ini &

上图为直接执行./frps -c ./frps.ini返回的成功启动语句,使用nohup启动不会显示

二、frpc群晖docker配置

1、点进file station 在docker文件夹下创建frp文件夹,然后把编辑好的frpc.ini上传上去

2、在docker映像里双击打开刚刚下载好的映像。

3、选择高级设置

4、高级设置自动启动打√,设置卷、网络、环境。和我设置的一样就可以

这样服务器端和客户端就都设置好了

三、frpc群晖群晖ssh配置

也可以通过登陆群晖ssh来设置客户端

wget https://github.com/fatedier/frp/releases/download/v0.33.0/frp_0.33.0_linux_amd64.tar.gz
tar -zxvf frp_0.33.0_linux_amd64.tar.gz
cd frp_0.33.0_linux_amd64
vi frpc.ini

编辑frpc.ini文件:

[common]
server_addr = nas.com (这里填服务器端的IP或者域名)
server_port = 7000 (数据传输端口,需要服务端客户端一致)
auth_token = 2fd165jtyjsd0g5t4hdga16 (token,需要服务端客户端一致 )
pool_count = 1
[httpname]
type = http
local_port = 5000 (本地群晖的网页端口)
custom_domains = nas.com (服务器端的域名)

群晖上使用 nohup后台启动程序:

nohup ./frpc -c ./frpc.ini &

穿透后即可出门在外访问群晖网页

群晖客户端设置开机自启:

vi /usr/syno/etc.defaults/rc.sysv/frpc.sh
在文本中写入:
cd /root/frp_0.33.0_linux_amd64
nohup ./frpc -c ./frpc.ini &

设置脚本权限:

cd /usr/syno/etc.defaults/rc.sysv/
chmod +x frpc.sh

编辑启动文件:

vi /etc/rc

在倒数第二排添加:

/usr/syno/etc.defaults/rc.sysv/frpc.sh

然后可以重启群晖测试自启脚本了

四、端口映射

服务器的运营商经常将443,80等端口禁用,我们想从外网访问群晖的应用就需要进行端口映射

协议类型

代理名称(不能一样)

域名配置(根据域名解析)

内网主机地址(内网主机ip)

内网端口

远程主机端口(HTTP和HTTPS端口和服务端一致)

加密(是和否不影响连接)

压缩

tcp

nas1

192.168.1.100

5001

443

tcp

drive

192.168.1.100

6690

6690

tcp

photo

192.168.1.100

80

80

tcp

note

192.168.1.100

5000

5000

tcp

download

192.168.1.100

8000

8000

tcp

audio

192.168.1.100

8800

8800

tcp

video

192.168.1.100

9007

9007

https

nas

nas.yourname.com

192.168.1.100

5001

443

https

router

router.yourname.com

192.168.1.1

8443

443

群晖各个应用端口

这里可以配置多个端口映射服务。我设置了三个,一个是软路由的ssh端口,一个是群晖5000端口,一个是jellyfin的8096端口。frpc.ini配置如下

[common]
server_addr = nat.vps.com #服务器域名或者公网ip,这里填的是我nat vps的外网域名
server_port = 23001 #与服务端bind_port一致
token = 123456 #与服务端密钥对应

[ssh]
type = tcp #连接协议
local_ip = blog.leihub.cn #表示本地主机
local_port = 22 #内部的ssh端口号
remote_port = 23002 #自定义外部端口

[DSM]
type = tcp #连接协议
local_ip = 192.168.1.2 #群晖的内网ip地址
local_port = 5000 #群晖的5000端口
remote_port = 23003 #自定义外部端口

[Jellyfin]
type = tcp #连接协议
local_ip = 192.168.1.2 #群晖的内网ip地址
local_port = 8096 #jellyfin的8096端口
remote_port = 23004 #自定义外部端口

————————————————

注意服务器端和客户端的时间要一致,不然会不定时的断线

五、端口转发

如果