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

组网回家新问题:苹果判断同 id 两设备同局域网的方法是?如何构建这种场景进行电话接力?

  •  
  •   neos2014 · 7 天前 · 792 次点击

    RT ,已知同 id 的两个(或多个)设备(比如两 iPhone 或者 1iPhone+1macOS 电脑),在局域网的情况下,可以完美做到无缝对接,比如收到短信,两边都提醒。来电(不限于 FaceTime )也可以完美的就近随便拿一个起来接听。家里都是苹果设备并且同 id 的时候,简直不要太方便。 现在问题是,假设一个手机放家中,一个手机在外,我测试了通过 openVN 或者 zerotier 连入家中,意图制造在外的手机也加入家中局域网。但结果都无法接到家中手机的电话。 所以,问题是,官方是怎么判断多设备在同网络,并且该如何构建一个电话也能转接的回家场景? ps:短信因为云端同步的方式可以实现非同局域网即时获知的。

    第 1 条附言  ·  5 天前
    更新下:
    我的主路由梅林,旁路由 OP ,分别各自都安装了 avahi ,以及 openvpn ( avahi 连通 br0 和 tun21 ),手机通过流量+openvpn 连接,没有成功。
    可能存在问题:
    1 、我现在只有一条主网,所以手机得通过流量+ovpn 接入,看官网似乎必须得有 Wi-Fi 环境?
    2 、ovpn 貌似支持 TAP ,但是 iOS 上只有 tun ,看了一圈,似乎都在说 TAP 更友好
    3 、我测的 FaceTime 电话转接听,而非 AirPrint Finder 发现这些,似乎应该试试 finder 入手?
    今天空了准备再试一下,不行就试试在 vps 上创建一个 openvpn server ,然后全部设备通过不同方式 ovpn 接入,再试一试?
    20 条回复    2024-11-10 15:15:26 +08:00
    cleverlong
        1
    cleverlong  
       7 天前 via iPhone
    瞎猜,这个功能应该还会综合 GPS 和近场通讯芯片数据吧
    neos2014
        2
    neos2014  
    OP
       7 天前
    @cleverlong 但是很老的类似 iPhone5 啊 6 什么的,包括黑苹果什么的也都能正常参与到电话接力大家庭啊😂
    F798
        3
    F798  
       7 天前 via iPhone
    应该需要 mDNS 中继
    billlee
        4
    billlee  
       7 天前
    你的 openvpn 是 tun 还是 tap? 两边是同一个网段吗?
    Damn
        5
    Damn  
       7 天前 via iPhone
    月经贴
    /t/1014486
    humbass
        6
    humbass  
       7 天前 via Android
    就是判断是不是同一个物理局域网,无论什么 VPN 都不行,就是在家里,拨了 vpn 也不行。
    Damn
        7
    Damn  
       7 天前 via iPhone
    @Damn 而且根据实践,单向可接收 mdns 即可,不需要互相可达。
    只需要 A 侧向 B 侧 repeat ,B 侧能接收到即可,不要求 B 侧同时向 A 侧 repeat 。
    Damn
        8
    Damn  
       7 天前 via iPhone
    @humbass 你可以多看看资料和成功分享,多实践一下。无非就是 multicast 的中继。。。
    kyor0
        9
    kyor0  
       7 天前
    vpn 回去应该不是一个网段
    Puteulanus
        10
    Puteulanus  
       7 天前
    neos2014
        11
    neos2014  
    OP
       7 天前
    @Damn
    @Puteulanus
    感谢,v2 居然有讨论过了!不过看了一圈,还没有一个肯定的成功答案,我也可以去试试了 ,谢谢
    neos2014
        12
    neos2014  
    OP
       7 天前
    @Damn 老哥,你在另外一个帖子提到过完年去尝试,后面结果如何呀? thanks
    Damn
        13
    Damn  
       7 天前 via iPhone
    @neos2014 /t/1014486 #9 我说的 openwrt+mdns repeater 就是最简便的方法。
    配合本帖#7 我实践得出的结果。
    最简配置就是你在任一端有 mdns repeater (或者类似软件,也可以是 avahi ,但配置复杂一些),在 lan 和 VPN ( multicast on )这两个 interface 之间起作用即可。
    另一端能单向接收到 mdns 即可。
    cyp0633
        14
    cyp0633  
       6 天前
    tailscale 有个巨长的 issue ,说的就是这个问题。起码 L3 的 tailscale 还不支持 mdns
    zhs227
        15
    zhs227  
       6 天前
    一般是 mdns 。
    neos2014
        16
    neos2014  
    OP
       5 天前
    @Damn 如你所说,我试了下网段情况下,主网可以直接发现子网内的设备(拨打主网电话,子网电话同样会响)。但是子网无法发现主网的设备(播打子网电话主网不会响)。 不过我 vpn 还是没解决,可能在于我 vpn 是流量拨号来的?
    老哥,你之前测试成功的情况下,除 AirPrint 外,电话( FaceTime )有没有成功呼叫起来呢?
    neos2014
        17
    neos2014  
    OP
       5 天前
    @Puteulanus 谢谢,看了那两篇 post ,似乎除了 @piku 外,都并没有实践结果。我试了下,还是失败了(目前预判失败大概率跟流量卡+vpn 有关?)我目的是想把 FaceTime 打通,似乎更遥遥无期了😂
    neos2014
        18
    neos2014  
    OP
       5 天前
    @billlee 网段可以通过 mdns 中继,但似乎仅限于常见的 vlan 划分,这种 tun 的 vpn 似乎不太行(不确定),浅尝了下失败了。并且一个隐忧就是 iOS 没找到 TAP 的 vpn ,这有点难搞
    billlee
        19
    billlee  
       5 天前
    @neos2014 哦,对。移动端都是 tun 的,系统不会给 tap 权限。至于 mdns 中继,主要困难是 multicast 包无法被 openvpn tun 转发吧。看之前的 posts 里面是用 wireguard 做的,wireguard 在 linux 端是可以 multicast, 但不知道 ios 端能不能用
    Damn
        20
    Damn  
       5 天前 via iPhone
    @neos2014 噢,你是要支持双向主动发起,我是接电话的手机放在固定的地方了,所以只需要固定端的 mdns 转发出去就行。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1180 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 22ms · UTC 18:40 · PVG 02:40 · LAX 10:40 · JFK 13:40
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.