群晖 docker frp公网访问

群晖 docker frp

​ 通过公网访问群晖的教程。

​ 群晖通过docker部署frp客户端,实现公网访问群晖。

​ 目前流行的公网访问群晖的方案大致如下:

​ 1.DDNS解析(我的网络环境不适用此种方案,且可能需要花很多钱如:花生壳)

​ 2.frp内网穿透 (本文的主要方案,此处又分为群晖系统内部署、docker部署,本文为后者)

​ 3.Quick Connect (最简单,网速最慢)

​ 本文方案核心是frp客户端(下文frpc代指)和frp服务端(下文frps代指)的通信,而frpc的部署可以通过群晖本身的系统进行部署,也可以通过群晖的DSM系统中的docker插件进行部署。

​ 由于群晖的linux系统并不太容易获得root权限,且这样对于机子本身的修改成本较高,故采用docker部署frpc的方案实现。

关于frp版本的通信问题:

​ 本文使用的frps是 0.35.1 frpc是0.35.1。

​ 经过测试frps版本不变,frpc变为0.30.0时仍然可以正常通信。

参考链接:https://www.ioiox.com/archives/26.html

  • 前期准备:

    一台云主机(本文采用阿里云主机,带宽15M。本文以39.156.69.79代指[此IP为百度的IP])
    一个域名(本文采用的阿里云已备案域名,本文以baidu.com代指)
    一个群晖(本文型号DS720+)
    ------------
    本文环境:
    	学校网络经过学校的一层路由之后,到达我本人手里之后我还需要一个路由器通过指定的账号上网,所以本次环境可以认为是二层路由。
    
  • 阿里云需要处理的内容

    1.防火墙:增开端口5000  类型:tcp
    
    2.域名解析记录:
        增加子域名:
        A记录,例如:
        nas.baidu.com           39.156.69.79
    
    --------------------
    由于我原本的解析记录www已经解析到云主机39.156.69.79,这里增开的也解析到39.156.69.79也没问题,只不过访问的时候就变成了:http://nas.baidu.com:5000
    
  • 阿里云主机部署frps,参考文章:链接

    frps.ini

    [common]
    bind_port = 7000
    token = 1f%vXPfy3*IWzX
    
    vhost_http_port = 5000
    dashboard_port = 7001
    dashboard_pwd = qwe123456
    
    • bind_port :frpc访问的端口
    • token : frpc认证用的密钥
    • vhost_http_port : 公网访问转到fprc的端口
    • dashboard_port :frps面板
    • dashboat_pwd : frps登录密钥,默认账号名:admin

    dashboard_port和dashboard_pwd建议在测试通过后将其关闭,即注释或删掉。

  • 群晖docker部署frpc,此处的frpc部署参考下文:

    frpc.ini

    [common]
    server_addr = 39.156.69.79
    server_port = 7000
    token = 1f%vXPfy3*IWzX
    
    [web_2_xxx]
    type = http
    local_ip = 192.168.3.122
    local_port = 5000
    custom_domains = nas.baidu.com
    
    • server_addr : frps 的IP

    • server_port : frps的端口

    • token : 认证密钥

    • [web_2_xxx] : 显示在frps中的客户端明自

    • type : frp连接类型

    • local_ip : 转发到本地局域网的地址

    • local_port : 转发到本地局域网的端口

    • custom_domains : 定义的二级域名。如果和解析记录不一致也无法访问。

  • 群晖安装docker并部署frpc

    • 在套件中心安装docker

    • 按照下图操作,此处选择stilleshan/frpc的原因就是更新及时,其他版本更新不及时,如oldiy/frpc

    • 双击后选择版本,如下所示,本文选择0.35.1与frps端版本一致:

    • 之后等待其下载映像即可:

    • 双击0.35.1版本,勾选“使用高权限执行容器”,然后点击“高级设置”

    • 将上文准备好的frpc.ini文件上传至群晖中的任意一个文件夹并填入此处,最终效果如下:

    • 设置网络:

    • 然后应用,然后下一步,然后应用:

    • 最后确认刚刚创建的容器是否正常运行,需要查看日志。查看日志的方法如下:

    • 如果设置成功了,会有很多日志,并且有明显的提示,如:与服务端认证成功:

    • 到此就可以通过公网地址访问我们的群晖了:

      例如:
      nas.baidu.com:5000
      
原文地址:https://www.cnblogs.com/lisicn/p/14582367.html