Wray Lee
Articles35
Tags0
Categories0

Archive

zerotier配置

zerotier配置

zerotier配置

moon

cd /var/lib/zerotier-one	#定位到主机的密钥位置
sudo zerotier-idtool initmoon identity.public > moon.json	#生成moon配置
修改stableEndpoints参数	"主机ip/9993"	并保存推出
zerotier-idtool genmoon moon.json	#生成签名
mkdir moons.d
mv 00000*.moon moons.d/

最后复制签名文件到客户端
linux位于/var/lib/zerotier-one/moons.d	自行创建moons.d文件夹
windows位于C:\Programdata\zerotier\one\moons.d	自行创建moons.d文件夹

路由转发

开启内核转发功能

sudo sysctl -w net.ipv4.ip_forward=1

v6同理


更优选择

echo "net.ipv4.ip_forward=1" >> /etc/sysctl.conf
echo "net.ipv6.conf.default.forwarding=1" >> /etc/sysctl.conf
echo "net.ipv6.conf.all.forwarding=1" >> /etc/sysctl.conf
sysctl -p

关闭严格模式

echo "net.ipv4.conf.default.rp_filter=0" >> /etc/sysctl.conf
echo "net.ipv4.conf.all.rp_filter=0" >> /etc/sysctl.conf
sysctl -p

解释

rp_filter

​ 是 Linux 内核针对网络的一项网络安全保护功能,对于数据包的来源地址和来源网络界面(网卡)进行检查:

  • 如果设置为 0(即禁用),放行所有数据包。

    • 但是有些无法正常回复(路由表内没有对应项目)的数据包也会被发给应用程序处理,消耗额外的系统资源。
    • 不过额外消耗应该很小,因此上述两项设置为 0 也没问题。
  • 如果设置为 1(严格模式),如果数据包来源网卡不是发送这个数据包的最优网卡(也就是如果你本机要回复这个地址的话,会选择一张不同的网卡),就把这个数据包

    丢掉

    • 来源和回复在不同网卡是 DN42 内非常常见的情况,因此 千万 一定 绝对 不能把 rp_filter 设置成 1!
  • 如果设置为 2(宽松模式),

    从理论上来说

    ,如果数据包来源地址不在路由表内(也就是本机不知道要怎么回复这个地址),就把这个数据包丢掉。

    • 但是理论归理论,在新版本(5.0+)的内核中,实际使用中依然会有大量来源地址正确的正常数据包被丢弃。因此不要使用这个模式,请统一使用 0。
  • 然后,千万 一定 绝对 关掉你的 UFW 等帮你简单配置 iptables 防火墙的工具。

添加防火墙规则

sudo iptables -t nat -A POSTROUTING -o $PHY_IFACE -j MASQUERADE
sudo iptables -A FORWARD -i $PHY_IFACE -o $ZT_IFACE -m state --state RELATED,ESTABLISHED -j ACCEPT
sudo iptables -A FORWARD -i $ZT_IFACE -o $PHY_IFACE -j ACCEPT
iptables-save	#保存
Author:Wray Lee
Link:http://blog.wray7.top/2023/09/04/Network/%E7%BB%84%E7%BD%91/zerotier%E9%85%8D%E7%BD%AE/
版权声明:本文采用 CC BY-NC-SA 3.0 CN 协议进行许可