收起左侧

网卡上传流量限制,需要自取

3
回复
43
查看
[ 复制链接 ]

1

主题

3

回帖

0

牛值

江湖小虾

使用场景,使用迅雷等下载软件,总体限制上传流量。(自带功能也用了上传,根据自己场景灵活开关)

一、首先ssh登录到系统,这个不赘述。然后是确认网卡

# 使用ifconfig命令查看自己的需要现在的网卡,本人网卡做了bond,开启了ovs,但是需要现在的网卡还是bond1这张

ifconfig

bond1: flags=5187

bond1-ovs: flags=4163

code

code

code

收藏
送赞
分享

1

主题

3

回帖

0

牛值

江湖小虾

昨天 20:10 楼主 显示全部楼层

bond1: flags=5187 mtu 1500
ether 90:e2:ba:ed:17:b9 txqueuelen 1000 (Ethernet)
RX packets 1272542116 bytes 1634518178339 (1.4 TiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 1019186341 bytes 219511728748 (204.4 GiB)
TX errors 0 dropped 5 overruns 0 carrier 0 collisions 0

bond1-ovs: flags=4163 mtu 1500
inet 192.168.37.18 netmask 255.255.255.0 broadcast 192.168.37.255
ether 90:e2:ba:ed:17:b9 txqueuelen 1000 (Ethernet)
RX packets 1200966114 bytes 1613271038679 (1.4 TiB)
RX errors 0 dropped 23 overruns 0 frame 0
TX packets 935986013 bytes 214036499028 (199.3 GiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

br-54a25ce55216: flags=4163 mtu 1500
inet 172.18.0.1 netmask 255.255.0.0 broadcast 172.18.255.255
inet6 fe80::42:ffff:feec:4730 prefixlen 64 scopeid 0x20
ether 02:42:ff:ec:47:30 txqueuelen 0 (Ethernet)
RX packets 869943569 bytes 72463786759 (67.4 GiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 1114016523 bytes 1542713338360 (1.4 TiB)
TX errors 0 dropped 43 overruns 0 carrier 0 collisions 0

docker0: flags=4099 mtu 1500
inet 172.17.0.1 netmask 255.255.0.0 broadcast 172.17.255.255
ether 02:42:1b:07:79:01 txqueuelen 0 (Ethernet)
RX packets 0 bytes 0 (0.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 0 bytes 0 (0.0 B)
TX errors 0 dropped 6663 overruns 0 carrier 0 collisions 0

enp4s0f0: flags=6211 mtu 1500
ether 90:e2:ba:ed:17:b8 txqueuelen 1000 (Ethernet)
RX packets 625746 bytes 115532243 (110.1 MiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 510387098 bytes 109507415759 (101.9 GiB)
TX errors 0 dropped 5 overruns 0 carrier 0 collisions 0

enp4s0f1: flags=6211 mtu 1500
ether 90:e2:ba:ed:17:b9 txqueuelen 1000 (Ethernet)
RX packets 1272115547 bytes 1634534245106 (1.4 TiB)
RX errors 0 dropped 1 overruns 0 frame 0
TX packets 508945761 bytes 110045208276 (102.4 GiB)
TX errors 0 dropped 9 overruns 0 carrier 0 collisions 0

enp8s0: flags=4099 mtu 1500
ether 00:e0:4c:aa:03:f2 txqueuelen 1000 (Ethernet)
RX packets 0 bytes 0 (0.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 0 bytes 0 (0.0 B)
TX errors 0 dropped 12 overruns 0 carrier 0 collisions 0

enp9s0: flags=4099 mtu 1500
ether 00:e0:4c:aa:03:f3 txqueuelen 1000 (Ethernet)
RX packets 0 bytes 0 (0.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 0 bytes 0 (0.0 B)
TX errors 0 dropped 12 overruns 0 carrier 0 collisions 0

lo: flags=73 mtu 65536
inet 127.0.0.1 netmask 255.0.0.0
inet6 ::1 prefixlen 128 scopeid 0x10
loop txqueuelen 1000 (Local Loopback)
RX packets 10826945 bytes 1715300551 (1.5 GiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 10826945 bytes 1715300551 (1.5 GiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

tun0: flags=81 mtu 1360
inet 192.168.251.18 netmask 255.255.255.0 destination 192.168.251.18
inet6 fe80::231d:61da:c51a:aaf1 prefixlen 64 scopeid 0x20
unspec 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00 txqueuelen 500 (UNSPEC)
RX packets 12899235 bytes 1834759072 (1.7 GiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 6599 bytes 2082029 (1.9 MiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

veth2681d6e: flags=4163 mtu 1500
inet6 fe80::d8c8:bff:fe1a:e10c prefixlen 64 scopeid 0x20
ether da:c8:0b:1a:e1:0c txqueuelen 0 (Ethernet)
RX packets 869954906 bytes 84643382183 (78.8 GiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 1114044689 bytes 1542726669223 (1.4 TiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

1

主题

3

回帖

0

牛值

江湖小虾

昨天 20:12 楼主 显示全部楼层

添加网卡上传流量限制

#清除Iptables Mangle规则
/sbin/iptables -t mangle -F
#清除清除eth0上原有的队列类型 (根据实际网卡名称替换bond1)
tc qdisc del dev bond1 root 2>/dev/null
#创建队列规则添加到bond1上,root表示根规则,设置句柄为1:,htb default 1表示没有进行分类的数据包都走1:1缺省类
tc qdisc add dev bond1 root handle 1: htb default 1
#在父类1:的基础上,创建一个子类1:1,使用令牌桶(htb)队列,保证子类的带宽为1000Mbit(根据实际带宽设置)
tc class add dev bond1 parent 1: classid 1:1 htb rate 1000Mbit
#在1:1类的基础上,创建一个1:10的子类,使用令牌桶(htb)队列,保证子类的带宽为16384kbit,这个子类最大能得到的带宽值为16384kbit, (16384这个就是我们要限制的上传带宽)
tc class add dev bond1 parent 1:1 classid 1:10 htb rate 16384kbit ceil 16384kbit
#创建队列规则,添加设备bond1,创建一个1:10的子类,句柄为10 采用sfp随即公平队列目的:不被某个连接不停占用带宽,以保证带宽的平均公平使用,10秒后重新配置一次散列算法
tc qdisc add dev bond1 parent 1:10 handle 10 sfq perturb 10
#添加一个filter过滤器到bond1口,其父分类为1:1,使用ip协议,优先级为1,句柄为10,要通过NAT这里只能使用FW规则进行流量表示
tc filter add dev bond1 parent 1:1 protocol ip prio 1 handle 10 fw classid 1:10
#关联iptables的mangle,其目的ip为10.1.10.59(需要限制的ip) 标识为1 (192.168.37.18/24根据实际ip)
/sbin/iptables -A PREROUTING -t mangle -i bond1 -s 192.168.37.18/24 -j MARK --set-mark 1

1

主题

3

回帖

0

牛值

江湖小虾

昨天 20:13 楼主 显示全部楼层

清除规则

#清除Iptables Mangle规则
/sbin/iptables -t mangle -F
#清除清除eth0上原有的队列类型 (根据实际网卡名称替换bond1)
tc qdisc del dev bond1 root 2>/dev/null

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则