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

Apple TV 做代理网关一文讲清楚

  •  
  •   383394544 · 11 小时 56 分钟前 · 2159 次点击

    搬到新家后买了个 Apple TV 7 用来满足日常娱乐需求和取代过去所用的软路由,真的很爽。有鉴于网上很多教程都在乱七八糟讲兼骗流量,不吐不快,特撰此文以正视听。 本文会以我用的华硕路由器和 Quantumult X 做说明,其他路由器和软件请自行举一反三。目前 Shadowrocket 、Quantumult X 、Surge 、Stash 的 Apple TV 版都支持网关模式。

    网络拓扑

    光猫 (拨号; 192.168.0.0/24) → 华硕路由器 (路由模式; 192.168.2.0/24; 192.168.2.1) → Apple TV (192.168.2.2) → 终端
    

    不要什么桥接、多拨、疊加带宽、NAT FullCone ,我们要简单粗爆地随插即用,打开电脑就能上网。有那些需求请买真正的软路由,Apple TV 就是个代理网关。

    Apple TV 做代理网关的条件

    • 支持 Threads 的型号 (eg. Apple TV 7 Ethernet 版)
    • 开启 HomeKit 家庭中枢功能 (不开不能做网关)
    • 外区 Apple ID (国区 ID 没法下载所需软件)

    Apple TV 网络设置

    手动设置如下

    • LAN IP: 192.168.2.2
    • LAN Mask: 255.255.255.0
    • LAN GW: 192.168.2.1
    • DNS (择一):
      • 192.168.2.2 (推荐; 正常情况设这个就好)
      • 192.168.2.1 (如果你的 QuanX DNS 设置里用到 system 需要设这个)
      • 198.18.0.2 (某些代理软件要设 Fake IP DNS Handler)
      • 192.168.0.1 or 公共 DNS (可以但没必要)

    路由器 DHCP 设置

    • LAN GW: 192.168.2.2
    • DNS: 192.168.2.2 (取消上游 DNS ,只留 Apple TV 的 IP), 198.18.0.2 (可选,有的代理软件要加这个)
    • 关闭 IPv6 (目前 ATV 网关方案都跟 IPv6 不兼容,只能关闭,有需求请用真正的软路由)

    有的路由器不支持改 DHCP 的默认网关,请直接换一台,或者在要代理的设备上手动指定网关。

    Quantumult X 设置

    启用"分流优化"和"始终开启",这样 Apple TV 重启时会自动打开 Quan X 。平常 Apple TV 在待机状态或关机时,代理软件都能运行。

    去广告和拦劫

    虽然 Apple TV 不是软路由,没法做细致的 DNS 设置,也不支持 Rewrite ,我们仍能通过 QuanX 的规则进行些简单的处理。例如将广告域名加入 reject 清单,或屏蔽 B 站 PCDN 域名。

    性能表现

    我出租屋签的浙江电信千兆宽带,配的千兆光猫不过 ATV 能跑 940M DL / 50M UL ,过 ATV 后直连或代理均能跑 800M DL / 50M UL;用机场节点转发我的 200 兆落地能跑满,Youtube 8K 测速也能跑满落地机的 200 兆。用机场节点跑 YT 我就不测了,超过 200 兆对观看体验提升有限。

    结论

    其实没什么好写的,因为操作就是这么简单,不知为何那些半桶水教程没一个写全的。Apple TV 可以做为代理网关满足一般人在家绝大多数的上网需求,但它不是软路由:不能拨号、不能管理 DHCP 、不能接管 IPv6 、不能装 Docker,有需求还是得用真正的软路由。所有说 Apple TV 能代替软路由的教程都吃使去吧。

    第 1 条附言  ·  11 小时 18 分钟前
    Apple TV 上的 QuanX 只有 Fake-IP 一种模式,所有 DNS 请求都要指向 QuanX 才能正确处理,所以终端设备一定要用 Apple TV 当 DNS ,至于 Apple TV 本身的 DNS 指向谁无所谓 (只会影响代理软件调用的系统 DNS)。终端设备 DNS 指向 ATV 的 LAN IP 和 DNS Handler (198.18.0.2) 的区别可能是缓存策略不一样?我用起来没感到差异,不过 Surge 一定要指向 198.18.0.2 才不会断流。
    41 条回复    2025-03-10 21:28:59 +08:00
    SakuraYuki
        1
    SakuraYuki  
       11 小时 47 分钟前
    当过一段时间的网关,偶尔并发请求多的时候会断开,后来 m4 mac mini 除了之后换 mac mini 当网关就没这问题了
    povsister
        2
    povsister  
       11 小时 42 分钟前 via iPhone   ❤️ 2
    感觉还是没讲清楚。
    dns 来回设置干什么用的
    qx 的哪些代理模式能用哪些不能用 为什么
    atv 代理本质是什么技术,那么多网段划分是什么用
    atv 和“软路由”技术实现上本质差异点是什么
    383394544
        3
    383394544  
    OP
       11 小时 40 分钟前
    @SakuraYuki 我在手机上用 speedtest 测速有时也会导致 Apple TV 的 QuanX 宕机,要重启整个 Apple TV ,不过用 speedtest.cn 测直连速度就不会。推测是 ATV 性能问题。你是一个人用还是多人使用?
    Tink
        4
    Tink  
       11 小时 39 分钟前
    其他的 app 测试了吗,有木有对比的
    totoro625
        5
    totoro625  
       11 小时 38 分钟前
    不能管理 DHCP 是 Quantumult X 的问题还是 Apple TV 的问题?我看 mac mini 上的 surge 是可以做 dhcp 的
    383394544
        6
    383394544  
    OP
       11 小时 38 分钟前
    @povsister Apple TV 上的 QuanX 只有 Fake-IP 一种模式,所有 DNS 请求都要指向 QuanX 才能正确处理,所以终端设备一定要用 Apple TV 当 DNS ,至于 Apple TV 本身的 DNS 指向谁无所谓。
    383394544
        7
    383394544  
    OP
       11 小时 36 分钟前
    @totoro625 QuanX 的问题可能,Surge 也许能真正替代软路由的一部分功能,我反感的是标题写替代软路由但内文却在说代理网关的误导性文章。
    383394544
        8
    383394544  
    OP
       11 小时 35 分钟前
    @Tink 目前没人综合对比过,不过普遍认为 Shadowrocket 性能最弱。
    383394544
        9
    383394544  
    OP
       11 小时 29 分钟前
    @povsister ATV 代理本质上是用 Network Extension 实现的透明代理,网段划分只是因为我想把内网 LAN 和光猫的 LAN 区分开来,你高兴的话完全可以只用光猫接交换机,让 ATV 和光猫在同一个内网里。还有本质差异点?你是在审论文还是写报告?软路由是软路由,Apple TV 是电视盒,本来就不是专业的路由器,这不很明显吗?
    coolmint
        10
    coolmint  
       11 小时 28 分钟前
    我是六代 tv ,我发现我的 surge 如果在 tv 里面软件更新了,代理会仍然在运行,tv 本身还有代理,但是网关功能失效,各种设备均会断网,必须打开电视重新手动开关一下 surge ,才行。
    383394544
        11
    383394544  
    OP
       11 小时 21 分钟前
    @povsister 要细究本质的话,都是流量转发,由于需要 Fake-IP ,QuanX 还会运行一个 DNS 服务劫持所有发往它的 udp53 请求。
    383394544
        12
    383394544  
    OP
       10 小时 58 分钟前
    既然标题写一文讲清楚,我还是多补充点我知道的部分吧,有讲漏或讲错欢迎大佬完善。(这样加上评论区内容也算是一文讲清楚了,笑)这个方案所有的流量都会到 ATV 上的代理软件过一遍,我认为就是代理网关,性质上和拿台 linux 笔记本装 Clash 然后写 iptables 把流量指过去差不多,所以我从头到尾没提到旁路由。缺点也很明显:NAT 会爆炸、直连性能损耗、ATV 单点故障会影响整个内网。胜在配置简单,少折騰,能满足大部分人日常需求;甚至你还能把 ATV 带着走,到新环境稍微设置下就能直接用。有更复杂需求的人请直接用软路由,如同文中一直强调的,Apple TV 不是软路由。
    SakuraYuki
        13
    SakuraYuki  
       10 小时 52 分钟前
    @383394544 #3 一个人用,不过我 nas 会挂 pt/bt ,连接数比较多
    383394544
        14
    383394544  
    OP
       10 小时 41 分钟前
    @383394544 让 NAS 走别的网关吧,有需要的话在 NAS 上运行它自己的代理软件。不过你有 NAS 为什么还要用 ATV 当网关?
    youthfire
        15
    youthfire  
       10 小时 36 分钟前
    用的 surge ,日常没问题,每次用百度云盘和阿里云盘下载,大概率 apple tv 崩溃,明明已经设置了 direct 。
    383394544
        16
    383394544  
    OP
       10 小时 32 分钟前
    @youthfire 那就是 ATV 的性能问题或是 bug 了,也可能是 Surge 的问题。即使你设置 direct ,流量还是会先经过 ATV 处理,#1 #3 #13 均提过类似的高并发情况。
    383394544
        17
    383394544  
    OP
       10 小时 25 分钟前
    @SakuraYuki 让 NAS 走别的网关吧,有需要的话在 NAS 上运行它自己的代理软件。不过你有 NAS 为什么还要用 ATV 当网关?
    warcraft1236
        18
    warcraft1236  
       9 小时 42 分钟前
    @383394544 不是 ATV 性能问题,是对于这类 VPN 应用 苹果的系统有限制,忘了是内存还是什么了,Surge 的论坛上有帖子说过
    to2false
        19
    to2false  
       9 小时 1 分钟前
    之前使用 sb/qx 都会崩溃,还是老实换回去方案了
    383394544
        20
    383394544  
    OP
       8 小时 59 分钟前
    @to2false 之前的 tvos 比较不稳定。我买的时候就是 tvos 18.3 了,目前用两周都没事。除了我自己测 speedtest 测到崩溃那次,其余时间都正常运行。
    binmiui
        21
    binmiui  
       8 小时 43 分钟前
    用的 ros+container(mosdns+mihomo),ros 劫持 53 到 mosdns, mangle 指定 Fake-IP+tg 的 ip 到 mihomo ,modns 国内走国内 dns ,国外走 mihomo ,最后监控 modns+mihomo 状态实现故障切换。感觉 apple tv 还是该干自己该干的事
    383394544
        22
    383394544  
    OP
       8 小时 40 分钟前
    @binmiui 只有 ATV 的情况能多一个代理网关功能已经很好了,不用再买软路由还花时间配置。
    binmiui
        23
    binmiui  
       8 小时 25 分钟前
    @383394544 #22 如果本身主路由器就是 ros ,开启 container 功能也不需要在买软路由,最后你这个方案 atv 异常后,网络就崩盘了。
    383394544
        24
    383394544  
    OP
       8 小时 22 分钟前
    @binmiui 在家自己用而己,ATV 异常重启就完事了,又不是在办公室。
    amundsen
        25
    amundsen  
       8 小时 19 分钟前
    用的退休的 Mac mini 2018 + surge 代理网关+转发规则+DNS 等,设置好崩溃自重启等,主路由网件 RAX 120 ,接上 ATV 、XBox 、Switch 等,快两年了科学上网完全无感,非常舒适
    byicer
        26
    byicer  
       8 小时 13 分钟前
    万一 Apple TV 挂了,局域网全断网?
    383394544
        27
    383394544  
    OP
       8 小时 10 分钟前
    @byicer ATV 没那么容易挂,真挂了大不了重启或把网关切回主路由。你们都搞错这篇的重点了,这篇只是说明 ATV 怎么设置成代理网关和我自己的使用情况。
    byicer
        28
    byicer  
       8 小时 8 分钟前
    @383394544 #27 了解,谢谢。
    a526796017
        29
    a526796017  
       7 小时 37 分钟前
    对我来说相当容易挂,说下场景:
    家里千兆宽带,用的也是圈叉,设置和 OP 一样,在 PT 下载时,下载流量过大,50M/S 以上,大约 1 分钟后,外网连接直接崩溃卡死,排除联网设备问题,其他设备都不能联网了,要重启 ATV 的圈叉才恢复
    Socrazy
        30
    Socrazy  
       7 小时 35 分钟前
    没必要做 DHCP 网关,客户端设备有需求的手动设置网关为 ATV ,并不是所有设备都需要翻墙。
    mhqschen
        31
    mhqschen  
       6 小时 57 分钟前
    看样子不怪那些教程,想一文讲清楚的确不容易
    412999826
        32
    412999826  
       6 小时 55 分钟前
    提几个建议
    1.光猫拨号+华硕路由器路由模式,导致双 nat 没必要,而且一些需要内网穿透的服务也不好处理,建议光猫改桥接模式,直接华硕路由器拨号;

    2.APPLETV 的 DNS 建议直接用主路由或公共 DNS ,使用其余的 DNS (如 192.168.2.2),若不开代理工具,Apple TV 自身都无法上网,不太明白为什么会推荐 192.168.2.2 ?
    至于实际的 DNS 解析是否走主路由或公共 DNS ,这个完全可以在代理工具中进行设置;

    3.没必要路由器的 DHCP 指向 APPLE TV ,因为不是所有设备都需要走代理,完全可以把需要走代理的设备手动设置 IP 地址(当然如果家中有某些智能家居设备,无法手动配置 IP ,且又需要代理才可以使用,可以 DHCP 指向 APPLE TV )
    383394544
        33
    383394544  
    OP
       6 小时 5 分钟前
    @412999826 感谢建议。以下是回复
    1. 能改桥接少一层 NAT 是最好,但我没内网穿透的需求(租屋处没有需要内网穿透的设备),而且我的宽带不是用我的身份证办的,不想花功夫找客服改桥接,就将就用吧。
    2. 因为 QuanX 内置的 DNS 模块已经配置好上游公共 DNS ,给 ATV 设置为自身的 DNS 可以避免有多余的请求传到运营商 DNS 那里。这只是出自我不喜欢运营商 DNS 的考量
    3. 我就喜欢这样,所有设备无感翻墻,而且有朋友来家里也能让他们直接用。如果还要给设备手动改网关,就显得没那么“透明“代理。另外我目前没有也不打算装智能家居设备,真的到那一天可能我会顺便买软路由,这样可以直接从 DHCP 给每个设备下发不同网关(其实现有的华硕路由器也能做到,只要进 ssh 后台写 dhcp 配置即可)。
    383394544
        34
    383394544  
    OP
       5 小时 54 分钟前
    @412999826 192.168.2.2 不是"其他 DNS",是 ATV 自己。当然这种情况不开代理 ATV 就上不了网,然而我的 ATV 代理是一直开着的,ATV 和代理共存亡。不开代理的 ATV 在国内除了 B 站也看不了啥吧?
    其实如果可以的话我想用 PPPoE relay 让华硕路由器拨号,奈何国内不流行 PPPoE 穿透,运营商似乎不想给用户太多选择。
    412999826
        35
    412999826  
       5 小时 8 分钟前
    @383394544 "其他 DNS"这个表述是我没说清楚,我其实指的就是不用公共 dns ,或者上级路由 dns ,这种情况下下没有代理就会无法上网。
    当然你说 ATV 和代理共存亡的确 OK ,但是有时候会出现确实需要 ATV 自己上网的时候,比如有时候更新代理软件的时候,过程中代理软件就会退出,但是这个时候更新没完成,还是需要 ATV 自己能联网的。
    至于你说不喜欢运营商的 DNS ,我理解代理软件完全有选项,设置里不选 system 应该就不会用运营商来进行解析。



    另外没考虑到 op 是租房,不过我改桥街其实也都是自己去破解光猫超级管理员密码,然后自己改的,这也是我的强迫症
    shuxiao9058
        36
    shuxiao9058  
       4 小时 26 分钟前
    v6 不是不兼容,是不需要 atv 设置静态 IP ,关闭 v6 dns 下发,我就是这样设置后 v6 就正常了。
    mieq
        37
    mieq  
       2 小时 5 分钟前 via iPhone
    Surge 因为默认劫持 198.18.0.2 ,LAN IP 不会默认劫持
    kongkongkong101
        38
    kongkongkong101  
       2 小时 4 分钟前
    @coolmint 可以关掉 atv 自动升级
    383394544
        39
    383394544  
    OP
       1 小时 20 分钟前
    @412999826 我最初也是将 ATV 的 DNS 设为主路由,后来发现设成 ATV 自身 IP 效果更好 (感觉加载网页速度快了一丢丢,因为 QuanX 会少一次请求),而且 ATV 的 DNS 设置能和终端设备对齐,同时满足了我的强迫症。

    @ shuxiao9058 我试过华硕路由器只能关闭光猫的 IPv6 DNS 下发,它仍会强制下发自身的 IPv6 地址作为 DNS ( https://www.v2ex.com/t/937752),将华硕路由器的 IPv6 DNS 指向 ATV 的 fe80 地址也没用,最后还是把 IPv6 全关了才好使。
    383394544
        40
    383394544  
    OP
       1 小时 19 分钟前
    @shuxiao9058 我试过华硕路由器只能关闭光猫的 IPv6 DNS 下发,它仍会强制下发自身的 IPv6 地址作为 DNS ( https://www.v2ex.com/t/937752 ),将华硕路由器的 IPv6 DNS 指向 ATV 的 fe80 地址也没用,最后还是把 IPv6 全关了才好使。
    383394544
        41
    383394544  
    OP
       1 小时 12 分钟前
    @412999826 QuanX 的 no-system 选项只是丢弃系统 DNS 的结果,它还是会和系统 DNS 发请求。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2990 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 21ms · UTC 14:41 · PVG 22:41 · LAX 07:41 · JFK 10:41
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.