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

Facetime 和 imessage 判断同一局域网的逻辑是什么?

  •  
  •   Damn · 290 天前 · 7560 次点击
    这是一个创建于 290 天前的主题,其中的信息可能已经有所发展或是发生改变。
    两个旧 iPhone 插着电话卡扔角落里接码,手持另一个 iPhone 。
    必须处在同一局域网的时候,手持 iPhone 可以通过 facetime 接到旧手机上的电话,imessage 可以通过旧手机发短信。

    经常待的几个地方都通过 wireguard 互联了。
    想了解一下其中的逻辑,如果是什么 udp 包的话,能不能通过路由器转发一下,让设备以为在同一局域网。
    9 条回复    2024-03-05 18:57:55 +08:00
    starryloki
        1
    starryloki  
       290 天前 via iPhone
    按照 Apple 的逻辑,大概率是 mDNS
    bobryjosin
        2
    bobryjosin  
       290 天前 via iPad
    routeros 用 eoip 隧道把两端的 bridge 连一起,打通二层网络,Linux 用 vxlan 也差不多的做法,做好地址段划分,防止冲突。
    msdurex
        3
    msdurex  
       290 天前 via iPhone
    mDNS
    msdurex
        4
    msdurex  
       290 天前 via iPhone
    你可以组 SD-WAN
    Damn
        5
    Damn  
    OP
       289 天前
    @starryloki
    @bobryjosin
    @msdurex 我各地都是 openwrt ,已经弄好 wireguard 了,不太想大动干戈。
    网上查了一下,似乎可以用 avahi 来达到目的,先去试试。
    lifengdepix
        6
    lifengdepix  
       289 天前 via iPhone
    我也十分感兴趣
    Damn
        7
    Damn  
    OP
       289 天前
    @lifengdepix 感兴趣你可以先尝试一下,我用 mdns 和 wireguard 做关键字检索出来一个帖子。
    https://www.reddit.com/r/WireGuard/comments/g80bxf/comment/hq3a47j/
    等过完年我再尝试,这几天过年了没带电脑回家。
    jsq2627
        8
    jsq2627  
       289 天前
    可以试试 avahi reflector mode

    我之前尝试过成功用 avahi reflector 把 wireguard 和家里局域网的 mdns 打通,AirPlay / Apple TV Remote / HomeKit 直连 / macOS file sharing 都可以顺利工作。
    Damn
        9
    Damn  
    OP
       261 天前   ❤️ 1
    @lifengdepix
    @jsq2627 发现 Openwrt(>= 22)上有更 easy 的方法。opkg install mdns-repeater ,然后指定 interface 即可。
    配合 Openwrt 的 hotplug ,在 wireguard 接口产生 ifup 事件的时候(一般都是宽带 7 天强制下线重拨 PPPoE)自动设置 multicast on 。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1011 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 22:04 · PVG 06:04 · LAX 14:04 · JFK 17:04
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.