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

2023-03-24 23:52:33 +08:00
 fouzhe2015
我有一台 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 的链路出现了问题,这是为什么呢?请问该如何解决?
1012 次点击
所在节点    macOS
6 条回复
xtinput
2023-03-24 23:58:54 +08:00
要不用端口映射?
用 socat 把 10.144.27.1 的端口流量转发到 192.168.2.7
fouzhe2015
2023-03-25 00:06:15 +08:00
@xtinput 请问是指在 10.144.27.1 监听某个 /些端口,将端口流量映射到 192.168.2.7 的对应服务端口上?这种在端口比较多的情况下是否有便捷的方法呢?
xtinput
2023-03-25 00:27:11 +08:00
@fouzhe2015 写个脚本,把要映射的端口都写在脚本里面,或者以参数的方式传入
xtinput
2023-03-25 00:37:31 +08:00
https://github.com/darvintang/dvtvmcli/blob/main/bin/dvtsocat 我封装了一个简单的脚本,你可以在这个基础上让它支持多端口
fouzhe2015
2023-03-25 08:58:38 +08:00
@xtinput 感谢感谢,我去试试!
不过我还是有点好奇我原有的方案哪里出现了问题,求指点
geekzjj
2023-03-25 09:54:22 +08:00
台式机上没有回程路由

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

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

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

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

© 2021 V2EX