请教一个 zerotier 异地组网的问题

310 天前
 lujiang188
同城两个房子都是打算用 zerotier 异地组网,A 地和 B 地都是 192.168.31.0/24 网段,各自都是 192.168.31.1 为主路由,192.168.31.2 为旁路由,zerotier 跑在各自的旁路由 192.168.31.2 上,其余地址静态分派,大体是 A 地房子用 192.168.31.31-192.168.31.100 ,B 地用 192.168.31.101-192.168.31.200 ,以上分段是初步想法不精确,想要 zerotier 达到的效果是 AB 两地走 192.168.31.1 和 192.168.31.2 走各自本地,其余地址按 AB 两地分段访问,请问可否实现?
1425 次点击
所在节点    宽带症候群
10 条回复
szdosar
310 天前
以我的经验,不建议 AB 两地都使用 192.168.31.0/24 网段。错开安排比如 A 用 31 ,B 用 32 ,你的问题迎刃而解。
lujiang188
310 天前
@szdosar 因为两地同时在旁路由上跑很多服务,尤其是多台手机 pad 两地来回换,旁路由地址如果不同很影响使用。
szdosar
310 天前
好吧,“多台手机 pad 两地来回换”、“旁路由上跑很多服务”,我猜你是手动指定了设备的网关?
解决方案:
如果你的主路由用 openwrt ,
可以让主路由通过 DHCP 分发网关 ip 给特定设备。
编辑/etc/config/dhcp 文件,
在文件中,你需要找到你的 LAN 接口的配置部分,
添加一个新的配置部分来为特定的 MAC 地址指定一个特定的网关。
例如:
config host
option name 'device1'
option mac 'mac1'
option ip 'ip1'
option gateway '192.168.31.2'
在这个例子中,你需要将'mac1'替换为你的设备的实际 MAC 地址,
将'ip1'替换为你想要分配给该设备的 IP 地址。
重启 DHCP 服务器以使更改生效/etc/init.d/dnsmasq restart
这只会影响特定的 MAC 地址。
所有其他的设备仍然会使用默认的网关地址(在这个例子中是 192.168.31.1 )。
同理,你的另外一个房子也可以这么做。
真的建议你区分网段。
ShineyWang
310 天前
在 openwrt 的 Dnsmasq 中可以设置自定义挟持域名
本地服务都用.local 域名

然后域名指向不同的 IP 就可以按域名访问服务了
timelessland
310 天前
如果是我,应该是 AB 两地都是 192.168.31.0/23 ,主路由和旁路由地址可以保持一致的同时,
AB 两地继续使用 DHCP 分配地址(物联网时代静态太麻烦了),A 地 DHCP 地址池屏蔽 32.0/24 网段的,B 地 DHCP 地址池屏蔽 31.0/24 网段的
xhcnb
310 天前
不换网段实现不了, 比如你在 A 地要访问 192.168.31.101 , 这对 A 地的设备来说是一个本地地址, 根本不会发给网关, 也就没有让 zerotier 隧道再处理的机会了
simplove
310 天前
1 ,分两个不同的网段,不然你 zerotier 上面的路由没法做。
2 ,对于要来回两地换的设备,在路由器上面分配静态 IP 地址,其它不用来回切的设备 DHCP 。
3 ,DHCP 服务器由主路由接管,分配的网关填写旁路由即可。旁路由关闭 DHCP 服务。
ybw810
310 天前
szdosar
309 天前
@szdosar 抱歉,这个内容有点误导。在 OpenWrt 的 DHCP 配置中,config host 部分并不支持 option gateway 选项。这是因为 DHCP 协议的设计就是为了提供一种简单的方式来自动分配网络配置,包括 IP 地址、子网掩码、默认网关等。在大多数情况下,所有的设备都会使用相同的网关,因此 DHCP 协议并没有提供一种方式来为不同的设备分配不同的网关。

所以,openwrt 为不同的设备分配不同的网关这个功能暂时无解。
szdosar
309 天前
通过这个方法,在 openwrt 只为特定设备指定不同的网关
编辑/etc/dnsmasq.conf 配置文件
在文件末尾,为每个设备添加以下字段
dhcp-option=net:device1,3,192.168.31.2
dhcp-host=xx:xx:xx:xx:xx:xx,set:device1
重启 dnsmasq 服务/etc/init.d/dnsmasq restart
亲自验证有效。这里假定你要制定的网关是 192.168.31.2

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/954488

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX