You can change the aggregate speed of the NIC port using
$ sudo ethtool -s eth0 speed 10
NOTE: This will set the port to 10MB, for example, you cannot set an arbitrary speed using this method!
You can also use the tool
wondershaper to do it as well. NOTE: Speed should be in kilobits per second.
$ sudo wondershaper eth1 downspeed upspeed
$ sudo wondershaper eth0 10000 280
A 3rd option is Trickle. Trickle can be used per program by users or as a daemon that throttles the NIC completely.
User mode - trickle man page
$ sudo trickle -d 20 -u 20 wget http://www.google.com/bigfile
Will throttle 20K/s for both up and down traffic for just this
wget, everything else will not be limited.
Daemon mode - trickled man page
In daemon mode,
trickled can limit a group of programs to a fixed limit of bandwidth. To start the daemon, run the trickled command:
$ sudo trickled -d 20 -u 20
A 4th option is pyshaper. It's a unique option among the choices in that it includes GUI and it dynamically monitors and sets the bandwidth over time. You can check out the pyshaper man page for more details.