V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
lujiang188
V2EX  ›  宽带症候群

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

  •  
  •   lujiang188 · 297 天前 via iPhone · 1405 次点击
    这是一个创建于 297 天前的主题,其中的信息可能已经有所发展或是发生改变。
    同城两个房子都是打算用 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 两地分段访问,请问可否实现?
    10 条回复    2023-07-07 15:23:03 +08:00
    szdosar
        1
    szdosar  
       297 天前
    以我的经验,不建议 AB 两地都使用 192.168.31.0/24 网段。错开安排比如 A 用 31 ,B 用 32 ,你的问题迎刃而解。
    lujiang188
        2
    lujiang188  
    OP
       297 天前 via iPhone
    @szdosar 因为两地同时在旁路由上跑很多服务,尤其是多台手机 pad 两地来回换,旁路由地址如果不同很影响使用。
    szdosar
        3
    szdosar  
       297 天前   ❤️ 1
    好吧,“多台手机 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
        4
    ShineyWang  
       297 天前
    在 openwrt 的 Dnsmasq 中可以设置自定义挟持域名
    本地服务都用.local 域名

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

    所以,openwrt 为不同的设备分配不同的网关这个功能暂时无解。
    szdosar
        10
    szdosar  
       296 天前
    通过这个方法,在 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
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   2687 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 15:34 · PVG 23:34 · LAX 08:34 · JFK 11:34
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.