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

电信某些 ONT 的 6in4 奇特问题( IPv6 链路能 ping 通,却无法正常访问网页)解决

  •  2
     
  •   MWKPON · 2017-09-11 11:21:11 +08:00 · 6434 次点击
    这是一个创建于 2660 天前的主题,其中的信息可能已经有所发展或是发生改变。
    具体现象是设置了 ONT (光猫)为桥接,家用路由器(刷了自定义固件,如 OpenWRT, Tomato 等)上拨号得到公网 IP 并使用 HE.NET 的 6in4 隧道,家用路由器里的设备可以获取到 IPv6 地址并 ping 通 ipv6.google.com ,但是浏览器访问却像卡住一样,等几十分钟都没办法打开网页。

    许多类似的情况:
    https://www.chiphell.com/thread-1722770-1-1.html
    https://www.v2ex.com/t/366940
    https://www.v2ex.com/t/362099#r_4379391
    @sengxian @Sjmr

    进一步测试
    1、正如 @Sjmr 说的,ONT 调试日志里打印一堆
    kernel: ^[[0;33;41m[ERROR pktrunner] add_fwd_commands,519: Unable to determine if the flow is routed/bridged (519)^[[0m

    2、确认与隧道 MTU 无关,从 1280 修改到默认 1480 都无效。

    3、更为奇特的是,用 http://test-ipv6.com 测试,居然网络得分是 10/10,也就是 IPv6 是通的,点击“测试数据”“技术信息”,里面的“ IPv6 大封包测试”,浏览器居然可以访问里面的 URL ;可是“其他 IPv6 网站”测试,除了少数网站可以测试通过(但是响应速度极慢),列表中的多数都测试是无法访问(一直是等待响应状态)。

    之前一直不怀疑 ONT 的原因是,已经设置成桥接了,并且 6in4 是打包 IPv6 数据包到 IPv4 中,只要 v4 通,v6 就应该通的,并且还确实 ping 通了。但这样测试下来,现在只能怀疑 ONT 有问题了。

    正好手头有几个 ONT,换来测试,发现问题果然是在 ONT 上。
    出问题的:悦 me TEWA-600 (千兆 LAN 口,电信定制界面固件);
    没问题的:中兴 F460 (百兆 LAN 口,电信定制界面固件)、华为 HG8245H (用 HG8245C2 改,千兆 LAN 口,非电信定制界面固件)。

    结论:某些 ONT 应该使用了不标准的(或者未经充分测试的)实现,导致 6in4 出这样问题。解决办法:换!

    延伸探讨:到底是 ONT 里的软件没写好,还是和硬件也有关系?换句话说,厂家如果更新固件,是否能解决?相应的,悦 me 也有华为、中兴产的(看起来都是电信定制的软件界面,和其他厂家的一样),是否就没这个问题(因为手头没有找到足够的设备,无法验证)?
    这些出问题的 ONT,设置界面都提供了 IPv6 选项(当然,没出问题的,也有 IPv6 选项),难道用原生的就没问题?所以厂家没充分测试?
    桥接下,直接 PPPoE 下,还能影响应用层面的数据传递,底层原因究竟是什么?
    32 条回复    2017-10-03 11:56:46 +08:00
    flyfishcn
        1
    flyfishcn  
       2017-09-11 12:30:07 +08:00
    也许是光猫把封装的数据解封装了。猜的。我这也有个骨骼清奇的友华悦 me 网关,6in4 隧道建立起来都没有问题,但是随便哪怕走 1Kb 的数据,光猫 pon 状态直接掉,然后再也无法注册。除非重启光猫。
    zro
        2
    zro  
       2017-09-11 12:49:16 +08:00
    难道就我一个人觉得,GFW 已经可以干扰 6in4 了?

    LEDE/OpenWRT 配置 6in4 一直用了好几年,特殊域名都是通过 [省略::8888] 来查询,但今年前几个月开始,用这个::8888 来查特殊域名,也是卡好久,用 nslookup 排查出来居然是得到了污染结果 ,目前换成其他的才正常
    MWKPON
        3
    MWKPON  
    OP
       2017-09-11 12:56:37 +08:00
    @flyfishcn 问题是这是桥接模式呀,桥接后需拨号,难道连 PPPoE 的包也解了?解来做什么……岂不是把简单的二层数据复杂化到应用层了?
    MWKPON
        4
    MWKPON  
    OP
       2017-09-11 13:00:03 +08:00
    @zro 这个不好说,还可能会是运营商把 8888 的路由做到了自己的网内。
    flyfishcn
        5
    flyfishcn  
       2017-09-11 13:02:08 +08:00
    @MWKPON 具体原因不清楚,但是确实是有这样的可能性的。
    LGA1150
        6
    LGA1150  
       2017-09-11 13:04:20 +08:00   ❤️ 1
    @zro 早就可以了
    zro
        7
    zro  
       2017-09-11 13:09:24 +08:00
    @MWKPON #4 [捂脸]我那个::8888 是指 2001:4860:4860::8888,都已经用 IPv6 来访问了,本来就没本地 ISP 啥事了,要做成网内也是 v6 服务器那头的 ISP 做
    MWKPON
        8
    MWKPON  
    OP
       2017-09-11 13:12:38 +08:00
    @flyfishcn 还是固件问题可能性比较大……说不定这几个厂家都用了同一个“公版方案”做出来的固件。搜了一下,出问题的都是这种之前没怎么听过厂家,很是奇特。
    MWKPON
        9
    MWKPON  
    OP
       2017-09-11 13:16:45 +08:00   ❤️ 1
    @zro 一样的,DNS UDP 响应可以抢答,可以修改返回的数据,不管你是 v6 还是 v4 地址……运营商这么做,是“好心”,怕你用了其它 DNS 解析出来的地址不是它网内的,网速慢又还要多出网间结算费用。连很多家用路由器的自定义固件都可以设置,是否强制指定 DNS 为某个地址,而不管设备端如何更改 DNS 配置。
    xinglp
        10
    xinglp  
       2017-09-11 13:58:57 +08:00 via Android
    有没有可能是 GFW 开始把一部分功能挪到用户这边了,比如 yunos 和一些浏览器就无法起飞。

    如果不是刻意搞,怎么可能影响到桥接呢
    MWKPON
        11
    MWKPON  
    OP
       2017-09-11 14:43:14 +08:00
    @zro 又查了一下 6in4 的实现协议,好像还必须解包 41 号协议,才能实现改隧道里的 v6 包,难道你那边的的线路中的某些设备已经可以做 41 号协议解包修改了?
    MWKPON
        12
    MWKPON  
    OP
       2017-09-11 14:44:22 +08:00
    @xinglp 这个太容易被更换了吧,用户端设备谁都可以换掉,还不如原来的分光呢。
    zwy100e72
        13
    zwy100e72  
       2017-09-11 15:14:36 +08:00 via iPhone
    之前来了兴趣,抓包看了一下 PPPoE 的包,看到 PPPoE 真的只是在 Ethernet 层上上了个 PPP,然后就又是 Ethernet。所以只要不加密 无论前置多少层,最后一层该是 DNS 还是 DNS ;想伪造数据包也只需要把所有的 Over head 复制一遍就行。
    6in4 和这个道理一样,不加密链路上一样看光光;很有可能是你遇到的这个实现只看后几层,前面的 IP 头被丢弃了
    MWKPON
        14
    MWKPON  
    OP
       2017-09-11 16:03:22 +08:00
    @zwy100e72 确实如此,但作为 ONT,感觉既然设置成了桥接,就不应该去管 PPP 包的内容才对。除非要做应用层替换,不然这个开发意义在哪里?除非……
    redsonic
        15
    redsonic  
       2017-09-11 17:28:28 +08:00
    @MWKPON 桥接模式下你可以到光猫里面看下 cat /proc/net/br_pppoe_list ,这个不是 broadcom 实现的就是厂家实现的。 另外我的烽火光猫走 he 没有 kernel: ^[[0;33;41m[ERROR pktrunner] add_fwd_commands,519: Unable to determine if the flow is routed/bridged (519) 这个错误。虽然也加载了 pktrunner 这个模块。
    MWKPON
        16
    MWKPON  
    OP
       2017-09-11 17:39:34 +08:00
    @redsonic 所以烽火的光猫 6in4 也是没问题的啰?
    mmmkik
        17
    mmmkik  
       2017-09-11 18:17:45 +08:00 via iPad
    这个星期 6in4 隧道中,使用 ipv6 的 dns 解析已经被污染,之前用了 5 年都没事
    比如 2001:470:20::2 解析 YouTube.com 就被污染
    楼主确定不是 dns 惹的祸
    试着更改一个无污染 ipv4 dns(202.141.162.123),顺便要把 ipv6 dns 写成::1
    再看看问题是否解决
    mmmkik
        18
    mmmkik  
       2017-09-11 18:18:29 +08:00 via iPad
    并不是光猫的问题
    mmmkik
        19
    mmmkik  
       2017-09-11 18:18:51 +08:00 via iPad
    能 ping 通并不意味着你能顺利打开网页
    catinsnow
        20
    catinsnow  
       2017-09-11 19:39:38 +08:00
    @mmmkik 只是这个 DNS 解析到的是香港节点的 IP,用 US 节点的要绕一圈。
    app13
        21
    app13  
       2017-09-11 19:52:14 +08:00 via Android
    tewa-500e 问题相同,之前弄了一下午 ipv6 就是没想到问题出在桥接模式的猫上……
    不过我这用 test-ipv6 测试时有时会报错,提示“我们的测试显示您将可能遇到 IPv6 上的 MTU 问题;当网站启用 IPv6 时,这可能会导致网站加载变慢(也可能不会)。”
    不知道能不能找电信报修换个猫……
    lydasia
        22
    lydasia  
       2017-09-11 19:59:23 +08:00 via iPhone
    ipv6 真的还不成熟,我也遇到过很多奇奇怪怪的问题,包括能 ping 通但一打开网页设备就重启等等。
    redsonic
        23
    redsonic  
       2017-09-11 21:25:26 +08:00
    @MWKPON 没有问题,但 he 真的大不如前了,没有折腾的意义。目前的过渡方案也肯定不是这种裸隧道,实际接入的只有 ds-lite 或 nat64。另外 ipv6 (包括裸隧道)的 DNS 污染早就上线实装了...
    JenghongLee
        24
    JenghongLee  
       2017-09-12 06:53:28 +08:00 via iPhone
    我也遇到这种情况,同样的硬件配置,同样的参数,光猫不同。我用的好好的,另一位朋友使用起来就不行,能 ping 通,但是打开网页巨慢。只有 0.01M/s 的下载速度。不知道大家能不能商一起量出解决的方案。
    flyfishcn
        25
    flyfishcn  
       2017-09-12 11:21:54 +08:00
    @mmmkik r#18 我手头有 6 个猫,其中 3 个都没有问题,能正常打开网页,不正常的 2 个,一个一走 IPv6 数据就掉线,另一个就是这样,打不开任何 IPV6 的网页,还有一个是会彻底掉注册。
    MWKPON
        26
    MWKPON  
    OP
       2017-09-12 17:17:09 +08:00
    @mmmkik 解析的 IP 确认过了,是对的。并且直接访问 IP 也不可以打开网页。
    MWKPON
        27
    MWKPON  
    OP
       2017-09-12 17:18:44 +08:00
    @app13 可以尝试报修,说光猫开久了容易无响应,重启光猫又好了,问问你那边的维护人员,有没有“大厂”(华为、中兴等)的光猫可以换。
    MWKPON
        28
    MWKPON  
    OP
       2017-09-12 17:22:32 +08:00
    @JenghongLee
    @flyfishcn
    要是厂家的人在这里,能帮忙确认问题所在就好了。同一地点、同一线路,只换了 ONT 就好了,也是应该能说明应该是软件实现的问题,而非线路的问题了。如能找到问题,说不定更新一下固件就好了。
    flyfishcn
        29
    flyfishcn  
       2017-09-12 19:34:09 +08:00
    @MWKPON 道理是这么讲,但是实际是几乎不可能的。而且运营商是可以远程更新你猫的固件的,到时候可能又要出问题。
    cxcool
        30
    cxcool  
       2017-09-17 02:08:22 +08:00
    @mmmkik 一样,用了 N 年没事情,就在这周被干掉了 - -
    app13
        31
    app13  
       2017-09-18 20:52:43 +08:00
    @MWKPON #26 打电话问了下,电信师傅说这段时间只有这个的光猫,问什么时候有新的师傅也不说...就不知道是在敷衍还是真的没有...
    akimotoakira8
        32
    akimotoakira8  
       2017-10-03 11:56:46 +08:00
    我让师傅给找了个中兴的千兆猫就没有问题了,之前的百兆华为猫也没有问题呢
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   4936 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 36ms · UTC 05:39 · PVG 13:39 · LAX 21:39 · JFK 00:39
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.