linux服务器端口限速设置教程

在使用从网上下载下来的程序之前,为了防止一些后门一句话木马什么的病毒等,需要对他的端口做一些网速限制。

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

检查系统环境

一般CentOS系统会自带 iptables 和 tc  没有的话就安装一下

输入下方代码查询是否已经安装了 iptables 和 tc

iptables V

tc V

linux服务器端口限速设置教程

像上图所示 就是安装好了的,如果没有安装,请自行yum 然后安装即可。

查看网卡

查看网卡的命令是下面这一段

ifconfig

linux服务器端口限速设置教程

上图外网的网卡是 eth0

如下图,eth1 才是外网IP网卡哦 具体的话需要你自己来判断

linux服务器端口限速设置教程

单位换算

小编来为大家解释一下,网速统计中的几个单位的换算。

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 。

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

清理工作。

清理一下iptables Mangle规则。

iptables -t mangle -F

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

tc qdisc del dev eth0 root

限制上行网速

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

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

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

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

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

创建支类限速。

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秒钟检查一次。

创建过滤器。

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

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

借助iptables针对端口限速

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

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

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

如何限制多个端口?

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

如何限制10000-20000端口段?

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

限制下行网速的话这里不就介绍了,TC限速配合iptables 能实现的东西比较多。

该限速可以限制SS的速度。

赞 (4)

评论 0