当前位置:   article > 正文

黑/白群晖 安装 zerotier-docker 完美版_zerotier docker

zerotier docker

黑/白群晖 安装 zerotier-docker 完美版

前言

由于对象需要存照片和视频,256g已经塞不下了,于是前两天在咸鱼买了个星际蜗牛,由于卖家已经刷好了 6.23 版本,官网套件无法安装,于是又重刷了一下 7.2 版本系统,通过矿神的套件源安装zerotier,但是发现路由功能有问题,我无法用内网ip访问路由器的后台,多次百度无果,想到之前折腾openwrt,于是尝试自己干,经过多次尝试,有了本次教程,如果哪里说的不对还请指出。

  • 目的

    • 正常使用 zerotier 并且能正常使用zerotier的自定义路由功能
    • 重启依然完美的正常运行
  • docker 安装 zerotier 好处

    • [硬伤] ds 6.x 不支持从套件安装zerotier,只能升级ds 7.x
    • [硬伤]无法自己选择版本,如最官网最新版是1.10.6,套件版本1.10.2
    • 那种同样的软件喜欢在 docker和套件中,选docker跑软件的
    • 网上教程都无法完美达到想要的效果,总感觉差点东西,重启总有问题
  • 缺点

    • 第一次配置较为麻烦,对linux、群晖纯小白不友好

1. 拉取最新版镜像

  • 镜像网站:https://hub.docker.com/

  • 搜索:zerotier-synology

  • 获得下面最新版拉取最新版镜像命令

    docker pull zerotier/zerotier-synology
    
    • 1

    如果你docker注册表能用也可以通过注册表拉取

2. 安装映像

  • 进入群晖docker面板,进入 映像 ,启动 zerotier-synology 镜像
  • 注意需要映射一个文件夹 /var/lib/zerotier-one

3. 创建 tun 模块

  • 检查是否安装了 tun 模块:

    lsmod | grep tun
    
    • 1
  • 如果结果为空,请尝试安装它:

    insmod /lib/modules/tun.ko
    
    • 1
  • 查看 TUN 的运行状态

    ls /dev/net/tun
    
    • 1

    返回为 /dev/net/tun 即可

  • 再次查看 tun 是否安装完成

    lsmod | grep tun
    
    • 1

5. 加入网络

  • docker exec -it 容器名称 zerotier-cli join 网络id
    
    • 1

4. 开启IP转发

  1. 在群晖系统 /etc/sysctl.conf 中增加

    (ipv6按需,没的话可以不加)

    net.ipv4.ip_forward=1
    net.ipv6.conf.all.forwarding=1
    
    • 1
    • 2

5. 添加群晖任务计划

  • 开启tun模块

    insmod /lib/modules/tun.ko
    
    • 1
  • 查看网卡信息

    ifconfig
    
    • 1
    1. 需要记住两个网卡名字,一个是群晖内网网卡,一个是zerotier的网卡

    2. 内网网卡的ip的地址是你的内网网卡,一般名字为eth0

    3. zerotier网卡ip的地址是zerotier分配的ip,一般名字为 ztxxxxxx

    4. 如果tun模块没有开启的话,zerotier是无法成功运行的

  • 添加规则到iptables

    ## 必须是zero启动以后才能设置,所以需延迟
    sleep 1m
    ##设置与自己情况对应的环境状况
    PHY_IFACE=内网网卡名称; ZT_IFACE=zerotier网卡名称
    sudo iptables -t nat -A POSTROUTING -o $PHY_IFACE -j MASQUERADE
    sudo iptables -A FORWARD -i $PHY_IFACE -o $ZT_IFACE -m state --state RELATED,ESTABLISHED -j ACCEPT
    sudo iptables -A FORWARD -i $ZT_IFACE -o $PHY_IFACE -j ACCEPT
    iptables-save
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
  • 最终任务计划为:

    • 执行脚本用户为:root !!!

    • 自定义代码

      insmod /lib/modules/tun.ko
      sleep 1m
      PHY_IFACE=内网网卡名称; ZT_IFACE=zerotier网卡名称
      sudo iptables -t nat -A POSTROUTING -o $PHY_IFACE -j MASQUERADE
      sudo iptables -A FORWARD -i $PHY_IFACE -o $ZT_IFACE -m state --state RELATED,ESTABLISHED -j ACCEPT
      sudo iptables -A FORWARD -i $ZT_IFACE -o $PHY_IFACE -j ACCEPT
      iptables-save
      
      • 1
      • 2
      • 3
      • 4
      • 5
      • 6
      • 7
  • 试试重启你的群晖,重启完毕,等待至少1分钟以后,看看效果

6. 教程引用

  • 本教程通过以下教程多次亲测得到最终整合版
  1. [简书]zerotier访问局域网内所有电脑
  2. [矿神]利用群晖Zerotier套件虚拟组网 打通多个局域网互访
  3. [知乎]群晖DSM7安装Docker版Zerotier教程(官方版)
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Gausst松鼠会/article/detail/157072
推荐阅读
相关标签
  

闽ICP备14008679号