Internet bandwidth management has become essential for every networked organization because it's a limited resource and, therefore, must be utilized efficiently. There are various ways you can do it, both through software and hardware. Both methods let you allocate specific bandwidth to Internet traffic that can be further classified into Web, mail, ftp, etc. This classification helps in prioritizing the traffic and, hence, makes sure that a rise in one type does not lead to a clogging of another, perhaps more critical, traffic. Using bandwidth management, the traffic of each service is at an assured level at all times and you can even change these assured levels at fixed time slots during the day. Commercial bandwidth-management software solutions have been around for sometime, but can be expensive to implement.
With the 2.2 Kernel and the current 2.4 Kernel, Linux has all the components built in to build your own
bandwidth-management system. However, configuring the Linux box for bandwidth management remains the most difficult part. In this article, we elucidate on how to use the Squid proxy server for controlling your Internet bandwidth.
Squid is a widely deployed, high-performance proxy caching server for Web clients that support http, ftp etc. It keeps Meta data, and especially hot objects, cached in the RAM, caches DNS lookups, supports non-blocking DNS lookups and implements negative caching of failed requests. Squid supports SSL, extensive access controls and full request logging. Squid can, in fact, be used for bandwidth control very easily using the Webmin configuration tool. In PCQ Linux 8, Squid and Webmin configuration tools are installed by default.
The first step is to point your browser to http://:10000 to fire up the Web interface of the Webmin configuration tool.can be 127.0.0.1 if you are accessing the interface from the same machine. Go to the server tab and select the Squid configuration option. Bandwidth control in squid entails two steps. One is to create an ACL (Access Control List) and the other to create a delay pool.