tc命令
tc stands for Traffic Control,是Linux中实现流量控制的主要命令。通过tc命令,可以创建类别和过滤器,设置带宽限制和优先级等。
- 使用tc命令创建一个类别
- shell tc qdisc add dev eth0 root handle 1: htb default 10
- 该命令创建了一个名为eth0的网络设备的根类别,使用htb算法进行带宽限制,10为默认的优先级。
- 在类别中设置带宽限制
- shell tc class add dev eth0 parent 1: classid 1:1 htb rate 1mbps
- 该命令在根类别下创建子类别,限制带宽为1Mbps。
- 为特定IP地址或端口设置流量限制
- shell tc filter add dev eth0 parent 1: protocol ip prio 1 u32 match ip src 192.168.1.100 match ip dport 80 0xffff flowid 1:1
- 该命令设置了源IP地址为192.168.1.100,目标端口为80的流量流向从根类别到1:1子类别。
- shell tc filter add dev eth0 parent 1: protocol ip prio 1 u32 match ip src 192.168.1.100 match ip dport 80 0xffff flowid 1:1
iptables命令
iptables是Linux中的防火墙工具,也可以用于限制流量。可以使用iptables命令设置规则,过滤和限制特定IP地址或端口的流量。
- 使用iptables命令限制特定IP地址的流量:
- shell iptables -A INPUT -s 192.168.1.100 -j DROP
- 该命令将来自IP地址为192.168.1.100的数据包丢弃,实现对特定IP地址的流量限制。
- shell iptables -A INPUT -s 192.168.1.100 -j DROP
- 使用iptables命令限制特定端口的流量:
- shell iptables -A INPUT -p tcp –dport 80 -j DROP
- 该命令将来自目标端口为80的TCP数据包丢弃,实现对特定端口的流量限制。
- shell iptables -A INPUT -p tcp –dport 80 -j DROP
wondershaper命令
wondershaper是一个基于tc命令的命令行工具,用于简化网络流量限制的配置过程。
- 安装wondershaper命令:
- shell sudo apt-get install wondershaper
- 使用wondershaper命令限制网络接口的流量:
- shell sudo wondershaper eth0 1024 256
- 该命令将网络接口eth0的下载速度限制为1024 Kbps,上传速度限制为256 Kbps。
- shell sudo wondershaper eth0 1024 256