前言

最近正好多了一台笔记本,平时办公使用,因此为了随时可以访问电脑上的数据,这台电脑基本上在办公室24h开机状态。

于是就在这台电脑上装了个群晖,有时候在外面也方便我访问文件。

由于是ipv4的网络,还没有ipv6,本打算使用ddns动态解析域名的方式也不行,只能通过zerotier或者tailscale来进行内外穿透。

Zerotier方法

根据 官网的介绍 :DSM 7 不允许第三方应用程序以 root 身份运行。因此,我们现在建议使用 Docker 来运行 ZeroTier。虽然一开始这有点不方便,但不可否认,这是在 NAS 上运行第三方应用程序的一种更安全的方式。但是在重启或者升级系统后,无需重新配置。

1.安装Docker

群晖在DSM7中Docker改名为 ContainerManager,在套件中心搜索即可。

如果找不到Docker,前往 群晖官网spk下载地址:https://archive.synology.com/download/Package/ContainerManager 下载进行手动安装。

2.连接ssh

在控制面版的终端机和SNMP中,启动SSH功能 打勾,点击应用。

通过putty或者mobaxterm等ssh工具连接,输入用户名和密码。

  1. 切换到root用户

    1
    sudo -i
  2. 写入脚本

    1
    echo -e '#!/bin/sh -e \ninsmod /lib/modules/tun.ko' > /usr/local/etc/rc.d/tun.sh
  3. 设置可执行权限

    1
    chmod a+x /usr/local/etc/rc.d/tun.sh
  4. 运行一次脚本以创建 TUN

    1
    /usr/local/etc/rc.d/tun.sh
  5. 检查一下

    1
    2
    ls /dev/net/tun
    # 返回值为 /dev/net/tun

3.安装zerotier

继续在终端中输入以下命令:

  1. 创建ZeroTier目录

    1
    mkdir /var/lib/zerotier-one
  2. 拉取安装镜像

    1
    2
    3
    4
    5
    6
    7
    8
    docker run -d           \
    --name zt \
    --restart=always \
    --device=/dev/net/tun \
    --net=host \
    --cap-add=NET_ADMIN \
    --cap-add=SYS_ADMIN \
    -v /var/lib/zerotier-one:/var/lib/zerotier-one zerotier/zerotier-synology:latest
  3. 加入自己的网络

    1
    docker exec -it zt zerotier-cli join networkID  #替换networkID为你的networkID

    稍等片刻即可在zerotier的网站后台看到加入的群晖了。

Tailscale方法

Tailscale相对来说就比较简单一点了,前往 Synology packages 下载对应系统的spk软件。

在套件中心中点击手动安装,选中下载的spk文件,安装即可。

安装完成后打开,会跳转到tailscale网站,登录后连接即可。

最后

在我试过这两个软件后,优先推荐zerotier,速度比较快而且稳定。tailscale遇到过几次速度慢的情况,但是影响也不是很大。根据个人需求使用吧。或者两个都安装以便不时之需。