linux tc 对本机网卡限速

简介:
今天由于项目要测试在网络环境不好的情况下,会不会对平台有所影响,要求测试限制服务器流量,我想到了TC,我对TC不是很了解, google了一下,看到了不少文章都是做路由用的,对我来说不是很实用,因为我是对单机测试。先看看TC命令在说,没想到报错,错误如下:
shell$> tc -s qdisc
RTNETLINK answers: Invalid argument
看到这个错误很迷茫,命令是支持的啊,在网上查询了很久,发现是内核不支持,不支持QOS,不支持正常,因为我的内部测试服务器用XEN,虚拟的系统,所以我重新编译DomU内核,添加 QOS,CBQ等
环境:
xen domU : ubuntu-server 8.0.4  IP:192.168.6.101
kernel : linux-2.6.18-xen
xen dom0 : ubuntu-server 8.0.4  IP:192.168.6.209
操作:
DomU $> tc -s qdisc
RTNETLINK answers: Invalid argument
进入父系统:
Dom0 $> cd xen-3.4.2
编译xen DomU 内核
Dom0 $> make linux-2.6-xenU-config CONFIGMODE=menuconfig
选择 Networking  —>
          Networking options  —>
                QoS and/or fair queueing  —>
                      [*] QoS and/or fair queueing
把下面的最好都选上吧 * 是打入内核,M 是以模块方式。我全选择 *
选择好,保存退出
Dom0 $> make linux-2.6-xenU-build        
Dom0 $> cd xen-3.4.2/dist/install/boot
Dom0 $> scp vmlinuz-2.6.18.8-xenU :~
好,然后进入 DomU
DomU $> ls
vmlinuz-2.6.18.8-xenU
覆盖 以前的vmlinuz-2.6.18.8-xenU
DomU $> mv vmlinuz-2.6.18.8-xenU /boot/
DomU $> reboot
重启后,在进入系统,看是否还报错:
DomU $> tc -s qdisc
好没有报错“下来我们对 服务器 1935 端口进行限速,限制为 上传下载都为50Kbit
CBQ 算法:
DomU $> tc qdisc del dev eth0 root
DomU $> tc qdisc add dev eth0 root handle 1:0 cbq bandwidth 100Mbit avpkt 1000 cell 8
DomU $> tc class add dev eth0 parent 1:0 classid 1:1 cbq bandwidth 100Mbit rate 50Kbit weight 50Kbit prio 8 allot 1514 cell 8 maxburst 20 avpkt 1000 bounded
DomU $> tc class add dev eth0 parent 1:1 classid 1:4 cbq bandwidth 100Mbit rate 50Kbit weight 50Kbit prio 5 allot 1514 cell 8 maxburst 20 avpkt 1000
DomU $> tc qdisc add dev eth0 parent 1:4 handle 40: sfq
DomU $> tc filter add dev eth0 parent 1:0 protocol ip prio 1 u32 match ip sport 1935 0xffff flowid 1:4
好了 连接 1935 试试吧`


本文转自Deidara 51CTO博客,原文链接:http://blog.51cto.com/deidara/271028,如需转载请自行联系原作者
 
相关文章
|
2月前
|
负载均衡 安全 Linux
02.Linux网卡:连接虚拟与现实的桥梁🌉
在介绍Linux网卡之前,让我们先迈入时光机🕰️,回到1980年代末期,互联网正在逐步从一个科研网络向公众网络转变,Linux——一个自由和开源的操作系统诞生了🐧。Linux的出现,对于计算机科学领域来说,就像是一场革命🔥,它不仅促进了开源文化的发展🌱,也让更多的人能够自由地使用和修改操作系统💻。
02.Linux网卡:连接虚拟与现实的桥梁🌉
|
2月前
|
网络协议 Ubuntu Linux
Linux 动态/静态配置ip网卡信息
Linux 动态/静态配置ip网卡信息
79 0
|
2月前
|
网络协议 Linux 网络安全
Linux修改网卡信息——保姆式操作流程
Linux修改网卡信息——保姆式操作流程
122 0
|
2月前
|
Linux
百度搜索:蓝易云【Linux重启网卡报错Determining if ip address怎么解决?】
请注意,在执行涉及网络配置的操作时要小心,确保避免重要网络设置的错误。建议在修改网络配置之前备份相关文件,以便出现问题时可以还原配置。如果不确定如何操作,最好寻求网络专家的帮助。
56 0
|
8月前
|
Linux C语言
百度搜索:蓝易云【Linux c语言获取本机 ip、子网掩码教程。】
需要注意的是,代码中的接口名称为"eth0",你可以根据实际情况修改为你的网络接口名称。在程序中,我们使用 `ioctl`函数进行控制操作,通过 `SIOCGIFADDR`获取IP地址,通过 `SIOCGIFNETMASK`获取子网掩码。
81 3
|
9月前
|
Linux 网络架构
Linux 中查看本机的子网掩码和网关
Linux 中查看本机的子网掩码和网关
|
8月前
|
监控 网络协议 Linux
Linux网卡调优:RPS (Receive Packet Steering)
Linux网卡调优:RPS (Receive Packet Steering)
276 0
|
28天前
|
Ubuntu Linux
ubuntu linux配置bond 网卡绑定 多个bond配置多网关
ubuntu linux配置bond 网卡绑定 多个bond配置多网关
19 1
|
28天前
|
缓存 网络协议 Ubuntu
netperf网卡测速ubuntu linux 环境下测硬件网卡速度
netperf网卡测速ubuntu linux 环境下测硬件网卡速度
22 1
|
2月前
|
安全 网络协议 Linux
Linux网卡与公网IP地址:一个不可随意配置的世界🌐
在Linux系统的网络配置中,IP地址的配置是基础也是关键。许多人可能好奇:**为何不能随意为Linux网卡配置公网IP地址,而私网IP地址似乎就可以随心所欲呢**?本文将解开这些问题的答案,探索公网IP地址被严格管控的原因,以及如何在全球范围内分配这些宝贵的资源。
Linux网卡与公网IP地址:一个不可随意配置的世界🌐