主 题:流量计算及端口限速的脚本方案,仅供讨论参考
发 布 者:nttbest
标签分类: 技术
时 间:2026-07-23 18:00:17
内容预览:前两天看到有贴问有没有不是面板的流量计算脚本,我Po0上正好用了这样的方案,和同事每人100Mbps共享200Mbps带宽,下午摸鱼的时候整理了一下,欢迎喜欢折腾的大佬一起寻找BUG。不保证没有BUG,方案略微麻烦需要用户理解后自己折腾,仅供探讨。本方案优点:完全0性能损耗,因为所有功能全由linux kernel层级管理。本质使用cake限速,不会造成任何缓冲膨胀bufferbloat,一边下载一边打游戏把限速带宽占满理论也不会影响打游戏。在不超售/不超额分配的情况下,完全不怕另一边折腾。当初设计这套方案就是为了实现这两个目标,目前用了几个月了,感觉貌似没BUG,也找AI做了监修,欢迎各位大佬自行试验。由于我是用在Po0上的,Po0只计算出向流量(共500G),且实际可用流量约为面板显示流量的86%,所以脚本里每个端口分配的流量为250G的86%即215G。本脚本分为4个模块:Network模块此模块放进/etc/network/if-up.d,权限0755,开机时自动启动一次,此模块使用tc进行流量计算,最早我用的iptables计算流量,但是太容易造成冲突了,想了想反正我限速端口就改用tc计算流量了。tc计算流量重启清零比iptables要麻烦一点,重启的话最多会损失crontab运行间隔的统计流量……流量监测模块此模块由crontab每5分钟运行一次,权限0755,监测并记录流量使用情况。每月重置流量模块此模块由crontab每月定时运行一次,权限0755,重置流量并删除流量用完后被封禁的端口规则。流量使用查询模块此模块手动运行,把数据库难以阅读的字节数据转换为方便阅读的GB。Network模块脚本: !/bin/bash[ "$IFACE" != "eth0" ] %26%26 [ "$1" != "force" ] %26%26 exit 0
直达链接: https://www.nodeseek.com/post-836122-1
发 布 者:nttbest
标签分类: 技术
时 间:2026-07-23 18:00:17
内容预览:前两天看到有贴问有没有不是面板的流量计算脚本,我Po0上正好用了这样的方案,和同事每人100Mbps共享200Mbps带宽,下午摸鱼的时候整理了一下,欢迎喜欢折腾的大佬一起寻找BUG。不保证没有BUG,方案略微麻烦需要用户理解后自己折腾,仅供探讨。本方案优点:完全0性能损耗,因为所有功能全由linux kernel层级管理。本质使用cake限速,不会造成任何缓冲膨胀bufferbloat,一边下载一边打游戏把限速带宽占满理论也不会影响打游戏。在不超售/不超额分配的情况下,完全不怕另一边折腾。当初设计这套方案就是为了实现这两个目标,目前用了几个月了,感觉貌似没BUG,也找AI做了监修,欢迎各位大佬自行试验。由于我是用在Po0上的,Po0只计算出向流量(共500G),且实际可用流量约为面板显示流量的86%,所以脚本里每个端口分配的流量为250G的86%即215G。本脚本分为4个模块:Network模块此模块放进/etc/network/if-up.d,权限0755,开机时自动启动一次,此模块使用tc进行流量计算,最早我用的iptables计算流量,但是太容易造成冲突了,想了想反正我限速端口就改用tc计算流量了。tc计算流量重启清零比iptables要麻烦一点,重启的话最多会损失crontab运行间隔的统计流量……流量监测模块此模块由crontab每5分钟运行一次,权限0755,监测并记录流量使用情况。每月重置流量模块此模块由crontab每月定时运行一次,权限0755,重置流量并删除流量用完后被封禁的端口规则。流量使用查询模块此模块手动运行,把数据库难以阅读的字节数据转换为方便阅读的GB。Network模块脚本: !/bin/bash[ "$IFACE" != "eth0" ] %26%26 [ "$1" != "force" ] %26%26 exit 0
直达链接: https://www.nodeseek.com/post-836122-1