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

求助:路由器只有部分设备能上网

  •  
  •   gkiwi · 2020-05-05 23:08:29 +08:00 · 2972 次点击
    这是一个创建于 1690 天前的主题,其中的信息可能已经有所发展或是发生改变。
    不确定是否和这款路由器固件升级有关,还是系统设置问题,先描述下问题~
    

    现状:

    三台华为手机全部可以连接并正常上网,其余所有设备都无法上网( mac 、小米手机、电视、音箱、iPad )。

    mac 间歇性随缘可连接到无线路由器(但是更多是感叹号的失败)。连接路由成功的时候,可以登录路由器操作界面,但是无法上网。更多时候出现感叹号,看网络偏好情况,是路由器给分配了一个不在同网下的 ip 地址。

    路由器地址是 192.168.50.1,给 mac 分配的是 169.254.155.125 。看了下 iPad,给分配的是 169.254.204.22 。

    • iPad: 手动设置 ip 192.168.50.xx ,可以访问路由器界面,但是依然无法上网。
    • 小米 6/5?:自动获取 IP 就失败了,显示 [ IP 配置失败]
    • mac:按网上说的 sudo ipconfig set en0 DHCP 后,好像手动设置 DHCP 没法设置路由器和子网掩码了,之前状态记不清,不确定是否是此命令导致。

    操作路径 /背景:

    AC86U 很早之前刷了官改梅林,虽然偶尔断,但挂了 V2 总体还很舒服~。

    昨晚打开路由器,发现软件中心页面打不开(不过某些插件一直在运行),想着是不是版本问题,于是准备从 384.14 升级到了 384.17 。

    不幸的是第一次升级卡死了(简单来说就是升级页面进度条都没出来)。等了一会我新开了一个 tab,刷新页面发现并未升级。此时看官方说明,说升级失败可以重启下路由器。我重启之后,状态记不清楚了。(但 mac 本还是能连接路由器)。我又升级了一次,还是失败了。看网上各种描述,ssh 到路由器后,发现 JFFS 分区超过指定大小,看了下是因为之前临时开的 TrafficLog 超了,我就直接 删除后。再次手动上传固件,成功。当然中间不排除某些有些我已经记不清楚的操作~~~

    升级完成后,手动重启路由器,然后悲剧就开始了。。

    第 1 条附言  ·  2020-05-06 01:56:30 +08:00
    已经搞定,导致的原因是因为 ss 插件会复写 dnsmasq.d/wblist.conf 文件,在某些场景下,会把此文件搞没,从而导致 dnsmasq 重启失败(中间我的确有重启过路由器。
    ![YkfJQf.png]( https://s1.ax1x.com/2020/05/06/YkfJQf.png)

    所以修复方式有两个:
    [未验证] 1. 手动找一份 wblist.conf 文件覆盖到指定位置~不过应该还是解决不了我的软件中心消失不见的问题,所以没采用。
    [已验证] 2. 在 [系统管理] 中,找到 [Format JFFS partition at next boot] 选项,并选择 [是] ,之后重启路由器,格式化软件中心。缺点也很明显,就是之前安装的软件以及配置没了~~

    中间我虽然有进行固件版本降级,但网络并未问题,猜测也是和此版本无关。

    结帖。

    ===========
    感谢 @also24,@ochatokori 两位兄弟的支持~
    ===========
    16 条回复    2020-05-06 14:09:02 +08:00
    also24
        1
    also24  
       2020-05-05 23:11:16 +08:00
    分配 169.254.x.x 一般是因为 IP 冲突或者 DHCP 失败。

    建议检查路由器 DHCP 网段、DHCP 租约有效期相关配置。

    另:如果确实是这个问题,在修复 DHCP 之前,应当可以通过给其他设备配置静态 IP 正常使用。
    另另:macOS 的 DHCP 相关配置可以直接在图形界面下完成,没必要命令行。
    also24
        2
    also24  
       2020-05-05 23:13:48 +08:00
    另另另:iPad: 手动设置 ip 192.168.50.xx ,可以访问路由器界面,但是依然无法上网。

    是否正确配置了子网掩码和网关 IP ?
    gkiwi
        3
    gkiwi  
    OP
       2020-05-05 23:33:57 +08:00
    @also24 #2 子网掩码和网关 IP 又 check 了以下,都配置正确了的,保持和可上网设备一致。

    DHCP 网段:DHCP 网段也是 192.168.50.*
    DHCP 租约:86400

    看起来都是 ok 的~
    also24
        4
    also24  
       2020-05-05 23:36:22 +08:00
    @gkiwi #3
    抱歉我之前只关注了症状部分,没有注意到是升级失败引起的。

    对于一台升级失败后出现问题的路由器…… 也许不能用常理去进行分析。
    ochatokori
        5
    ochatokori  
       2020-05-05 23:43:12 +08:00 via Android
    先确定你的华为手机是不是确实是通过 wifi 上网,会不会是打开了 wifi 无法使用时自动使用移动数据

    手动设置静态 ip 后能不能 ping 通 114 ?
    如果可以那就是 dns 的问题,如果不可以,那除了 dhcp 的问题,还有其他更严重的问题…还是重新刷固件把
    gkiwi
        6
    gkiwi  
    OP
       2020-05-05 23:48:28 +08:00
    @also24 #4 我也怀疑。。准备想路子降级固件了~~虽然电脑连补上路由器还~
    gkiwi
        7
    gkiwi  
    OP
       2020-05-06 00:01:17 +08:00
    @ochatokori #5 不是,确定华为手机是 ok 的,而且看了自动分配的 ip 也符合预期~
    gkiwi
        8
    gkiwi  
    OP
       2020-05-06 00:05:05 +08:00
    @ochatokori #5 dhcp 应该是坏了~电脑已经没法设置网关了= =,打算刷回去了
    also24
        9
    also24  
       2020-05-06 00:06:34 +08:00
    @gkiwi #8
    不对啊,如果只是 DHCP 挂了,按说自己手动配置 IP 、掩码、网关 以后应该是可以用的啊。

    如果还不行的话,也许可以考虑 WireShark 抓包看下 IP 层到底什么情况,不过不晓得你是否有条件和耐心去排查了。
    gkiwi
        10
    gkiwi  
    OP
       2020-05-06 00:18:29 +08:00
    @also24 #9 我怀疑不是挂了,而是出了什么诡异的问题~~
    also24
        11
    also24  
       2020-05-06 09:43:36 +08:00
    还是觉得有点奇怪,如果只是 dnsmasq 重启失败,那不应该导致完全不能上网啊……

    也不应该影响到 DHCP 才对啊……
    gkiwi
        12
    gkiwi  
    OP
       2020-05-06 12:55:40 +08:00
    @also24 #11 dnsmasq 不只提供 dns 的管理,也可以提供 DHCP 服务,梅林固件应该也是用这个处理 DHCP 的,所以~~

    而我怀疑华为的手机,可能除了默认使用 自动 DHCP 外,还有些特殊的逻辑用来应对选择了 DHCP 但 DHCP 挂掉后的逻辑(比如基于路由器 IP 来自己默认调整为自动生成 IP,毕竟华为在这些基础网络建设上底子雄厚,也知道有这些异常的场景。)

    这样就能解释统为什么华为的手机可以正确的分配 IP 地址,而其他的设备要么直接连接不上(小米、一些设备),要么连接上生成的 IP 地址不在同一个网络内。

    而 DNS 可能也会是类似的情况。
    also24
        13
    also24  
       2020-05-06 13:20:57 +08:00
    @gkiwi #12
    这样来说,就是 DNS 服务和 DHCP 服务都挂掉了。那确实可以造成类似状况。

    我更倾向于认为华为只是 DHCP 租约没有到期,或者到期未申请到新的 IP 所以维持了旧的配置。

    如果自己主动去做所谓『 DHCP 挂掉后自动生成 IP 』的操作,这实际上是非常恶劣的行为,我觉得华为应该不会这样来实现。

    当然,以上所有猜测其实都可以用 WireShark 来抓包验证。(就是有点累 hhh )
    gkiwi
        14
    gkiwi  
    OP
       2020-05-06 13:45:55 +08:00
    @also24 #13 但是如果 DHCP 租约没到期的话,其他的设备按理说应该也不至于都挂掉= =。
    中间我有观察到自己的华为手机 ip 最后一位从 7 变更成了 9 (不过忘记是否是因为选择忘记网络然后重新连接导致的)。

    WireShark 先不上了,另外一台电脑上有,一直玩不太转,年纪大搞不动了。
    also24
        15
    also24  
       2020-05-06 13:48:01 +08:00
    @gkiwi #14
    不同设备的首次 DHCP 时间不一样,租约到期时间也不同的嘛。
    以及就是我怀疑的,也许华为的策略是,如果没有拿到新的 IP,那么就算租约过期了也不释放。

    其实我也是因为懒得自己抓包,才一直只在猜测 hhhh
    gkiwi
        16
    gkiwi  
    OP
       2020-05-06 14:09:02 +08:00
    @also24 #15 没事,不猜了~~多谢支持哈!
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2827 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 07:09 · PVG 15:09 · LAX 23:09 · JFK 02:09
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.