V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
tyhunter
V2EX  ›  问与答

Zerotier 如何才能暴露整个网段内的所有设备?

  •  1
     
  •   tyhunter · 2020-02-08 00:58:10 +08:00 · 8380 次点击
    这是一个创建于 1539 天前的主题,其中的信息可能已经有所发展或是发生改变。
    在 N1 上安装了 zerotier,尝试了下 Mac 可以访问到 N1 后台,但同网段下还有 NAS,PC,Debian 等设备,逐一安装 zerotier 比较麻烦,请教下大佬们,有没有办法能够一次性通过 N1 上的 zerotier 暴露整个 192.168.123.0/24 网段,让这个网段内的所有设备都能在 Mac 上访问到
    19 条回复    2020-02-10 07:14:26 +08:00
    saluton
        1
    saluton  
       2020-02-08 01:10:50 +08:00   ❤️ 2
    N1 开启 ipv4.forward
    Zerotier 控制台添加路由表 192.168.123.0/24 via N1
    N1 添加两条 iptables 命令转发(配置 VPN 那种,具体命令你查一下)
    Mac 端可能也要添加一条路由表 192.168.123.0/24 via N1
    saluton
        2
    saluton  
       2020-02-08 01:11:54 +08:00   ❤️ 1
    #1 MAC 端应该不用添加,控制台配置过就行了
    qinghon
        3
    qinghon  
       2020-02-08 01:17:03 +08:00 via Android   ❤️ 1
    用 bridge 也可以,在 n1 建个 bridge 把,eth0 加到 bridge 里去,连上 zerotier 后把也加到 bridge 里去,这其他设备可用 dhcp 直接获得 123.0/24 的 ip
    Kaiyuan
        4
    Kaiyuan  
       2020-02-08 02:52:42 +08:00   ❤️ 1
    如果你的 N1 是做路由,基本做一下转发就可以了,如果 N1 不是路由,则需要路由上添加路由表指向 N1,同时 zerotier 上也要设置路由表和允许 N1 转发。

    我自己的操作: https://blog.boxks.com/archives/zerotier-0ffsite-networking/
    tyhunter
        5
    tyhunter  
    OP
       2020-02-08 02:56:30 +08:00
    @saluton 感谢大佬的回复,我试着操作了下,但还是没法找到其他设备
    1、ZT 分配的 IP 端为 192.168.192.0/24,现实网段为 192.168.123.0/24
    2、ZT 控制台路由表我是这么设置的:
    192.168.123.0/24 via 192.168.192.66 (这个为 N1 的 ZT 地址)
    3、iptables 我添加了下面两条:
    iptables -A FORWARD -d 192.168.192.0/24 -j ACCEPT
    iptables -t nat -A POSTROUTING -j MASQUERADE
    4、直接访问 192.168.192.2 ( NAS 地址,对应 192.168.123.2 )并不行,用了下扫描工具扫了下 192.168.192.0/24 网段,也只知道 N1


    @qinghon 这个好高级,一时竟然没有理解
    tyhunter
        6
    tyhunter  
    OP
       2020-02-08 03:03:08 +08:00
    @Kaiyuan 感谢提供这么详细的教程,我操作下试试
    hiplon
        7
    hiplon  
       2020-02-08 07:45:40 +08:00 via Android   ❤️ 1
    建议做端口转发会比暴露整个内网好
    yzwduck
        8
    yzwduck  
       2020-02-08 09:26:03 +08:00   ❤️ 1
    @tyhunter #5 楼上 Kaiyuan 已经说了,我再说直白一些。
    我猜你没有在路由器上配静态路由。
    你做完这几步后,去程 Mac > N1 > NAS 的路由是通的,返程预期的路由是 NAS > 路由器 > N1 > Mac,但实际上 NAS > 路由器 > 默认 WAN 网关(丢包)。
    你需要在路由器(而不仅仅是 N1 )上,配置一条 192.168.192.0/24 via 192.168.123.xxx (N1 地址) 的静态路由。
    以及,推荐使用 ping、tcpdump 等工具,来能调试这种网络问题。
    yzwduck
        9
    yzwduck  
       2020-02-08 09:29:53 +08:00   ❤️ 1
    刚才说的有点歧义,最后第二句改为:
    你不仅仅需要在 N1 上配置防火墙,允许讲 ZT 流量转发到 192.168.192.0/24 ;还需要在路由器上,配置一条 192.168.192.0/24 via 192.168.123.xx (N1 地址) 的静态路由,来修正返程路由。
    yzwduck
        10
    yzwduck  
       2020-02-08 09:36:38 +08:00   ❤️ 1
    哭,我的网络基础全部还给老师了…允许我再修正一下说法,如果我猜想的大前提错了的话,还请原谅我的频繁发帖。
    你不仅需要在 N1 上配置防火墙,允许将 ZT 流量转发到 192.168.123.0/24 ;还需要在路由器上,配置一条 192.168.192.0/24 via 192.168.123.xx (N1 地址) 的静态路由,来修正返程路由。
    hawhaw
        11
    hawhaw  
       2020-02-08 10:04:52 +08:00 via Android   ❤️ 1
    楼上所说的主路由上的静态路由应该是不用做的
    hawhaw
        12
    hawhaw  
       2020-02-08 10:05:57 +08:00 via Android   ❤️ 1
    因为 zt 控制端配好了之后各个节点都会知道的
    yzwduck
        13
    yzwduck  
       2020-02-08 10:31:20 +08:00   ❤️ 1
    @hawhaw zt 是会帮忙加路由规则,但只有加入 /运行 zt 的设备才会自动配置;如果要在非路由器上用 zt 来路由两个网段,就需要手工在路由器上配静态路由了。
    hawhaw
        14
    hawhaw  
       2020-02-08 10:52:38 +08:00 via Android   ❤️ 1
    @yzwduck 你说的这两点是对的
    saluton
        15
    saluton  
       2020-02-08 16:40:19 +08:00   ❤️ 2
    @tyhunter #5
    3、第二条后面可能要加一个 -o eth0,不大确定
    iptables -t nat -A POSTROUTING -j MASQUERADE -o eth0
    4、你试试在 mac 上 ping 192.168.123.2 呢?

    @yzwduck #10
    我理解的是 iptables forward 之后会修改 src IP 地址,路由器那一条静态路由应该是不用配的
    yzwduck
        16
    yzwduck  
       2020-02-08 17:14:11 +08:00   ❤️ 1
    @saluton 原来如此,是在 ZT 节点上配置 DNAT。我 iptables 用得太少,没有看出来。
    yzwduck
        17
    yzwduck  
       2020-02-08 17:17:05 +08:00   ❤️ 1
    又说错了…是配置 SNAT。
    whywhywhy
        18
    whywhywhy  
       2020-02-09 14:31:30 +08:00 via Android   ❤️ 1
    所以说这类组网应用,不支持服务器直接推送路由表下去是多么的不方便啊!
    hawhaw
        19
    hawhaw  
       2020-02-10 07:14:26 +08:00 via Android
    这种问题,其实自己画画图,包根据路由从哪儿到哪儿,源地址目标地址源 Mac 地址目标 Mac 地址是怎么变的,先自己弄清楚了,再去几个关键的地方听下包验证下,自然就知道问题在哪里了
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   2947 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 29ms · UTC 13:23 · PVG 21:23 · LAX 06:23 · JFK 09:23
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.