在之前的两篇文章中:
因为 Linux 下的 tc 流量整形只能对出口流量进行配置。若要双向流量限制,只能通过之前的方案:使用一台作为路由的主机当作网关来控制另一台主机,在路由主机上配置 tc 策略进行双向出口 (路由->WAN, 路由->内部主机) 流量整形。
但是这里有一个缺点,那就是很麻烦。除非你想作为一个专门的网管,对内部网络进行配置,然而大多数情况下,其实只需要有一台测试的 Linux 临时配置一下而已。
那么有没有一种很爽的方式来解决这个问题呢?那肯定是有的。
在之前的两篇文章中:
因为 Linux 下的 tc 流量整形只能对出口流量进行配置。若要双向流量限制,只能通过之前的方案:使用一台作为路由的主机当作网关来控制另一台主机,在路由主机上配置 tc 策略进行双向出口 (路由->WAN, 路由->内部主机) 流量整形。
但是这里有一个缺点,那就是很麻烦。除非你想作为一个专门的网管,对内部网络进行配置,然而大多数情况下,其实只需要有一台测试的 Linux 临时配置一下而已。
那么有没有一种很爽的方式来解决这个问题呢?那肯定是有的。
在某些时候需要模拟一些弱网环境,而 Linux 本身通过可以配置成一个路由,同时结合流量整形命令 tc 可以达到弱网以及流量限制的功能。
对于流量整形,单个网络适配器只能正对出口带宽进行整形,所以需要配置一台路由以便于双向流量整形 (WAN 及 LAN)。同时此路由设备后面可以接入多台主机设备,以便于统一配置弱网环境。
文本以 CentOS 7 为例在 Windows 桌面环境的 VMware 虚拟机环境下配置一个弱网模拟的路由。
对于其它虚拟机软件或平台,可以找到类似的方法配置网络。对于其它 Linux 发行版也可以找到对应的网络配置,此方法大概率兼容更高的 CentOS 版本以及 RHEL
需要两台虚拟机,一台作为路由设备,一台作为客户机。客户机也可以用其它操作系统,例如 Win 10,这里不影响实际配置。
路由机的网卡选择桥接模式(或者NAT,取决于需要)。另外添加一个额外的网适配器,选择自定义网络 VMNet19。
客户机的唯一网络适配器选择自定网络 VMNet19。
大多数 Linux 发行版中都带有流量控制的命令 tc。 关于 tc 的 qdisc 可以文末的文章可以理解更 … 阅读更多