V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
LongLights
V2EX  ›  宽带症候群

抛弃了 fakeip 模式 & 彻底关闭本地 ipv6,发现网速变快了

  •  
  •   LongLights · 6 天前 · 3748 次点击

    起因 chrome 在最近版本中添加了一个叫 Local Network Access Checks 的功能,除了网页服务本身确有访问局域网流量和一些插件以外,只要我开着软路由 fakeip 模式代理就会让所有需代理的网站都触发这个弹窗(如果拒绝就会使得大量 css 和 js 无法在网页中加载,但是单独访问又可以正常打开 css 本身)

    虽然可以通过 flags 直接禁用这个权限控制,但这个安全特性还是有启用的必要,所以计划更换成 realip 模式。

    fakeip 模式在今天的网络环境中,能起到的作用无非两个:

    1. 如果本身你的代理插件配置了错误的 dns 流程,因为 fakeip 的关系,真正代理访问的 dns 由服务端发起,这时只要你的路由规则正确,本地的 dns 污染、错误解析那些实质上没有影响

    2. 消弥本地网络环境和远端网络环境的差异:具体来说比如你本地打开了 ipv6 ,代理服务器 only_ipv4 ,在 realip 模式下,会因为节点试图连接 ipv6 地址而访问失败,而 fakeip 模式下就可以实现服务端自行 fallback 到 ipv4

    我主要是因为第 2 点,简单来说,如果想同时启用 ipv6 和 realip ,只有一个方法:确保你所使用的全部代理节点都拥有 ipv6 。

    但我的使用场景是部分节点有 v6 ,部分 only_ipv4 ,同时因为单纯在代理插件中屏蔽 AAAA 记录,无法确保 reject 所有 ipv6 流量(有很多软件只要你的 tun 有 ipv6 ,就会坚持连接 ipv6 目标),就算 reject 了也并不能保证可以 fallback 到 ipv4 ;

    尝试路由器开启 ipv6 获取和 ra 通告,发现因为 sing-box 的 tun 接口直接去掉了 ipv6 的关系,并不能实现:保持核心仅 v4 的同时,还能通过 dhcpv6 或 slaac 向局域网主机下发公网 ipv6

    无它,只有一个解决方案了:彻底关闭 ipv6

    之前打开 ipv6 对我的意义只有一个:确保能通过 mstsc+ipv6 远程直连我家里的一台 pc ,这是一个兜底方案,因为我这里的运营商对公网 ipv6 的上传控制非常严格,ipv6 直连上过了 2 分钟就会异常卡顿,因此我的主力方案其实是 rustdesk 中继,影响不大

    而关闭 ipv6 并且启用 realip 以后,发现网速不降反增

    ( p.s.我的本地宽带仅有 200mbps )

    尤其是国内流量,ipv6 优先时,经常能碰到 b 站网页加载完毕,视频缓冲半天,起初以为是阿 b 的 cdn 太烂了,换成纯 ipv4 环境再也没遇到过,所以很可能是运营商对 ipv6 有更严格的控制导致(就像远程直连那样 2 分钟就卡)

    最后附上我在 openwrt 使用的,纯 ipv4+realip 模式的 sing-box 配置模板:

    >>>sing-box 裸核透明代理网关配置

    因为 realip 的关系,所以相比于 fakeip 的配置,在 dns.rules 添加了大量规则,主要是为了保证每个分流策略组,都能正确通过策略组自身代理请求 dns ,如图:

    25 条回复    2025-12-02 18:54:58 +08:00
    miyuki
        1
    miyuki  
       6 天前   ❤️ 1
    引入的问题比解决的问题多
    night233
        2
    night233  
       6 天前
    只开启 ipv6 解析就行 ipv6 流量代理关闭就好了
    yyysuo
        3
    yyysuo  
       6 天前
    因为主站不是 fakeip ,但是 css 之类的资源是 fakeip 了,且 fakeip 段在 chrome 定义的私有段里面。调整一下 fakeip 段就行了,要么就全 fakeip 。
    另外关闭 ipv6 网速快,说明之前的配置是有错误的。
    bclerdx
        4
    bclerdx  
       6 天前 via Android
    OP,请问你图片右上角那个域名和 ip 是浏览器什么插件呢?
    LongLights
        5
    LongLights  
    OP
       6 天前
    @bclerdx ipvfoo
    MacsedProtoss
        6
    MacsedProtoss  
       6 天前 via iPhone
    引入的 dns 问题太大了…
    fakeip 就是为了解决 dns 泄漏的问题的,而且其实 dns 在远端应该是更快的。
    顶多你解决下 ipv6 的问题就行了,像我是公网 v4 没有 v6 的是体验非常好的
    wangritian
        7
    wangritian  
       6 天前
    我是 redir-host 模式,通过 nameserver-policy 控制国内域名走运营商 dns ,其他走谷歌 dns 同时丢弃 AAAA 记录,这样国内优先 ipv6 ,国外只 v4 ,用着暂时没问题
    crac
        8
    crac  
       6 天前
    我的方案是:
    1.关闭 IPV6 解析
    2.关闭 IPV6 代理
    3.允许 IPV6 直连
    bjzhou1990
        9
    bjzhou1990  
       6 天前
    mosdns IPV4 优先
    Rinndy
        10
    Rinndy  
       6 天前 via iPhone
    openclash ?
    Zeaxion
        11
    Zeaxion  
       6 天前
    @bjzhou1990 #9 对的,兄嘚,内建 DNS 服务,并采用 V4 优先,可解决很多问题
    huaweii
        12
    huaweii  
       6 天前
    fake-ip 的 range 换成冷门公网地址池试试,比如 DoD 那些呢...
    yinmin
        13
    yinmin  
       6 天前   ❤️ 1
    fakeip 从 6.0.0.0/8 、7.0.0.0/8 、11.0.0.0/8 随机选一个/16 的地址段,就能解决 chrome“本地网络访问”报警的问题了。
    Ipsum
        14
    Ipsum  
       6 天前
    说个不使用 fakeip 的问题,你局域网内建了个 tun 代理服务器,然后 使用 dns 分流,路由器是走静态路由 ip 转发到代理服务器。如果都是 realip ,那么你需要维护静态路由的 realip 列表,我想简单点的就是直接区分国内外 ip ,但是这样做就没法精确分流代理。另外 fakeip 不一定要使用 198.18.0.0/15 网段,你换个美国国防部的段也一样用。
    k1rin
        15
    k1rin  
       6 天前
    @crac 关闭 IPv6 出站,只开启入站吗?怎么实现的呢
    goodryb
        16
    goodryb  
       6 天前
    我的经验教训就是 v4 能搞定就不要用 v6 ,远程连家里的电脑 v4 转发一样快,和 v6 直连没区别,其他方面 v6 不如 v4
    LongLights
        17
    LongLights  
    OP
       5 天前
    @goodryb 确实是,我这里 frp 穿透跑远程不会限速,反而 v6 直连不行
    cj323
        18
    cj323  
       5 天前 via Android
    fakeip 太多骚操作了。每一次遇到问题都是用更多复杂度来解决。这一点违背那些喜欢简化问题的程序员的本能。
    cj323
        19
    cj323  
       5 天前
    至于 ipv6 。v 站这么久给我的感觉是:国内网络环境的确是 ipv4 比 ipv6 稳。不过我也看到一些人说出境 ipv6 更好。我认为有可能国内 ipv4 优先+过墙 ipv6 优先(当然如楼主所说所有节点都要支持 IPv6 )也是一个好的选项。
    yyysuo
        20
    yyysuo  
       5 天前
    @bjzhou1990 不推荐,快乐眼球享受不到了。
    terrancesiu
        21
    terrancesiu  
       5 天前
    我没用 fakeip ,但是 v4 和 v6 都开了,而且 v6 的过墙也开了,必须一起。
    aa51513
        22
    aa51513  
       5 天前
    实在没办法了,我也被迫关闭了 ipv6
    LongLights
        23
    LongLights  
    OP
       5 天前
    @cj323 #19 过墙 ipv6 是因为有的人跑 snell 或者 trojan 这些有明显特征的协议,ipv4 很快封,ipv6 封的慢;从国内到境外 vps 这一段,肯定要跑 ipv4 的,不然 gia 那些优化线路根本吃不上; vps 到目标网站这种国际互联,v4v6 都差不多;

    境内 ipv6 互联这段,可能是分区域和运营商,我这里 ipv6 降速严重,但是也有人说 ipv6 更稳
    bluaze
        24
    bluaze  
       5 天前
    fakeip 最开始的核心诉求是解决不同域名用了同一个 CDN 导致 IP 相同,dns mapping 机制无法区分的问题,这个问题有了 sniffer 后就不存在了,至于其它顺带的好处,也就那么回事,比如你讲的 fakeip 可以 fallback 到 ipv4 ,不过是 fakeip 可以确保获得域名,以域名为目的地代理自然不受 ipv4/ipv6 的限制,这个有 sniffer 之后也是一样的

    至于 ipv6 好办,境内解析给 ipv6 ,境外解析屏蔽 AAAA 基本能解决 ipv6 绝大部分问题,同时不妨碍 ipv6 的使用

    然后你 dns 部分规则配太多,除非确有必要,比如 dns 解锁,不然没有意义,本地的境外域名解析主要还是用来发起连接,实际最终的连接还是用的节点的解析结果,所以你配个黑白名单,黑名单境外解析,白名单境内解析,剩余的两组比对就 OK 了,名单也不用选太大,网上大部分名单并不准,质量还过得去的一个 gfwlist ,一个 dnsmasq china list ( loyalsoldier 以及衍生版本的 geosite:cn 主体也是它),虽然有点小毛病,主要是一些国内注册但实际在境外使用的域名也在其中,但这些域名如果预期国内会有访问一般也会选优化线路,问题不大,一个当黑名单,一个当白名单,够了
    qwvy2g
        25
    qwvy2g  
       5 天前 via Android
    问过 GPT 类似的问题,GPT 回答“一些运营商会让 IPv4 / IPv6 共用队列”,具体表现是 ipv6 优先级高,只要 ipv6 有一些流量,ipv4 稳定性就变差。“原因其实很简单:省成本 + 懒得配
    运营商设备如果不启用 AQM (例如 FQ-CoDel 、PIE ),队列就是一个“大水桶”,所有包丢进去抢资源。”
    关于   ·   帮助文档   ·   自助推广系统   ·   博客   ·   API   ·   FAQ   ·   Solana   ·   2719 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 13:04 · PVG 21:04 · LAX 05:04 · JFK 08:04
    ♥ Do have faith in what you're doing.