• 通过云服务器对内网穿透实现外网访问群晖NAS


    一、准备工作:

    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

    1. [common]
    2. bind_port = 10001
    3. vhost_http_port = #http端口,一般配置为5000,和群晖保持一致
    4. vhost_https_port = #https端口,配置为5001,和群晖保持一致
    5. token = #你的token
    6. # 以下是控制面板的配置
    7. dashboard_port = 10000
    8. dashboard_user = #用户名
    9. dashboard_pwd = #密码
    10. log_file = ./frps.log
    11. log_level = info
    12. log_max_days = 3
    13. [ssh]
    14. listen_port = 6000
    15. auth_token = #sshtoken
    16. subdomain_host = #你的域名,例如csdn.com

    5、创建service文件frp.service,设置为开机启动

    1. [Unit]
    2. Description=The nginx HTTP and reverse proxy server
    3. After=network.target remote-fs.target nss-lookup.target
    4. [Service]
    5. Type=simple
    6. ExecStart=/usr/local/frp/frps -c /usr/local/frp/frps.ini
    7. KillSignal=SIGQUIT
    8. TimeoutStopSec=5
    9. KillMode=process
    10. PrivateTmp=true
    11. StandardOutput=syslog
    12. StandardError=inherit
    13. [Install]
    14. 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

    1. [common]
    2. server_addr = 你的服务器ip
    3. server_port = 10001
    4. token = 你的token
    5. [ssh]
    6. type = tcp
    7. local_ip = nas本地ip
    8. local_port = 22
    9. remote_port = 6000
    10. [nas]
    11. type = http
    12. local_port = 你的nas端口,一般是50
    13. custom_domains = 子域名,例如,nas.csdn.com
    14. [web]
    15. type = http
    16. local_port = 80
    17. custom_domains = 子域名,例如,web.csdn.com
    18. [jellfin]
    19. type = http
    20. local_port = 你的jellfin端口
    21. custom_domains = 子域名,例如,jellfin.csdn.com
    22. [emby]
    23. type = http
    24. local_port = 你的emby端口
    25. custom_domains = 子域名,例如,jellfin.csdn.com
    26. [range:ftp]
    27. type = tcp
    28. local_ip = nas本地ip
    29. local_port = 21,50000-50002
    30. remote_port = 2121,50000-50002

     

    创建docker容器,引用我们刚才创建的文件

     

     网络里【使用与 Docker Host 相同的网络】打勾

    启动容器。

    查看容器日志,若打印如下,说明容器启动成功

    这时候,我们就可以在外网访问我们的nas了。 

  • 相关阅读:
    LevelSequence源码分析
    Spring中实现AOP的功能
    从0开始设计一个物联网网关
    高级数据结构:最小生成树及普里姆算法
    测试开发-iOS真机Crash Log 的获取和分析
    QPS、TPS、并发用户数、吞吐量的关系
    正缘画像 api数据接口
    Linux磁盘分区和管理
    Boa服务器与Cgi简介
    【Git】Git 原理和使用
  • 原文地址:https://blog.csdn.net/cg_Amaz1ng/article/details/126193265