内网穿透工具-zerotier
2018年08月14日

概述

zerotier是一个类似于n2n的p2p反向代理工具,基于p2p方式,所以带宽上限主要取决于客户端的网络访问瓶颈,而不用考虑中心服务器的带宽瓶颈,相比n2n来说,zerotier项目更活跃,而且对于android设备来说,客户端不需要root权限就可以正常使用。

安装部署

官方中心节点

  1. 在官方网站上注册帐号,创建自己的中心节点信息
    1. http://zerotier.com -> login -> networks -> create
    2. 记住Network ID(16为字符串)
    3. Name 设置一个好记的名字,方便区分链接的vpn
    4. AccessControl Certificate(Private Network) 采用认证方式,每个需要加入此网络的客户端,都需要在web后台上进行手动授权(一次性)才可以正常接入
    5. 可以自己设置个网段 Managed Routes (172.0.0.0/8)
    6. IPv4 Auto-Assign -> Advanced 172.0.0.1 - 172.0.0.255
  2. nas 下载对应的zerotier one客户端
    1. https://download.zerotier.com/RELEASES/ 下载DSM对应的版本spk文件
    2. 打开DSM web界面 - 手动安装 - 选择刚才的spk文件安装
    3. 打开zerotier控制界面,输入刚才的Network ID
    4. 在web zerotier 后台 -> Members -> 找到nas的mac,最前边打勾
    5. nas接入完成
  3. android下载对应的zerotier one客户端,很奇怪google play对zerotier锁区,所以只能通过第三方下载站下载
    1. 点击+图标,添加vpn网络
    2. 输入刚才的Network ID
    3. Route Via Zerotier(使用zerotimer路由)
    4. 激活这个VPN网络
    5. 在android弹出的VPN授权界面上,启用这个VPN
    6. 在web zerotier 后台 -> Members -> 找到android的mac,最前边打勾
    7. android接入完成

如果是其他系统

# 加入网络
zerotier-cli join <network_id>
# 查看网络状态
zerotier-cli info

# 自启动服务
systemctl start zerotier
systemctl enable zerotier

常见问题

zerotier 未找到tun设备

  1. 编辑内核
cd /usr/src/linux
make nconfig

增加配置

Device Drivers --->
  [*]  Network device support --->
        [*] Network core driver support
            <*> Universal TUN/TAP device driver support
  1. 重新编译内核
make && make modules_install
  1. 使用新内核
make install
genkernel --lvm initramfs
grub-mkconfig -o /boot/grub/grub.cfg
  1. 启用zerotier服务
systemctl enable zerotier
systemctl start zerotier
  1. 重启
reboot

常用链接

下载地址