如何对Linux服务器的端口限速?

作者 : yujun 本文共1619个字,预计阅读时间需要5分钟 发布时间: 2018-10-24 共1人阅读

 

我们在使用分享一些“东西”给别人使用的时候,为了服务器的安全可能需要对其速度做一些限制。

本文就讲解利用 iptables  和 tc 对 CentOS 6+ X64 的某个或者某些端口做带宽限制。

 

系统环境

一般CentOS系统会自带 iptables 和 tc

没有那么就安装一下!

检查是否安装 , 如图显示说明已经安装!

1

iptables -V

1

tc -V

 

如果没有安装,请自行yum 安装即可。

 

查看网卡

我们限速,只是对外网的网卡限速。

所以,我们需要看看我的外网网卡是什么?

网卡查看命令

1

ifconfig

下图外网的网卡是 eth0

 

如下图,eth1 才是外网IP网卡哦。所以自己判断!!

 

单位换算

这个有必要说明一下。网速统计中的几个单位的换算。

KB/s  PK  Kbps

kbps 中的 p 是per的缩写,意思就是“每”。

kbps = kb/s

KB/s 中的 B 是 Byte (字节数)

kb/s 中的 b 是 bit (位数)

计算机中 1Byte = 8bit

所以 1KB/s = 8kbps = 8kb/s

一般安装宽带讲的 20M 其实就是 20Mbps  = 20Mb/s = (20/8) MB/s

同样,购买服务器的时候,商家说的100M带宽也是  100Mbps。

 

Kbit 又是什么鬼?

Kbit  KB 输入一种计量单位。

1KB = 8Kbit

 

为什么有这些内容?

因为下面涉及到了。所以简单的说一下。

 

 

 

网络上行/下行

基础知识提一下,大佬可跳过。

最简单的解释:

上行 就是上传速度。

下行 就是下载速度。

一般家用网络,一般注重的是下行速度。

一般服务器网络,注重的是上行速度。

 

端口限速

我们只说端口限速。

演示的外网的网卡是 eth0 。

执行以下命令,请替换你自己的外网网卡名称。

 

1) 清理工作。

清理一下iptables Mangle规则。

1

iptables -t mangle -F

 

清理一下eth0上原有的队列类型。

1

tc qdisc del dev eth0 root

 

2) 限制上行网速

PS 本文演示只含一个规则的。

给eth0添加一个根规则。PS : 这里的root非root账号的意思。

1

tc qdisc add dev eth0 root handle 1: htb default 1

 

创建根类。 100mbps 可以替换成你自己服务器的实际带宽。

1

tc class add dev eth0 parent 1: classid 1:1 htb rate 100mbps

 

创建支类限速。

 

1

tc class add dev eth0 parent 1:1 classid 1:5 htb rate 1500Kbit ceil 2048Kbit prio 1

rate 1500Kbit 代表最大带宽1536Kbit/s,改成你想要的带宽大小即可。

ceil 2048Kbit 代表突发带宽2048Kbit/s。

ceil >= rate

1:5 意思是每5秒钟检查一次。

 

创建过滤器。

1

tc filter add dev eth0 parent 1:0 prio 1 protocol ip handle 5 fw flowid 1:5

这里要注意的就是flowid 要和上一条的 classid对应起来。

 

借助iptables针对端口限速

1

iptables -A OUTPUT -t mangle -p tcp --sport 80 -j MARK --set-mark 5

80 就是 80 端口。可以替换其他端口。

 

这样就对 80 端口限制了速度了,当然你的iptables 得启动才行。

 

如何限制多个端口?

1

iptables -A OUTPUT -t mangle -p tcp --sport 80,25,443,8989 -j MARK --set-mark 5

如何限制10000-20000端口段?

1

iptables -A OUTPUT -t mangle -p tcp --sport 10000:20000 -j MARK --set-mark 5

 

 

3) 限制下行网速

这里不介绍。

 

最后说明

TC限速配合iptables 能实现的东西比较多。

日后再补充文章内容。

哦对了该限速可以限制SS的速度。

你有什么想法,可以留言。我尽量回复。

 

 

 

No related posts.


测试测试 » 如何对Linux服务器的端口限速?

发表评论

售后服务:

  • 售后服务范围 1、商业模板使用范围内问题免费咨询
    2、源码安装、模板安装(一般 ¥50-300)服务答疑仅限SVIP用户
    3、单价超过200元的模板免费一次安装,需提供服务器信息。
    付费增值服务 1、提供dedecms模板、WordPress主题、discuz模板优化等服务请详询在线客服
    2、承接 WordPress、DedeCMS、Discuz 等系统建站、仿站、开发、定制等服务
    3、服务器环境配置(一般 ¥50-300)
    4、网站中毒处理(需额外付费,500元/次/质保三个月)
    售后服务时间 周一至周日(法定节假日除外) 9:00-23:00
    免责声明 本站所提供的模板(主题/插件)等资源仅供学习交流,若使用商业用途,请购买正版授权,否则产生的一切后果将由下载用户自行承担,有部分资源为网上收集或仿制而来,若模板侵犯了您的合法权益,请来信通知我们(Email: 815176521@qq.com),我们会及时删除,给您带来的不便,我们深表歉意!

Hi, 如果你对这款模板有疑问,可以跟我联系哦!

联系作者

提供最优质的资源集合

立即查看 了解详情
开通SVIP 享更多特权,建议使用 QQ 登录
喜欢我嘛?喜欢就按“ctrl+D”收藏我吧!♡