【笔记】MacOS部署ZeroTier作为网关

前言

MacOS部署ZeroTier作为网关

MacOS加入到ZeroTier网络

下载依赖

1
brew install zerotier-one

加入网络

1
zerotier-cli join <network_id>

在ZeroTier控制器中授权MacOS

ZeroTier网络内的设备访问MacOS的内网设备

ZeroTier控制器的配置

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

  • Advanced配置中Destination配置为MacOS的内网网段(192.168.0.0/24)、Via配置为OpenWrt在ZeroTier网络域中被分配的IP地址(192.168.1.2)->Submit

开启IP转发

1
sudo sysctl -w net.inet.ip.forwarding=1

开机自启

1
echo "net.inet.ip.forwarding=1" >> /etc/sysctl.conf

配置防火墙

修改配置文件

  • anchor规则前添加3条nat规则,将来自ZeroTier的流量转发给MacOS所在的内网网关

en0:指定能够访问内网网关的网卡
192.168.0.1:指定内网网关
192.168.1.0/24:指定ZeroTier网段

/etc/pf.conf
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
# ZeroTier 选项配置
set skip on lo

scrub-anchor "com.apple/*"
nat-anchor "com.apple/*"

# ZeroTier 内网转发 NAT 规则
nat on en0 from 192.168.191.0/24 to 10.31.0.0/16 -> (en0)

rdr-anchor "com.apple/*"
dummynet-anchor "com.apple/*"
anchor "com.apple/*"
load anchor "com.apple" from "/etc/pf.anchors/com.apple"

# ZeroTier 放行所有转发
pass all

应用配置文件

1
sudo pfctl -e -f /etc/pf.conf

完成