1、一台云服务器,这里我用的是腾讯云
2、一个可用的域名
3、一台内网群晖NAS
1、在https://github.com/fatedier/frp/releases上下载最新的frp服务端,上传到云服务器/usr/local目录
2、解压 tar -xvf frp_0.44.0_linux_amd64.tar.gz
3、重命名文件夹 mv frp_0.44.0_linux_amd64 frp
4、进入frp文件夹,修改配置文件frps.ini
- [common]
- bind_port = 10001
- vhost_http_port = #http端口,一般配置为5000,和群晖保持一致
- vhost_https_port = #https端口,配置为5001,和群晖保持一致
- token = #你的token
-
- # 以下是控制面板的配置
- dashboard_port = 10000
- dashboard_user = #用户名
- dashboard_pwd = #密码
- log_file = ./frps.log
- log_level = info
- log_max_days = 3
-
- [ssh]
- listen_port = 6000
- auth_token = #sshtoken
-
- subdomain_host = #你的域名,例如csdn.com
5、创建service文件frp.service,设置为开机启动
- [Unit]
- Description=The nginx HTTP and reverse proxy server
- After=network.target remote-fs.target nss-lookup.target
-
- [Service]
- Type=simple
- ExecStart=/usr/local/frp/frps -c /usr/local/frp/frps.ini
- KillSignal=SIGQUIT
- TimeoutStopSec=5
- KillMode=process
- PrivateTmp=true
- StandardOutput=syslog
- StandardError=inherit
-
- [Install]
- WantedBy=multi-user.target
移动文件frp.service到/usr/lib/systemd/system目录下
重新加载服务的配置文件
systemctl daemon-reload
启动服务
systemctl start frp
systemctl enable frp
添加开放端口(将上面用到的所有端口都开放)
firewall-cmd --zone=public --add-port=10001/tcp --permanent (permanent永久生效,没有此参数重启后失效)
更新防火墙规则
firewall-cmd --reload
查看端口是否开放
firewall-cmd --zone=public --query-port=10001/tcp
如果云上配置了入站规则这里需要对应放开,否则忽略这一步
至此,frp服务端已经配置完成,可以打开dashboard验证下
http://域名:10000/static/#/proxies/http
搜索docker镜像,frpc,下载第一个
在nas上找个地方新建文件,frpc.ini
- [common]
- server_addr = 你的服务器ip
- server_port = 10001
- token = 你的token
-
-
- [ssh]
- type = tcp
- local_ip = nas本地ip
- local_port = 22
- remote_port = 6000
-
- [nas]
- type = http
- local_port = 你的nas端口,一般是50
- custom_domains = 子域名,例如,nas.csdn.com
-
- [web]
- type = http
- local_port = 80
- custom_domains = 子域名,例如,web.csdn.com
-
- [jellfin]
- type = http
- local_port = 你的jellfin端口
- custom_domains = 子域名,例如,jellfin.csdn.com
-
-
- [emby]
- type = http
- local_port = 你的emby端口
- custom_domains = 子域名,例如,jellfin.csdn.com
-
- [range:ftp]
- type = tcp
- local_ip = nas本地ip
- local_port = 21,50000-50002
- remote_port = 2121,50000-50002
创建docker容器,引用我们刚才创建的文件
网络里【使用与 Docker Host 相同的网络】打勾
启动容器。
查看容器日志,若打印如下,说明容器启动成功
这时候,我们就可以在外网访问我们的nas了。