【笔记】OpenWRT部署Zerotier

前言

OpenWRT部署Zerotier

OpenWRT加入到Zerotier网络

下载依赖

1
opkg install zerotier

修改配置

开启开机自启

/etc/config/zerotier
1
option enabled 1

配置加入的网络

/etc/config/zerotier
1
list join '<network_id>'
配置多个加入的网络
/etc/config/zerotier
1
2
list join '<network_id_1>'
list join '<network_id_2>'

重启Zerotier

1
/etc/init.d/zerotier restart

在Zerotier控制器中授权OpenWRT

查看是否加入成功并获取虚拟网卡

1
zerotier-cli listnetworks

OK:加入成功
xxxxxxxxxx:虚拟网卡

1
2
200 listnetworks <nwid> <name> <mac> <status> <type> <dev> <ZT assigned ips>
200 listnetworks 0000000000000000 xxx_xxx xx:xx:xx:xx:xx:xx OK PRIVATE xxxxxxxxxx 192.168.0.0/24

OpenWRT的内网设备访问Zerotier网络内的设备

配置网络

  • 访问OpenWRT管理界面http://localhost/cgi-bin/luci/admin/

  • 网络->接口->添加新接口->名称自定义->协议选择不配置协议->设备选择刚刚查询到的虚拟网卡xxxxxxxxxx

  • 防火墙设置->创建/分配防火墙区域填入自定义名称->保存


  • 保存并应用

配置防火墙

配置网络接口的常规设置

  • 网络->防火墙->在Zerotier防火墙中选择编辑

  • 入站规则出站规则转发都选为接受->勾选IP动态伪装->允许转发到区域允许来自源区域的转发都勾选Lan

  • 保存并应用

配置通信规则

  • 网络->防火墙->通信规则

  • 添加

  • 自定义名称->源区域设置为任意区域(转发)->目标区域设置为设备(输入)->目标端口设置为9993->保存

  • 保存并应用

重启Zerotier

1
/etc/init.d/zerotier restart

如果OpenWRT是旁路由(可选)

如果主路由是iKuai

  • 网络设置->静态路由->静态路由->添加

  • 接口选择Lan->目的地址填写Zerotier的网段,以.0结尾->网关填写OpenWRT在局域网内的IP地址->保存

如果主路由是OpenWRT

  • 网路->路由->静态IPv4路由->添加

  • 接口选择Lan->目的地址填写Zerotier的网段,以.0/24结尾->网关填写OpenWRT旁路由在局域网内的IP地址->保存->保存并应用

Zerotier网络内的设备访问OpenWRT的内网设备

Zerotier控制器的配置

  • 访问Zerotier控制器https://my.zerotier.com/

  • Advanced配置中Destination配置为OpenWRT的内网网段、Via配置为OpenWRT在Zerotier网络域中被分配的IP地址->Submit

Zerotier网络内的设备访问OpenWRT内没有对外公开的内网服务

Zerotier控制器的配置

  • 访问Zerotier控制器https://my.zerotier.com/

  • Advanced配置中Destination配置为0.0.0.0/0Via配置为OpenWRT在Zerotier网络域中被分配的IP地址->Submit

客户端开启全隧道模式

  • Windows和MacO勾选Allow Default Router Override
  • IOS勾选Enable Default Route
  • Android勾选Route all traffic through ZeroTier. Requires external configuration of the network.
  • Linux使用zerotier-cli工具进行设置
1
zerotier-cli set <network_id> allowDefault=1

如果OpenWRT是主路由(可选)

  • OpenWRT作为主路由时,还需要在防火墙的允许转发到目标区域中添加Wan

完成

参考文献

哔哩哔哩——韩风Talk