How to prevent roommates from hogging bandwidth

I share a ADSL modem via a Wifi router with several roommates. Sometimes, I find the network bandwidth left is too little. Suspiciously, some one is using BT, Thunder, eMule or other P2P tools. These tools can easily use up all the bandwidth and left little for others.

How to prevent some roommates from hogging the whole bandwidth and ensure fair bandwidth sharing among all roommates?

We are using a TP-Link router.

It is common that the P2P software use most of the bandwidth. Using P2P is fine, but blocking them or making them slow is also just fine if they use too much bandwith.

My suggestions (I use a TP-Link TL-WR940N router) on blocking/limiting the P2P usage.

First, try to educate your roommates and ask them to limit their downloading speed. Most p2p software can limit the download speed.

Second, if the first action does not work, you may try to block the usage of ports of the remote servers/nodes except the common ones such HTTP, HTTPS, SMTP, email and etc. Most commonly used ports are under 1024. You can start by blocking ports 1024~65534. And later, you can add rules to allow certain ports, such as 9418 for git, for certain applications.

Here are the settings on my router.

The rules:

The Host (source) rule used:

The Target (external address/ports/etc) rule used:

Most of the time, blocking these ports is enough for blocking P2P applications and can avoid them from hogging the whole bandwidth.

Third, if the above 2 actions still can not solve the problem. You may consider controlling the bandwidth.

Just an example here.

Enable the bandwidth control:

The detailed rules:

Last, if all above still do not work, consider throwing your roommates out (I am just joking ;) ).

Eric Ma

Eric is a systems guy. Eric is interested in building high-performance and scalable distributed systems and related technologies. The views or opinions expressed here are solely Eric's own and do not necessarily represent those of any third parties.

Leave a Reply

Your email address will not be published. Required fields are marked *