linuxtc限速
A. linux使用TC限速的问题
处理信息在device eth1 INC中处理的. 前面是序号, root对eth1有绝对控制权,并使用了htb流量控制算法. 平均
B. linux tc 限流参数 rate和 ceil的区别
tc qdisc add dev eth1 root tbf rate XXkbit limit 1024kbit burst 1024 最简单就是这样,把xx换成想要的限制带宽
C. linux 路由器限速实现方法
linux的开源和免费使得越来越多的厂家用它来做防火墙和路由器,今天本文用linux来打造一台高性能的能够限速的路由器。文章就以red hat为例教大家在linux下进行路由器限速。
linux的开源和免费使得越来越多的厂家用它来做防火墙和路由器,如海蜘蛛,飞鱼星等,其实我们也可以用linux来打造一台高性能的路由器。下面就以red hat为例(其他版本大同小异)教大家做一台能限速的`路由器,如何在linux下进行路由器限速就不再困难了。
安装linux如果是新手请安装时安装图形桌面。Linux路由器限速的设置步骤如下:
路由器限速第一步:建立adsl连接,在系统设置——网络设置处有。在图形界面下很容易搞定。
路由器限速第二步:打开IP转发和伪装(也就是路由与NAT)
1、作为根用户打开/etc/sysconfig/network文件,在文件增加以下一行:
GATEWAYDEV=PPP0 这句话的作用是设定默认路由,有时没有也可
2、打开IP转发功能:打开/etc/sysctl.conf文件,修改net.ipv4.ip_forward=0一行,改0改为1
3、重启系统
路由器限速第三步:设置iptables防火墙,决定那些IP能通过linux主机上网。
下面以允许192.168.0.0网段为例:
1、打开终端在#字提示符下输入以下命令:
iptables -t nat -I POSTROUTING -o ppp0 -j MASQUERADE #这句意思是伪装从pppo出去的IP
iptables -A FORWARD -s 192.168.0.0/24 -j ACCEPT #这句意思是转发来自192。168。0。0网段的通讯
iptables -A FORWARD -d 192.168.0.0/24 -j ACCEPT #这句意思是转发到达192。168。0。0网段的通讯
iptables -A FORWARD -s ! 192.168.0.0/24 -j DROP #这句意思是拒绝转发非192.168.0.0网段的通讯。
2、保存以上防火墙规则,以保证重启后还有效, 输入命令:iptables-save > /etc/sysconfig/iptables,这样,你的linux路由器应该就能跑起来了。
linux做路由器限速的实现:在linux中有专门限速的软件--tc,但TC的语法新手难以掌握,我们可以在防火墙上通过限定某个IP或某段IP在一秒内通过的数据包的数量来限速。
下面以限制192.168.0.2这个IP的网速为例说说,在桌面环境下打开/etc/syscofngi/iptables 有没有发现,刚才的设定全记录在这个文件里,现在做的就在这个文件里添加规则就得了。
1、先要找到filter
2、在filter下面一行增加以下两行:
-A FORWARD -m limit -d 192.168.0.2 --limit 30/sec -j ACCEPT # 这句意思是限定每秒只转发30个到达192。168。0。2的数据包(约每秒45KB 一个数据包是1.5KB)
-A FORWARD -d 192.168.0.2 -j DROP #这句作用是超过限制的到达192.168.0.2的数据包不通过)
3、路由器限速经过重启系统就实现了。
D. linux tc 流量控制,求助的相关推荐
TC的安装
TC是Linux自带的模块,一般情况下不需要另行安装,可以用 man tc 查看tc 相关命令细节,tc 要求内核 2.4.18 以上
[plain] view plain
##注意:64位机器上,先执行下面命令
ln -s /usr/lib64/tc /usr/lib/tc
TC原理介绍
Linux 操作系统中的流量控制器 TC(Traffic Control) 用于Linux内核的流量控制,它利用队列规定建立处理数据包的队列,并定义队列中的数据包被发送的方式,从而实现对流量的控制。TC 模块实现流量控制功能使用的队列规定分为两类,一类是无类队列规定,另一类是分类队列规定。无类队列规定相对简单,而分类队列规定则引出了分类和过滤器等概念,使其流量控制功能增强。
无类队列规定是对进入网络设备(网卡)的数据流不加区分统一对待的队列规定。使用无类队列规定形成的队列能够接收数据包以及重新编排、延迟或丢弃数据包。这类队列规定形成的队列可以对整个网络设备(网卡)的流量进行整形,但不能细分各种情况。常用的无类队列规定主要有 pfifo_fast(先进先出)、TBF(令牌桶过滤器)、SFQ(随机公平队列)、ID(前向随机丢包)等等。这类队列规定使用的流量整形手段主要是排序、限速和丢包。
分类队列规定是对进入网络设备的数据包根据不同的需求以分类的方式区分对待的队列规定。数据包进入一个分类的队列后,它就需要被送到某一个类中,也就是说需要对数据包做分类处理。对数据包进行分类的工具是过滤器,过滤器会返回一个决定,队列规定就根据这个决定把数据包送入相应的类进行排队。每个子类都可以再次使用它们的过滤器进行进一步的分类。直到不需要进一步分类时,数据包才进入该类包含的队列排队。除了能够包含其他队列规定之外,绝大多数分类的队列规定还能够对流量进行整形。这对于需要同时进行调度(如使用SFQ)和流量控制的场合非常有用。
E. linux下有什么可以限制网速的软件
专门的限速软件,只有linux防火墙如:pfsence,不过默认的iptables防火墙也可以限速的
如以ip地址来限速
iptables -A FORWARD -m limit -d 202.96.209.6 --limit 2400/s --limit-burst 100 -j ACCEPT
iptables -A FORWARD -d 202.96.209.6 -j DROP
iptables -A FORWARD -m limit -s 202.96.209.6 --limit 2400/s --limit-burst 100 -j ACCEPT
iptables -A FORWARD -s 202.96.209.6 -j DROP
限制某网段
iptables -A FORWARD -s 192.168.100.0/24 -m limit --limit 100/s -j ACCEPT
iptables -A FORWARD -s 192.168.100.0/24 -j DROP
以协议icmp放ddos限速
iptables -A INPUT -f -m limit --limit 150/sec --limit-burst 100 -j ACCEPT
限制ssh接入频率
iptables -A INPUT -p tcp –dport 22 -s 10.1.0.0/16 -j ACCEPT
iptables -A INPUT -p tcp –dport 22 -j ratelimit
F. linux服务器要怎样针对IP流量限制
不是木马,是设置问题,下面是流量的控制方法一、Linux流量控制过程分二种:1、队列控制即QOS,瓶颈处的发送队列的规则控制,常见的有SFQPRIO2、流量控制即带宽控制,队列的排队整形,一般为TBFHTB二、Linux流量控制算法分二种:1、无类算法用于树叶级无分支的队列,例如:SFQ2、分类算法用于多分支的队列,例如:PRIOTBFHTB三、具体实现:1.在网卡上建立以SFQ算法的限流#tcqdiscadddeveth0roothandle1:sfqSFQ参数有perturb(重新调整算法间隔)quantum基本上不需要手工调整:handle1:规定算法编号..可以不用设置由系统指定..#tcqdiscshdeveth0显示算法#tcqddeldeveth0root删除注:默认eht0支持TOS2.在网卡建立以TBF算法的限流#tcqdadddeveth1roothandle1:速率256kbit突发传输10k最大延迟50ms#tc-sqdshdeveth1统计#tcqddeldeveth1root删除3.在网卡建立PRIO#tcqdiscadddeveth0roothandle1:prio#此命令立即创建了类:1:1,1:2,1:3(缺省三个子类)#tcqdiscadddeveth0parent1:1handle10:sfq#tcqdiscadddeveth0parent1:2handle20:注:此为TBF限速的另一写法,前文有讲解.#tcqdiscadddeveth0parent1:3handle30:sfq4.WEB服务器的流量控制为5Mbps,SMTP流量控制在3Mbps上.而且二者一共不得超过6Mbps,互相之间允许借用带宽#tcqdiscadddeveth0roothandle1:#tcclassadddeveth0parent1:0classid1:.这部分按惯例设置了根为1:0,并且绑定了类1:1.也就是说整个带宽不能超过6Mbps.#tcclassadddeveth0parent1:1classid1:.#tcclassadddeveth0parent1:1classid1:.建立了2个类.注意我们如何根据带宽来调整weight参数的.两个类都没有配置成"bounded",但它们都连接到了类1:1上,而1:1设置了"bounded".所以两个类的总带宽不会超过6Mbps.别忘了,同一个CBQ下面的子类的主号码都必须与CBQ自己的号码相一致!#tcqdiscadddeveth0parent1:3handle30:sfq#tcqdiscadddeveth0parent1:4handle40:sfq缺省情况下,两个类都有一个FIFO队列规定.但是我们把它换成SFQ队列,以保证每个数据流都公平对待.#tcfilteradddeveth0parent1::3#tcfilteradddeveth0parent1::46.过滤器过滤示例#::1在10:节点添加一个过滤规则,优先权1:凡是去往22口(精确匹配)的IP数据包,发送到频道10:1..#::1在10:节点添加一个过滤规则,优先权1:凡是来自80口(精确匹配)的IP数据包,发送到频道10:1..#:prio2flowid10:2在eth0上的10:节点添加一个过滤规则,它的优先权是2:凡是上二句未匹配的IP数据包,发送到频道10:2..#tcfilteradddeveth0parent10:.3.2.1/32flowid10:1去往4.3.2.1的包发送到频道10:1其它参数同上例#tcfilteradddeveth0parent10:.2.3.4/32flowid10:1来自1.2.3.4的包发到频道10:1#:prio2flowid10:2凡上二句未匹配的包送往10:2#tcfilteradddeveth0parent10:.3.2.1/:1可连续使用match,匹配来自1.2.3.4的80口的数据包
G. 如何用Linux安全管理网络流量
双网卡的linux串联在网络中,并且用tc命令进行限速。
不过实在是没必要自己搞啦,那么多现成的软路由系统都可以用。推荐使用”WFilter上网行为管理系统“,和一般的软路由器相比,有很多优势:
1. 超级强大的上网行为管理功能,支持网址库过滤,应用过滤,聊天过滤等。
2. 上网记录和统计功能:网页和邮件的内容记录和审计。各种统计报表。
3. 域账号集成,可以和微软AD域集成。
4. 多种扩展插件:局域网扫描,DHCP扫描,私接路由和随身Wifi扫描等。
5. 全中文界面,提供在线QQ技术支持。
6. 当然,软路由的其他功能都有。
H. OpenWrt教程-iptables+tc命令实现ip组限速功能
tc是英文traffic control的简称,即流量控制,主要用于控制网卡流量,包括流量限速、流量整形等。
tc命令可以轻松的实现基于单个ip限速的功能,但如果要实现基于ip组(如192.168.0.10-192.168.0.20)的限速,需要结合iptables命令。因为tc没有匹配ip range模块,而iptables支持匹配ip range。二者可以通过mark来标记数据报文。
通过iptables在POSTROUTING链打规则匹配ip组,并根据组id给数据包打mark,tc规则匹配mark进行分类。由于tc规则匹配是在发送数据包位置,所以tc可以识别iptables标记。
iptables命令需要依赖iprange模块,注意检查内核模块是否已经选上。
命令
iptables -t mangle -A POSTROUTING -m iprange --dst-range 192.168.0.2-192.168.0.200 -j MARK --or-mark 0x1
iptables -t mangle -A POSTROUTING -m iprange --src-range 192.168.0.2-192.168.0.200 -j MARK --or-mark 0x1
--dst-range 为目的地址段,即下行数据报文匹配,出口为lan接口
--src-range 为源地址段,即上行数据报文匹配,出口为wan接口
--or-mark 用于以或的关系设置mark,因为mark可能提前被提前设置过,如之前的mark为0x0100,通过--or-mark设置0x1后mark为0x0101,不会影响之前设置的mark,注意匹配是用掩码按位匹配。
举个例子:
0x0100 --or-mark(0x1) = 0x0101
0x0100 --or-mark(0x2) = 0x0102
而如果是--set-mark,会清楚之前的mark
0x0100 --set-mark(0x1) = 0x0001
0x0100 --set-mark(0x2) = 0x0002
上行接口为eth1(wan口物理接口,如果是pppoe拨号也适用,因为ppp虚接口最终要走eth接口发包出去)
下行接口为br-lan,lan侧可能有无线接口eth0、无线接口wlan0等,所以这里规则设置在br-lan接口
tc qdisc add dev br-lan root handle 1:0 htb default 999
tc class add dev br-lan parent 1:0 classid 1:1 htb rate 2Mbit ceil 2Mbit
tc class add dev br-lan parent 1:0 classid 1:999 htb rate 100Mbit ceil 100Mbit
tc filter add dev br-lan parent 1:0 prio 10 handle 0x1/0xff fw classid 1:1
注意查看tc规则是否匹配可以观察tokens变化情况。
