V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
fouzhe2015
V2EX  ›  macOS

外部电脑如何访问 MacOS 热点局域网内的设备

  •  
  •   fouzhe2015 · 2023-03-24 23:52:33 +08:00 · 1206 次点击
    这是一个创建于 640 天前的主题,其中的信息可能已经有所发展或是发生改变。
    我有一台 Ubuntu20.04 台式机和一台 Mac ,台式机和 Mac 在同一个 zerotier 虚拟局域网下。
    Mac 连接网线并启用了互联网共享(充当热点),因此,Mac 的热点有一个本地局域网。
    Mac 没有开启网络防火墙。

    我的需求是使用台式机连接 Mac 热点局域网中的设备。

    基本信息:

    台式机:
    - zerotier ip: 10.144.27.4
    Mac:
    - zerotier ip: 10.144.27.1
    - 热点局域网 ip: 192.168.2.1
    目标设备:
    - 热点局域网 ip: 192.168.2.7

    首先,我在台式机上新增路由规则 `ip route add 192.168.2.0/24 via 10.144.27.1`;
    然后,在 mac 上开启了 IP 转发功能 `sudo sysctl -w net.inet.ip.forwarding=1`;

    此时,在台式机上 `ping 192.168.2.1` 能 ping 通,但 `ping 192.168.2.7` 还是不行;
    在 Mac 上使用 Wireshark 抓包,能抓到 10.144.27.4 到 192.168.2.7 的 ICMP Echo Request 报文,且有 192.168.2.7 到 10.144.27.4 的 ICMP Echo Reply 回复报文,因此可以推断,192.168.2.7 到 10.144.27.4 的链路出现了问题,这是为什么呢?请问该如何解决?
    6 条回复    2023-03-25 09:54:22 +08:00
    xtinput
        1
    xtinput  
       2023-03-24 23:58:54 +08:00
    要不用端口映射?
    用 socat 把 10.144.27.1 的端口流量转发到 192.168.2.7
    fouzhe2015
        2
    fouzhe2015  
    OP
       2023-03-25 00:06:15 +08:00
    @xtinput 请问是指在 10.144.27.1 监听某个 /些端口,将端口流量映射到 192.168.2.7 的对应服务端口上?这种在端口比较多的情况下是否有便捷的方法呢?
    xtinput
        3
    xtinput  
       2023-03-25 00:27:11 +08:00
    @fouzhe2015 写个脚本,把要映射的端口都写在脚本里面,或者以参数的方式传入
    xtinput
        4
    xtinput  
       2023-03-25 00:37:31 +08:00
    https://github.com/darvintang/dvtvmcli/blob/main/bin/dvtsocat 我封装了一个简单的脚本,你可以在这个基础上让它支持多端口
    fouzhe2015
        5
    fouzhe2015  
    OP
       2023-03-25 08:58:38 +08:00
    @xtinput 感谢感谢,我去试试!
    不过我还是有点好奇我原有的方案哪里出现了问题,求指点
    geekzjj
        6
    geekzjj  
       2023-03-25 09:54:22 +08:00 via Android
    台式机上没有回程路由
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3076 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 26ms · UTC 13:00 · PVG 21:00 · LAX 05:00 · JFK 08:00
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.