ZeroTier 是一家采纳收费商业模式的软件公司,其提供专有软件、SDK 以及商业产品和服务,用于创立和治理虚构软件定义网络。该公司的旗舰终端用户产品 ZeroTier One 是一个客户端应用程序,可使个人电脑、智能手机、服务器和嵌入式设施等设施平安地连贯到点对点虚构网络。

首先通过 GitHub 账户登录 ZeroTier Central ,建设一个虚构网络,并为其配置 IP 地址段。这个网段将作为园区网入口服务器、家庭网络小路由器以及各种其余客户端之间的互联地址。ZeroTier 可能把为这个网络配置的路由信息流传到每个连贯到这个网络的设施上,这样就能够灵便的配置接入设施及网络间的相互拜访了。

1. Linux 客户端软件装置配置

依照 ZeroTier 下载 页面提醒,就能够失常装置软件。装置后能够通过如下命令退出 ZeroTier Central 上建设的网络:

sudo zerotier-cli join <your_network_id>

而后须要在 ZeroTier Central 配置 Members 容许拜访并欠缺各种信息,之后该零碎就能够拜访这个网络了。对于 ZeroTier 网络路由中配置了==公网地址路由表项==的状况,还须要做如下配置,能力使这类路由失效:

sudo zerotier-cli set <your_network_id> allowGlobal=1

2. Debian Linux 园区网入口服务配置

对于园区网这种存在多跳路由的大规模网络的近程拜访,能够通过设置一个 NAT 入口服务器来实现。

首先也依照官方网站的要求装置并配置服务,利用 zerotier-cli 命令以及 ZeroTier Central 配置 Members 并减少拜访园区网网段的路由表项。在此基础上再进一步配置服务器的 NAT 性能,将 /etc/sysctl.conf 文件中的 net.ipv4.ip_forward=1 勾销正文。而后执行如下脚本;

#!/bin/shsudo sysctl -w net.ipv4.ip_forward=1PHY_IFACE=eth0ZT_IFACE=$(ip link | grep -oP 'zt\w+')sudo iptables -t nat -A POSTROUTING -o $PHY_IFACE -j MASQUERADEsudo iptables -A FORWARD -i $PHY_IFACE -o $ZT_IFACE -m state --state RELATED,ESTABLISHED -j ACCEPTsudo iptables -A FORWARD -i $ZT_IFACE -o $PHY_IFACE -j ACCEPTsudo apt install iptables-persistentsudo systemctl enable netfilter-persistent.servicesudo iptables-save -f /etc/iptables/rules.v4

须要留神的是,docker 之类的程序会更改 iptables 的配置,倡议执行上面命令,停掉 docker 服务并清空 iptables 规定,再执行下面的脚本。

sudo systemctl stop docker.socketsudo iptables -Fsudo iptables -Xsudo iptables -Zsudo iptables -t nat -Fsudo iptables -t nat -Xsudo iptables -t nat -Z

3. OpenWRT 家庭网络小路由器配置

首先装置 zerotier 软件包,配置服务开机主动启动,批改 /etc/config/zerotier 配置如下:

config zerotier 'zerotier'    option enabled '1'    option config_path '/etc/zerotier'    option copy_config_path '0'

而后执行 /etc/init.d/zerotier start 命令启动服务,利用 zerotier-cli 命令以及 ZeroTier Central 配置 Members 并减少拜访家庭网络内部网段的路由表项。

ZeroTier 配置结束后,利用 ip address 命令确定新增网络接口(zt 结尾接口),并编辑 /etc/config/network 文件,减少相似如下内容:

config interface 'zerotier'    option proto 'none'    option ifname 'zt7nnm42cx'    option auto '1'    option delegate '0'

编辑 /etc/config/firewall 文件,减少如下内容:

config zone    option name 'zerotier'    option input 'ACCEPT'    option output 'ACCEPT'    option forward 'REJECT'    option network 'zerotier'config forwarding    option src 'lan'    option dest 'zerotier'config forwarding    option src 'zerotier'    option dest 'lan'

重新启动 OpenWRT 零碎,就能够对家庭网络进行近程拜访了。