一、准备工作:
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了。
原文链接:https://blog.csdn.net/cg_Amaz1ng/article/details/126193265?ops_request_misc=&request_id=c198e495ded54993af22281dc8d2d7aa&biz_id=&utm_medium=distribute.pc_search_result.none-task-blog-2~blog~koosearch~default-12-126193265-null-null.268%5Ev1%5Econtrol&utm_term=%E9%BB%91%E7%BE%A4%E6%99%96%E3%80%81docker%E3%80%81%E5%AE%B9%E5%99%A8%E9%95%9C%E5%83%8F%E3%80%81%E5%9F%9F%E5%90%8D%E6%B3%A8%E5%86%8C%E3%80%81%E5%AE%9D%E5%A1%94%E3%80%81%E5%8F%8D%E5%90%91%E4%BB%A3%E7%90%86%E3%80%81nginx%E3%80%81frp%E3%80%81%E5%8A%A8%E6%80%81%E5%9F%9F%E5%90%8D%E8%A7%A3%E6%9E%90%E3%80%81NAS%E3%80%81%E7%BE%A4%E6%99%96%E3%80%81%E9%98%BF%E9%87%8C%E4%BA%91%E3%80%81%E5%9F%9F%E5%90%8D%E8%A7%A3%E6%9E%90%E3%80%81%E5%86%85%E7%BD%91%E7%A9%BF%E9%80%8F%E3%80%81ipv6%E3%80%81ddns%E3%80%81%E8%BD%BB%E9%87%8F%E7%BA%A7%E4%BA%91%E6%9C%8D%E5%8A%A1%E5%99%A8%E3%80%81%E9%93%81%E5%A8%81%E9%A9%AC%E3%80%81%E5%A8%81%E8%81%94%E9%80%9A%E3%80%81DSM%E3%80%81DSM6.0%E3%80%81%E7%BE%A4%E6%99%96nas%E3%80%81%E4%BA%91%E6%9C%8D%E5%8A%A1%E5%99%A8%E3%80%81%E8%9C%97%E7%89%9B%E6%98%9F%E9%99%85