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

光猫是否有可能实现虚拟化?

  •  
  •   LnTrx · 5 天前 · 3806 次点击

    最近自费买了个 2.5G 光猫,经过测试发现固件虽然能用,但又缺少一些原光猫有的高级功能。于是想到,既然路由器固件( OpenWrt )可以在小主机虚拟化运行,那多了一个光电转换的光猫是不是也有可能虚拟化呢?

    想到几种应用场景:

    1. 加载其它厂商固件,宿主系统从 RAM 和 ROM 直接读取管理员密码等参数,免于破解之苦
    2. 实现开源固件,模仿官方固件的行为验证、联网,同时使路由、桥接、IPTV 、电话、设备识别特征等可以高度自定义
    3. 光纤直接连入 All in Boom 软路由,最大程度减少空间、插座占用

    本人没有深入研究过光猫的软硬件,想探讨一下这是否有这种可能。

    第 1 条附言  ·  5 天前
    是实现虚拟化光猫,不是在光猫上跑虚拟化容器

    等价形式 1:实现一个光猫,支持用户访问光猫宿主,可以虚拟化加载、运行和监控光猫固件
    等价形式 2:实现一种可接入主机的光电转换器和配套的软件,使光猫功能可以在主机中运行、修改和监控
    51 条回复    2025-02-06 16:05:44 +08:00
    rekulas
        1
    rekulas  
       5 天前   ❤️ 1
    技术上感觉问题不大,桥接模式的猫就是一个光电转换器了
    dalaoshu25
        2
    dalaoshu25  
       5 天前   ❤️ 4
    那不就是猫棒。

    光猫居然还有什么“高级功能”?真是太幽默了。
    LnTrx
        3
    LnTrx  
    OP
       5 天前
    @dalaoshu25 猫棒相当于是更小的光猫,和我说的虚拟化不是一回事

    我说的“高级功能”简单理解就是 OpenWrt 有而光猫没有的功能。
    LnTrx
        4
    LnTrx  
    OP
       5 天前
    猫棒不仅仅是一个光电转换器,里面有完整的光猫系统。而我这里的设想只需要光电转换,希望光猫固件完全由我控制,运行在主机系统中。
    xixiv5
        5
    xixiv5  
       5 天前
    就光猫那性能怎么跑虚拟化
    你可以尝试跑 docker
    LnTrx
        6
    LnTrx  
    OP
       5 天前
    @xixiv5 不是光猫跑虚拟化,而是虚拟化光猫跑在主机
    kenvix
        7
    kenvix  
       5 天前
    1. 光猫不是 X86 而是 ARM64/Mips64le ,未来可能甚至是 RISC-V
    2. 你无法提供合适的 DTS 来 boot 光猫固件。
    moefishtang
        8
    moefishtang  
       5 天前   ❤️ 3
    @xixiv5 可以跑的
    电信光猫暴露给普通用户的配置页面是跑在容器中的 OpenWRT 上的
    https://www.freebuf.com/articles/endpoint/365742.html
    LnTrx
        9
    LnTrx  
    OP
       5 天前
    @kenvix 跨指令集和模仿设备行为在虚拟化下都是有可能的吧
    adoal
        10
    adoal  
       5 天前
    嵌入式系统的技术规格是乱七八糟的,不像 PC 那么整齐。可玩性就看厂家爸爸愿不愿意赏赐了。
    yyzh
        11
    yyzh  
       5 天前 via Android
    @kenvix 据说光猫现在都用 FPGA/ASIC 来做 NAT/PPPoE 卸载的了
    hugang614fdhd
        12
    hugang614fdhd  
       5 天前 via Android
    上海电信云宽带,但是你会被骂,这样一搞,对光猫失去控制权,想做个映射,桥接都不行
    LnTrx
        13
    LnTrx  
    OP
       5 天前
    @hugang614fdhd 云宽带是把用户侧的网关能力则上移至运营商,我这个是相反
    moefishtang
        14
    moefishtang  
       5 天前
    @hugang614fdhd 感觉云宽带这种搞法,用户这边的光猫干脆换回以前的 SFU 猫好了,反正智能网关带来的额外功能都放到云端去了(游戏加速器,AP 管理,审计等等)
    用户这边放几个瘦 AP 就成
    youx
        15
    youx  
       5 天前
    楼主肯定是强迫症患者,现在光猫白菜价的东西,没人会多折腾。
    LnTrx
        16
    LnTrx  
    OP
       5 天前
    @youx 因为现在用户对光猫的控制还不够,难以同时实现:

    1. 自由选择光猫硬件
    2. 通过运营商验证,接收下发的参数
    3. 取得光猫的管理员权限
    4. 随意选择桥接/路由配置,同时兼容 IPTV 、电话
    5. 网络功能全面、无 bug

    而虚拟化有希望实现这一点。
    fuzzsh
        17
    fuzzsh  
       5 天前 via Android
    pon stick 有固件是因 bras 有鉴权,需要递送鉴权信息,有精力就去杠掉鉴权,光纤直插光模块
    dianso
        18
    dianso  
       5 天前
    不进行光电转换就行 直接把光口放到设备上
    hefish
        19
    hefish  
       5 天前
    说明很闲啊,工作量不够饱和啊。。。。赶紧来加班。。
    LnTrx
        20
    LnTrx  
    OP
       5 天前
    @fuzzsh 某种程度上就是想让 pon stick 固件负责的部分变成用户能在自己环境里完全控制的功能
    dalaoshu25
        21
    dalaoshu25  
       5 天前
    不知道 OP 是真不明白还是假装糊涂。光模块里有一部分功能是要跟局端系统鉴权什么的,因为所有 PON 系统下行都是广播,只有经过鉴权的客户设备才能从光纤里下发的加密数据流里分离出自己的数据包。这些脏活不需要我们去操心。光猫设置成桥接之后,就只负责这些脏活,剩下的事情就都是我们自己的路由器软件的工作了,这其实就是你真正想要的东西。设置成桥接模式的猫棒,更是做到了极致,去掉了一个光猫壳子,少了一个小棺材。
    LnTrx
        22
    LnTrx  
    OP
       5 天前
    @dalaoshu25 我的目的就是想控制局端系统鉴权。
    你如果搞猫棒,必然是先通过合法设备获取光猫详细配置,再将配置应用到设备。如果局端详细配置改变,未在局端注册的光猫则无法凭 LOID 直接更新配置。但如果光猫本身是虚拟化的,可以一边通过鉴权,一边提供高度自定义的配置。
    桥接模式也不提供完全的功能,在不少地区无法与 IPTV 、电话兼容。
    LnTrx
        23
    LnTrx  
    OP
       5 天前
    @dalaoshu25 简单的说,现在普遍依赖 注册设备+管理员权限 获得详细配置,再设置光猫/猫棒。
    但如果光猫可以虚拟化,注册设备+管理员权限的限制可以完全取消,可以直接伪装成合法设备从局端拿到全套配置。
    这样光猫的折腾就可以完全与局端解耦了,只要局端支持 ITMS 就可以随便折腾,无需关心管理员密码、获取配置这些事情了。
    aulong
        24
    aulong  
       5 天前
    @LnTrx 如果这些功能需要完美实现 那就要求运营商支持配置重复下发 否则在光猫第一次注册成功以后 如果装维不操作 app 重新下发 那么即使使用原光猫恢复出厂设置后也无法再下发配置 现实情况是不是所有的运营商都支持无限次配置重复下发
    LnTrx
        25
    LnTrx  
    OP
       5 天前
    @aulong 想问下哪些地区对下发配置有如此严格的限制?

    还有一种可能是直接通过一些软硬件方法导出 ROM 数据运行,从中获取配置,或者干脆直接运行这个固件。

    与硬件相关的编程通常是繁琐的,想虚拟化运行的工作量很大。但在 AI 加持下,未来有一天难度降低到业余玩家可以够得着的程度,也尚未可知。
    anonymity
        26
    anonymity  
       5 天前
    还没见过完全开源的 PON 设备。加油少年,OpenOLT 靠你了
    kingloong
        27
    kingloong  
       5 天前 via Android
    @LnTrx 我换过一次光猫,宽带师傅来换的,他们有个群,新光猫第一次注册下发配置,必须要群里的人在系统确认,要确认好几次,类似银行柜员机关键操作需要大堂经理授权一样,我估计是下发配置要绑定光猫的硬件信息,我想问这个你虚拟化怎么实现,直接黑进系统给自己授权吗?我自己换个光猫,就算有 password 怕是也一定能注册上,还想虚拟化,还想要光猫的高级功能,完整使用权限,运营商给你的只是使用权不是所有权。
    kingloong
        28
    kingloong  
       5 天前 via Android
    我不抽烟,宽带师傅进门我就饮料招呼着,他干活我就在旁边聊,看他操作,走的时候还给拿了一瓶饮料。我这人工客服要不到超密了,以前可以,所以只能问宽带师傅。装光猫的时候我就让改桥接,后面又找了个借口打电话要来了超密,光猫就当转换器用了
    LnTrx
        29
    LnTrx  
    OP
       5 天前
    @kingloong 关键是光猫重置后的二次下发是否需要人工上门。如果不需要,虚拟化就可以解决。如果需要,虚拟化也可能解决。
    kingloong
        30
    kingloong  
       5 天前 via Android
    @LnTrx 我去年在旧光猫不小心把管理口的 VLAN 给删了,结果运营商打电话要求上门核查,说我家网络有问题,我说好着呢,客服说后台看不到数据,要上门检查,打了好几次电话说必须上门。我到家看配置才发现管理口给删了,提前恢复了才约的师傅来的。师傅上门又是检查光猫配置,又是拍照。从这以后我也懒的折腾了,感觉没必要了。自己的需求实现就行了,信息时代什么都在监管之下,有什么隐私可言。单纯技术讨论没问题,想实践还是算了吧
    LnTrx
        31
    LnTrx  
    OP
       5 天前
    @kingloong 虚拟化的一大目的就是为了让本地光猫的修改与局端解耦,理想情况下局端看到的都是正常的。现在很多人破解管理员密码,删 TR069 ,按理说都是可能查出来的。真要怕就都别玩了。
    cr3bit
        32
    cr3bit  
       5 天前
    国内三大运营商现在好点只是 loid/mac/密码鉴权,严的直接非入库猫不给用巴不得用户侧啥都别动,你还想反过来自己折腾?
    另外你需要的不是虚拟化,是整个猫 dump 之后逆行开发。只不过这些国内个人想想就好,不然各种很刑。
    LnTrx
        33
    LnTrx  
    OP
       4 天前
    @cr3bit 恰恰就是因为验证严格,这样的需求才更加凸显。
    dump 猫固件的研究一搜一大把。现行法律主要是抓生产销售环节,个人研究还到不了刑法的程度。如果担心口袋罪那都别玩了。
    LnTrx
        34
    LnTrx  
    OP
       4 天前
    @cr3bit 另外如果有需要开发,有虚拟化的环境肯定也比物理刷固件要容易
    youx
        35
    youx  
       4 天前
    日本 ntt 用户都不能自己更换光猫
    dalaoshu25
        36
    dalaoshu25  
       4 天前
    @LnTrx 难以理解你的脑回路,你是三年网课上傻了,还是爱国战狼电影看多了,或者天天看 CCAV 新闻乱播看呆了。你知道你生活在什么地方吗?你知道为什么随便一个能自己打字发帖乃至点赞的网站都需要你身份证或者+86 手机号实名制吗?在这种情况下你居然奢望与虎谋皮,轻松破解我中华人民帝国通信安全的铜墙铁壁?你是幼稚呢还是乡愿呢?
    2067
        37
    2067  
       4 天前   ❤️ 4
    OP 对“虚拟化”的定义以及“掌握局端鉴权”的理解可能存在一些偏差

    你其实想要的是开源的光猫实现,在支持原有 TR069 以及 IPTV/VoIP 功能的基础上,能够模拟原来运营商赠送光猫的对局端行为,并且提供用户侧的自定义能力

    但是上面这些跟虚拟化没什么关系,其实就是 openwrt 的光猫版,如果非要往虚拟化上靠,那就是可以有好几个镜像可以快速替换并且做快照恢复,以及允许在一个物理机上运行多个不同业务做 all-in-boom

    虽然并不清楚是否有现成的方案,但是建议搜索关键字:"open source onu"

    理想很丰满,现实很骨感,首先 onu 的光模块不是通常意义上的 sfp 光模块,并没有那么多公开的公版驱动,实际生产光猫的企业也就那么几个,然后运营商的定制需求五花八门,“模拟对局端的行为”并不像说起来那么简单,在考虑到运营商可能会对光猫远程下发升级更新,模拟起来就更不现实了

    实际的情况,无非就是关闭 TR069 ,然后记录原有的认证信息,然后可选搬到一个新的光猫上,仅完成桥接功能;对于大部分城市运营商抓的不严的情况,睁一只眼闭一只眼就可以一直用,但是总会有一些事儿多的运营商会来找麻烦

    对于猫棒,就是一个占地空间更小的光猫,实际的认证鉴权以及 vlan 和桥接处理仍然在猫棒上,并没有迁移到插猫棒的设备

    附加一句:每隔一阵子就会有帖子出来说觉着自己的光猫上运行了运营商的东西所以被劫持了,想要换个自己的设备才放心,然后就又有人跳出来说国情讲 1984 之类,抛开 zzzq 不说,仅从技术角度来讲,只要你的物理链路还接在运营商的设备上,IP 包就都是透明可见的,无非是解析放在了本地还是 BRAS 还是后面的防火墙或者路由器而已;
    所以除非所有流量统一都通过 vpn 对接到海外的落地节点,否则是否劫持先放一边,被分析从技术上就是不可避免的,以及即便通过海外落地节点,也免不了被海外节点分析。
    moefishtang
        38
    moefishtang  
       4 天前
    @2067 SFP 光模块,楼主想要的估计就是这个。一个没有任何处理能力的纯转发的设备
    ArcherL
        39
    ArcherL  
       4 天前   ❤️ 1
    GPON/EPON 协议本身就带有若干 TLV 字段供运营商自定义 OAM 功能,包括控制鉴权和终端注册以及除了 TR069 外的二层网管(就算删掉 TR069 让 ITMS 平台不可见外 OLT 本身仍可以网管 ONU ),这部分除了协议公共部分外都是各家运营商根据自己需求定义的,只不过国内三大比较懒只有联通/电信定义了 LOID 鉴权协议,移动多数省份用的是 Password/SN 认证方式,后面这些都不是开源协议,楼主加油争取让三大开源
    cccn
        40
    cccn  
       4 天前   ❤️ 1
    光猫的拨号,WiFi 等额外的功能只是运营商为了方便网络控制和分配增加的一个设备。真实情况是只需要一个光电转换器将光信号转为电信号,接入路由器拨号即可。我家里以前从电话线拨号改为光纤的时候,拨号方式都没变,依然是在电脑上拨号,而且后面还加了一个分线器将光信号分配到了另外一栋房子,接一个光电转换器直接网线插在电脑上拨号(当时的宽带账号支持双拨)。
    LnTrx
        41
    LnTrx  
    OP
       4 天前   ❤️ 1
    @dalaoshu25 建议你用同样的话审视一下自己。按你的标准节点里一堆法外狂徒,还在这里参与讨论才更像是与虎谋皮。
    LnTrx
        42
    LnTrx  
    OP
       4 天前
    @2067 我的意图是虚拟化运行光猫实现,这套方案里可以包含开源的光猫实现。后者是前者的基础之一。前者是便利固件监控、开发、应用的关键。感谢详细的分析。
    LnTrx
        43
    LnTrx  
    OP
       4 天前
    @2067 事实上你的论述里已经展现虚拟化的意义。例如“在考虑到运营商可能会对光猫远程下发升级更新,模拟起来就更不现实了”,如果真的存在虚拟化,那固件完全运行在虚拟环境中,即使升级对局端依旧无感。而宿主仍有可能截获管理员密码乃至内存中解密后的数据流,其他功能仍然有望自定义。

    理想很丰满,现实很骨感倒是真的。附加这段也很同意,光猫能看到的局端也能看到,所以光猫有没有监控对数据安全并不重要(但可能更费电)。
    kenvix
        44
    kenvix  
       4 天前 via iPhone
    @yyzh 硬件加速是肯定有的。光猫其实就是普通的路由器 soc 方案+光电转换器
    youx
        45
    youx  
       4 天前
    pon onu 光模块 + 应用功能模块 x86 虚拟机= 光猫
    vibbow
        46
    vibbow  
       4 天前
    LZ 要的不就是 SFU 么?
    aa51513
        47
    aa51513  
       3 天前 via Android
    @moefishtang 感谢大佬指路,这篇文章很值得一读,如醍醐灌顶
    elboble
        48
    elboble  
       3 天前 via Android
    Pon 系统本身只是二层设备,本来应该是可以像收发器一样随便换的,无奈运营商尤其是中国电信在光接入上一家独大,搞了一套已成为业界标准的 ctc ,把便于自己运营的管理协议都加上去,这些都是设备商芯片厂商配合运营商完成的,毕竟前二十年只有运营商来买 pon 。所以你现在看到的 ftth 方案,fttr 方案是高度定制化的,不同运营商,不同区域都不一样,olt 和 onu 间也深度绑定
    elboble
        49
    elboble  
       3 天前 via Android   ❤️ 1
    没说完。
    现在还能在某些小运营商找到用 Sfu 型态的 onu 的情况,基本符合你的要求,onu 只做光电转换。其实上面提到的猫棒有部分就用的 openwrt 做框架,只是兼容性不好,很可能运营商升个级就不通了。
    ZeroKong
        50
    ZeroKong  
       10 小时 9 分钟前
    我大概理解你的这个意思
    类似于我买模块通过 SFP+口给系统,由系统完成剩下的功能
    类似的模块有 LTF7215 、LTF7221 这种对吧?
    -------------------------------
    理论上呢是可以实现的……其实只要把猫棒那一套东西弄成 X86 的就行了
    ZeroKong
        51
    ZeroKong  
       9 小时 54 分钟前
    @moefishtang LTF7215 、LTF7221 这种东西,但是要搞定系统才行。这个是大头。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1094 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 89ms · UTC 18:00 · PVG 02:00 · LAX 10:00 · JFK 13:00
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.