V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
测试工具
SmokePing
IPv6 访问测试
emUi998
V2EX  ›  宽带症候群

千兆光猫榨干千兆带宽简单方案(实测 1.2G 左右)

  •  1
     
  •   emUi998 · 157 天前 · 11360 次点击
    这是一个创建于 157 天前的主题,其中的信息可能已经有所发展或是发生改变。

    方案简介

    通过创建 bond 网卡,绑定两个网卡(各 1G )连接至光猫,进行拨号。由于运营商一般提供 20%的上浮带宽,因此 speedtest 测试可以达到 1200M 左右。

    前置需求

    1. 最新版本的 openwrt 系统( 21 版本即可);routeos 等系统也可以。
    2. 软路由需要至少 3 个网口,两根用来连接光猫,一根作为局域网接入(这个口需要 2.5G 或者 10G ,要不然无法测速超过 1000M )。
    3. 光猫已经配置桥接。

    配置方案

    1. 安装所需软件,启用 bond 支持

      opkg update
      opkg install kmod-bonding luci-proto-bonding proto-bonding
      
    2. 通过配置自动启动脚本实现,加入该脚本的指令会在开机后自动执行

      vi /etc/rc.local
      

      需要添加的内容如下(添加至 exit 0之前),需要根据实际情况修改网卡名称,此步骤务必小心。

      ip link add bond-wan type bond mode balance-rr 添加 bond 类型的虚拟接口 名称为 bond-wan
      ip link set eth1 type bond_slave #配置网卡 eth1 模式
      ip link set eth2 type bond_slave 
      ip link set eth1 master bond-wan #加入名称为 bond-wan 的 bond 类型网卡
      ip link set eth2 master bond-wan 
      #可选步骤 ip addr add 192.168.1.2/24 dev bond-wan
      ip link set bond-wan up #启动该网卡
      

      另外,加入拨号 bond 的网卡需要从 br-lan 中移除。

    3. 修改 wan 接口的网卡为 bond-wan ,重启软路由后正常拨号即可

      openwrt 设置路径:network-interface-找到 wan 点击 edit

    98 条回复    2022-04-17 22:38:36 +08:00
    blufaux
        1
    blufaux  
       157 天前 via iPhone
    这个是单线多拨吗?
    quainter
        2
    quainter  
       157 天前   ❤️ 1
    @blufaux 这应该是多线单播 :p
    bibiisme
        3
    bibiisme  
       157 天前
    原来 bond 不需要上层交换机支持啊
    yyysuo
        4
    yyysuo  
       157 天前
    mark ,等换了千 M 套餐再折腾。
    shaoshuang
        5
    shaoshuang  
       157 天前
    多线能单拨?
    ayukas
        6
    ayukas  
       156 天前   ❤️ 1
    恩山还是哪之前就有人这么干 但打算实操时最后发现 支持 openwrt 又带 2.5GBE 口的路由很难找 楼主用的是什么设备 让我参考一下? 我估计是软路由?
    philippiela
        7
    philippiela  
       156 天前
    @ayukas 淘宝有卖的,4 网口螃蟹网卡的 2.5g 软路由。
    ayukas
        8
    ayukas  
       156 天前
    @philippiela 这类我知道 今年有新款膏厂 i225 的在众筹 就是觉得还要自己再配个旁路由上 WIFI 有点烦所以一直没下手
    Donahue
        9
    Donahue  
       156 天前
    @ayukas 淘宝 /闲鱼有人卖 j4125 的软路由,4 口 2.5G, 价格 1200 左右,需要的话可以看看的~至于 wifi 则不是用旁路由,wifi 直接插 lan 口就可以的
    ayukas
        10
    ayukas  
       156 天前
    @Donahue 嗯大概是我用词不正确 不过主要想表达的重点是这样又多了一个设备感觉有点蠢...这种软路由要是自带 2 根天线说不定也就不犹豫了
    Donahue
        11
    Donahue  
       156 天前
    @ayukas 确实~而且功耗也高,算下来一年电费都要多几百
    huangya
        12
    huangya  
       156 天前
    @Donahue 有这么多电费?如果是,确实高了
    advancejar
        13
    advancejar  
       156 天前
    2.5G 的方案据说不稳定,等万兆
    Donahue
        14
    Donahue  
       156 天前
    @huangya 瞎说的数字,具体还是要实测一下才行,不过一年多个 100 块以上的电费是肯定的~毕竟 24 小时开机,需要考虑功耗,没有性能需求的话没必要多花冤枉钱
    emUi998
        15
    emUi998  
    OP
       156 天前
    @ayukas 我用的服务器,有多张 10G 网卡。装 esxi 开的虚拟机。用了很久了,十分稳定。
    Kymair
        16
    Kymair  
       156 天前
    我之前这样配置,没成功。bonding 应该是需要光猫支持的,楼主用的什么光猫?
    swiftg
        17
    swiftg  
       156 天前 via iPhone
    关键是要光猫内核支持,绝大部分都不行
    swiftg
        18
    swiftg  
       156 天前
    我错了,测试了下,不需要光猫内核支持,openwrt 上启用 bond 后拨号链路聚合成功,单拨 1250Mbps
    dingli900201
        19
    dingli900201  
       156 天前
    @swiftg 你是什么光猫?我把这需求提交 ikuai 了,看看他们会不会加这功能,毕竟 ikuai 的流控分流好用多了。
    dingli900201
        20
    dingli900201  
       156 天前
    @Kymair 你是什么线路?什么光猫?
    swiftg
        21
    swiftg  
       156 天前
    @dingli900201 好像和光猫没关系,我光猫进去看了,确定没有 bonding 相关的内核模块
    github2020
        22
    github2020  
       156 天前
    @swiftg 你的光猫是什么型号呢? hn8145v?
    swiftg
        23
    swiftg  
       156 天前
    @github2020 hn8145q ,对应联通马甲 hn8346q ,移动 hn8546q
    github2020
        24
    github2020  
       156 天前
    @swiftg 网上说 linux balance-rr 模式是需要对端做配置的,奇怪为什么光猫不用呢
    github2020
        25
    github2020  
       156 天前
    https://serverfault.com/questions/341702/does-linux-balance-rr-bond-mode-0-work-with-all-switches
    The balance-rr, balance-xor and broadcast modes generally require that the switch have the appropriate ports grouped together.
    swiftg
        26
    swiftg  
       156 天前
    @github2020 可能是交换芯片硬件上就支持了?
    bibiisme
        27
    bibiisme  
       156 天前 via Android
    @advancejar 没用过就来说不稳定了
    swiftg
        28
    swiftg  
       156 天前
    我在光猫侧 arp 也确实只看到一个 mac 地址,就是路由器 bond 逻辑接口的 mac
    advancejar
        29
    advancejar  
       156 天前
    swiftg
        30
    swiftg  
       155 天前 via iPhone
    @advancejar 这人自己水平不行吧,我 b460 主板自带的螃蟹 2.5g ,4 口 2.5g 软路由,都是 8125b ,两个 2.5g usb 网卡,5156b ,插群晖,稳定用了一年多了,驱动自己编译
    github2020
        31
    github2020  
       155 天前
    @advancejar 新的 Linux 内核已经支持的很好了 https://linuxreviews.org/Realtek_RTL_8125
    shaoshuang
        32
    shaoshuang  
       151 天前
    ![]( https://jayshao.com/image/bond2.png_blogimg)
    实测可以到 1180 多,方法有效,感谢楼主分享
    lcy630409
        33
    lcy630409  
       150 天前
    @shaoshuang 什么硬件设备 分享一下
    shaoshuang
        34
    shaoshuang  
       150 天前
    @lcy630409
    光猫是华为的 MA5671
    路由是跑在 Gen10 Esxi 上的 Openwrt ,插了一张双光口的万兆卡,所以 Gen10 自带的千兆卡把两个口直通给 openwrt 作为 wan1 和 wan2 ,然后光口的万兆卡直通一个口作为 lan ,接到一台 qnap 的万兆交换机上
    光口的另一个万兆口就作为 esxi 的虚拟交换机,用来给 gen10 内部的其他虚拟机共享使用
    sadan9
        35
    sadan9  
       149 天前
    实测下来,上行是分在 2 块网卡上,但下行只走某一块卡。
    光猫为桥接模式。
    sadan9
        36
    sadan9  
       149 天前
    补充一下,是通过 iperf3 进行测试,开了 10 线程,由外网服务器-->openwrt
    fan88
        37
    fan88  
       149 天前
    湖南电信 天邑 1000e 光猫 实测效果比较差,聚合前 800Mbps ,聚合后只有 500-600Mbps.

    光猫侧看 MAC 一直在做 BOND 的两个接口之间横跳。感觉光猫侧如果无法配置 bond 的话,会导致光猫不断学习 MAC 导致部分数据包错乱吧
    fan88
        38
    fan88  
       149 天前
    湖南电信 华为 HN8145V 效果也不太好,聚合前 930M ,聚合后 830M
    thinsychen
        39
    thinsychen  
       147 天前 via iPhone
    确实可以,Mikrotik balance rr 两根千兆网线进光猫拨号就可以,提前应该是要光猫支持。测试用的猫是 8145q
    freeznet
        40
    freeznet  
       147 天前
    试了下北京联通的 HN8346X6 ,改桥接后貌似不支持链路聚合,bonding 后依旧是 930M
    thinsychen
        41
    thinsychen  
       147 天前 via iPhone
    基本确认跟光猫有关,我原来是 8145xr ,现在用 8145q 后实测从 940M->1140M.估计上海电信给的余量也就这么多了。看测速时最高跑到 1300M ,然后往下跌到 1140 左右稳定!
    feast
        42
    feast  
       147 天前
    Linux 的 Bonding 究竟是两端支持才行还是怎么的网上每一个人讲得清楚的,不过之前我在 Koolshare 发过帖提示用 bonding 功能来多千兆口聚合,也没见有人研究,实际上没有源码也是可以给光猫编译 bonding 内核模块的,只不过略微复杂
    feast
        43
    feast  
       147 天前
    @fan88 博通的 ethernet 会有各种奇怪的私有加速,自然会导致异常
    feast
        44
    feast  
       147 天前
    @ayukas 软路由只要 PCIE 够,不存在说你找不到的组合
    ayukas
        45
    ayukas  
       147 天前
    @feast 我最开始说的本来就没特指软路由 不用再回复我了
    fan88
        46
    fan88  
       146 天前
    @feast 那有哪款光猫是 intel 的?
    ywy12345
        47
    ywy12345  
       146 天前 via iPhone
    @freeznet 光猫拨号呢?好像那个猫当路由还凑合吧
    lcy630409
        48
    lcy630409  
       145 天前
    @ywy12345
    光猫拨号 没什么卵用
    这个方案的关键点就是光猫支持聚合
    要特定的光猫,看了下几个论坛 貌似华为的几款 hnXXXq 的都可以,貌似 q 结尾的都可以
    feast
        49
    feast  
       144 天前
    @lcy630409 这点要深挖下,看究竟是哪个关键特性,才能普及开
    sp670
        50
    sp670  
       144 天前
    华为 HN8145V ,XGPON 版本,RouterOS 尝试了所有的 bonding 模式都无法聚合,并且在 balance-rr 模式下上传可能因为数据包错乱的问题速度还会减半,已经放弃了
    倒是如果由光猫拨号的话应该是可以的,但我有公网 v4 又不想这么弄,还是桥接比较有意思
    freeznet
        51
    freeznet  
       144 天前
    @ywy12345 光猫拨号和桥接对于不支持 bonding 的猫来说没有什么差别的感觉~没有超级管理员也不方便改回光猫拨号测试。。。
    swiftg
        52
    swiftg  
       144 天前
    @sp670 我看有人 HN8145V 成功了的。你如果不能突破 945M 的话很可能是因为 OLT 上的接口就是千兆口,即使你是 XGPON 的线路
    ywy12345
        53
    ywy12345  
       144 天前 via iPhone
    @freeznet
    @lcy630409
    海鲜市场买了个个 8546q ,这周试试
    zhqiang
        54
    zhqiang  
       144 天前 via iPhone
    下午试了下,没有成功。
    没有 bond 前,eth1 作为 wan 口。正常测速 900 左右。
    bond 后,让 eth1 ,eth2 作为对应的借口。测速还是 900 左右,用 ip adrr 查了下,发现 eth1 的状态是 down ,wan 走的 eth2 。没有相关网络知识,没法在深入研究。只好返回普通单线拨号模式
    ywy12345
        55
    ywy12345  
       144 天前 via iPhone
    @zhqiang 什么猫
    freeznet
        56
    freeznet  
       144 天前
    @ywy12345 期待试验结果~不知道换猫复杂不复杂,是不是还需要让联通小哥上门操作一下呢?
    sp670
        57
    sp670  
       143 天前
    @swiftg 比你说的更惨,OLT 上的接口是 GPON 的,我们这边还没升级 XGPON 。我判断不行是因为,bonding 里只能看到一个端口有流量到 970Mbps ,另一个端口基本空闲
    lcy630409
        58
    lcy630409  
       143 天前
    前天网购 j4124 i225 ,hn8145q...昨天玩一天
    总结:
    第一 建议别买 225 ,还是去买螃蟹的吧,没驱动太难了,装 exsi6 找不到网卡,exsi7 一直在在 vmkusb_nic_fling loaded successfully ,最后在 right 找到了支持 225 的 openwrt ,单刷的 openwrt 。
    第二 按照方法 可以聚合,突破了 940m ,电脑测速 1130m 了。如果光猫拨号,速度只有 900m 多 估计是光猫的性能不行,还是得 openwrt 拨号。
    第三 华硕的 Aimesh ,第一台路由插 wan 接到软路由 lan , 设置 ap/Aimesh 路由模式,第二台路由先 wan 插第一台路由 lan 组建 Aimesh 成功之后,第二台路由 wan 接到软路由的 lan 后 ,Aimesh 还是存在。
    lcy630409
        59
    lcy630409  
       143 天前
    @sp670 换个 q 版本的,网上论坛看别人的反馈 基本都是 q 结尾的可以
    ywy12345
        60
    ywy12345  
       142 天前
    @emUi998 @swiftg 你们的软路由是啥的,我为啥找不到 kmod-bonding 的包啊... 有 ipk 吗?
    ywy12345
        61
    ywy12345  
       142 天前
    @ywy12345 er... kmod 需要和 kernel 对应,我这个 r4s 的软路由是厂商的 FriendlyWrt... 估计要重刷或者自己编译了。。。这周得等了。。。
    sp670
        62
    sp670  
       142 天前
    @lcy630409 懒得换了,短期没折腾的动力。我家主路由是 RB3011 ,测速 970M 的时候已经一个核心满载了;交换机是 JGS524PE 也是全千兆电口的。如果要玩的爽可能要至少 5 年后有 2000M 宽带了,到时路由和交换机一起升级。
    hadoop
        63
    hadoop  
       141 天前
    @freeznet 8346x6 最后成功了没
    freeznet
        64
    freeznet  
       140 天前
    @hadoop 没有成功,bonding 后光猫那边没有实现聚合,应该是不支持,肯定得换支持的光猫才行
    ungrown
        65
    ungrown  
       140 天前
    @advancejar #29 这个帖子里的人用的是 USB 网卡,USB 碰上高功耗、高负载、高吞吐之类的情况,掉设备很正常
    lcy630409
        66
    lcy630409  
       140 天前
    经过测试,貌似在刚开机的时候 会聚合,之后会掉速.....不知道啥情况...看 ifconfig 两个网卡的流量是分摊的,但是速度只有 800-900 了,到不了 1000m ,把光猫和路由关机 之后再开机,就又有 1000m 了
    zhqiang
        67
    zhqiang  
       140 天前 via iPhone
    @ywy12345 8546q ,一开始配置写错网卡名字了。改正后就可以。聚合前,speednet 测速大概在 900 左右。聚合后大概在 1100m 左右,峰值偶尔有飙到 1150-1170 。
    缺点是聚合后 iptv 的设置怎么搞都不工作了,只好放弃了,改回了普通单线模式。
    ywy12345
        68
    ywy12345  
       138 天前   ❤️ 2
    @freeznet 成功了,海鲜市场买了 8546q ,新的 200 ,二手的 100 多但是没电源,我买了个新的,卖家帮刷了华为界面和 Mac 地址。楼上 @swiftg 说了就是电信马甲 hn8145q ,联通马甲 hn8346q 的移动马甲。

    换猫不复杂,不需要联通小哥,就是照着自己之前的光猫把 Internet 的 VLAN 配置配一遍。
    软路由是 NanoPi R4s + 一个螃蟹 USB 的 2.5 网卡。刷了 OpenWRT 官方的 snapshot 镜像。可以直接在 web 界面( LuCI )里面直接加一个 Bond 接口,不太需要手工改配置太多。

    https://www.speedtest.net/result/c/fbc02327-f2b2-4e7d-9e1c-9e83129b219c

    @zhqiang 我是光猫拨号,感觉不影响 IPTV 啊。
    ywy12345
        69
    ywy12345  
       137 天前 via iPhone
    @lcy630409 我也买了一个,装 esxi 7 没有问题,这个镜像: https://sysin.org/blog/vmware-esxi-7-u3-nuc-usb-nvme/
    freeznet
        70
    freeznet  
       136 天前
    @ywy12345 多谢多谢,我也下单一个 8546q 试试~
    ywy12345
        71
    ywy12345  
       136 天前
    @freeznet 北京联通的话记得让卖家帮改 10G Epon 和 Mac 地址
    freeznet
        72
    freeznet  
       136 天前
    @ywy12345 嗯嗯多谢提醒,本周内应该能到货上机测试一下~
    hadoop
        73
    hadoop  
       135 天前 via Android
    @ywy12345 联通 hn8346q 和 hn8346x6 是一个东西吗
    TrickLin
        74
    TrickLin  
       135 天前 via Android
    咸鱼上搞的电信破解全网通光猫 华为 HN8245Q 确认是不支持 也可能和卖家搞的破解固件有关系...总之是退掉了...
    TrickLin
        75
    TrickLin  
       135 天前 via Android
    @shaoshuang 想问一下您这边的 MA5671 光猫是走的桥接模式吗
    zhqiang
        76
    zhqiang  
       134 天前
    @shaoshuang 你的 ma5671 那个固件版本,我这边也有一台 ma5671 ,貌似即使设置好好,也突破不了 940m
    zhqiang
        77
    zhqiang  
       134 天前
    @ywy12345
    iptv 也搞定了,我想当然的把 iptv 要走的 device 也设置成了 bond-wan ,这样怎么都不行,但是后来不管他,任然设置为 eth1 ,就没有问题了
    gglxh
        78
    gglxh  
       133 天前 via iPhone
    聚合成功但仍然没破千兆不一定是自己的问题,有些地区千兆限速就是更严格不给余量,或者是局端的交换机还是千兆的
    zhqiang
        79
    zhqiang  
       133 天前 via iPhone
    我一台 hn8546 聚合后大概 1100+的速度。但是换成 ma5671 就只有大概 900m ,和普通单根线差不多,所以有点好奇。如果 ma5671 要是也可以的话,那就在目前完美了,毕竟体积摆在那里。
    ywy12345
        80
    ywy12345  
       133 天前 via iPhone
    @hadoop 不是,8546q 有三根天线,wifi5 。x6 是 wifi6 ,但好像不可以聚合
    freeznet
        81
    freeznet  
       130 天前
    8546q 到了,折腾了一下 ROS bonding 完美突破 960M 网速~
    hadoop
        82
    hadoop  
       127 天前 via Android
    上行能够叠加吗
    hadoop
        83
    hadoop  
       126 天前 via Android
    @freeznet 1 直接换了联通光猫? 2 上行能叠加吗?
    tcpdump
        84
    tcpdump  
       125 天前
    回复收藏一下
    fan88
        85
    fan88  
       125 天前
    地区湖南 更换 8546Q 光猫后测速仍然只有 940M 。 心累了。
    在测速时同时在光猫 Telnet 进 shell 开启 IPerf3 服务端,此时公网+内网流量可以超过 1.1G 。(光猫性能问题,IPerf 电脑到光猫最多只能测到 200M )
    叠加应该有效果,但是估计 OLT 限制了 940M 吗?


    OLT 上行 1G 应该不太会,因为我们这边有两条线路,一条 1000M ,一条商务 500M ,均使用 10G EPON 注册,叠加后可以达到 1400M 。

    所以唯一的解释就是 1000M 宽带做了 OLT 限速 940M
    freeznet
        86
    freeznet  
       123 天前
    @hadoop 1 、对的,直接替换掉了联通的光猫,卖家在发货之前帮忙配置好了 MAC 等信息
    2 、bonding 的方法不是多拨,所以不会突破联通单线的速度上限,也不会有速度叠加的效果~
    hadoop
        87
    hadoop  
       123 天前
    @freeznet 闲鱼还是某宝买的?我也准备去试试
    jcxq5200
        88
    jcxq5200  
       122 天前
    @freeznet ROS bonding 里面还需不需改什么,我今天刚买的 hn8546q 改成华为界面桥接,单线 940M ,聚合后比聚合前还差,我是 2 千兆宽带,不存在 OLT 限速千兆
    jcxq5200
        89
    jcxq5200  
       122 天前
    @freeznet 我试着把 link monitoring 的 mii 改成 none 就聚合成功,但是速度每张网卡最高 700M ,合并就是 1400M ,我是 2000M 宽带,不知道为啥效率有点低
    freeznet
        90
    freeznet  
       122 天前
    @hadoop 闲鱼买的~
    freeznet
        91
    freeznet  
       122 天前
    @jcxq5200 我这边没有做什么处理,就是新建一个 bonding 然后把相关的网口加进去,其他配置项都是默认的。建好 bonding 后修改一下 pppoe 改用新的 bonding 接口进行拨号就 ok 了~
    oree
        92
    oree  
       116 天前
    不如服务器上 10G 网卡拨号
    feast
        93
    feast  
       115 天前
    @oree 不如直接 40G ?找啥优越呢,优越能解决问题不
    TsukiMori
        94
    TsukiMori  
       113 天前
    需要光猫的光口速率在 1G 以上吧
    woshiekao
        95
    woshiekao  
       92 天前
    搞个猫棒就行了,简单方便
    qmm0523
        96
    qmm0523  
       90 天前
    hn8546q 测试成功

    说下几个要点:
    1.一定要使用桥接模式让软路由拨号,光猫拨号只能跑到 900 多兆
    2.光猫拿到手如果没帮忙改好的话,可以按住 reset 再插电重置光猫到出厂设置,再用运营商默认密码进入后台管理
    3.如果要开启 telnet 的话可以使用方法 2 进入后台后直接开启 telnet,不需要使用 ont 使能工具。用 ont 使能工具记得版本选 v3(网上教程基本上都是 v5,这款 hn8546 是 v3)
    4.telnet 网上给的默认 telnet 密码进不去可以试试 root/[email protected]
    5.如果软路由不是直接跑的 openwrt 的话,比如我用的是 PVE ,可以直接在宿主机上做 bonding
    6.hn8546q 全部支持 xg-pon 和 10g epon 如果买回来发现版本不对不要慌,改成华为界面后把配置文件下载下来 hw_ctree.xml 里改一下 再 web 上传上去就行
    acerest
        97
    acerest  
       33 天前
    @dingli900201 #19 哥们,ikuai 好像还没加是吧。我用 ikuai 主路由,没搞定。
    dingli900201
        98
    dingli900201  
       32 天前   ❤️ 1
    @acerest ikuai 最新版的 3.6.3 已经可以用了
    关于   ·   帮助文档   ·   API   ·   FAQ   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   2486 人在线   最高记录 5497   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 32ms · UTC 11:49 · PVG 19:49 · LAX 04:49 · JFK 07:49
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.