一、准备工作:

1、一台云服务器,这里我用的是腾讯云

2、一个可用的域名

3、一台内网群晖NAS

二、安装frp服务端

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

六、在NAS上安装frp客户端

搜索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了。 

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐