Prioritized Internet Sharing for Home Users? 47
precursor asks: "Like many of you, I share a house with a couple of other geeks. This is normally a hoot - until it comes time for bandwidth sharing on a single cable modem (it's hard to play games with a bunch of torrent junkies). What solutions have other Slashdot readers implemented for sharing or limiting certain types of bandwidth on a home network? We are especially interested in solutions that we could implement on an aging PC or on hardware that can be purchased on a budget."
Dupe? (Score:5, Insightful)
Re:Dupe? (Score:1)
Re:Dupe? (Score:2)
Re:Dupe? (Score:2)
[ semi-serious ]
Re:Dupe? (Score:4, Informative)
Linux [lartc.org] with wondershaper
Have fun!
For home... (Score:5, Funny)
Wondershaper! (Score:2, Informative)
obvious linux.. (Score:5, Informative)
theres also several linux/bsd based easy to setup firewall/router distros.. some of them have to have qos support
ADSL optimizer (Score:2)
it is worthwhile to install http://www.adsl-optimizer.dk/ [adsl-optimizer.dk] as well. We have it here at our dorm where 300 people share a 8196/768 standard ADSL. It works, and with less users it should work with VoIP and Games as well.
Linux with QoS fair queueing (Score:3, Informative)
I just googled a bit and the latest stuff i can find is from 2001, but i know it can be done.
but i know its possible, so google it yourself.
m0n0wall, dude (Score:1)
IPCop (Score:5, Informative)
Re:IPCop (Score:2)
Also worth mentioning the immensely useful IPCop Support Web [ipcops.com] (note that this used to be .net, but that's dead for some reason). IPCop rocks, though the default traffic shaping capabilities are pretty rudimentary (the web interface is a bit limited, you can always edit the files in /var/ipcop/shaping), but there's a thriving mod/add-on community: do a search for 'shaping' in the aforementioned forums for help. You might want the take a look at the layer-7 filter dicussed here [ipcops.com]. I'd consider going for a few
Cross Reference (Score:2)
pf on (Open)BSD (Score:4, Informative)
It's a great firewall and has traffic shaping options, too. Fairly thorough documentation, as well.
Re:pf on (Open)BSD (Score:1)
works great, easy to use
experience (Score:2)
I had bad results trying to enable traffic control (/sbin/tc) on a linux firewall (NAT). The most effective solution that I found was to limit the bandwidth usage from the client side.. find a torrent client that lets you cap it's bandwidth.
Of course, maybe tc didn't work well for me because my firewall is a P90 with 32MB memory.
-metric
High-tech solution (Score:5, Insightful)
Yeah, I know, it's weird, but it can be achieved.
At home we are 3 intensive users sharing a 6.5mbps (~800k/sec) download and 880kbps (~120k/sec) upload.
What we do ? Well we RESPECT each other. Meaning ? We all 3 have Azureus for Bittorrent downloads, and the max upload speed we each set is 30k/sec. That means that even if all 3 of us upload at 30k/sec, there's still a 20-30k/sec available for gaming, browsing, etc. As for the download speed, we really rarely cap out the 800 barrier, so it's not much of a problem. But if it is for you, take the whole bandwidth, substract 10% of it, then split evenly between all of you by setting a maximum download speed in Azureus (I'm sure other BT clients can do this as well, but I love Azureus). TADAM !
Total time of implementation : 5 minutes. Total cost : 0$.
Re:High-tech solution (Score:1)
Re:High-tech solution (Score:5, Informative)
Net Limiter (Score:4, Informative)
-Steve
OpenBSD + pf will do the trick (Score:5, Informative)
See my previous post here [slashdot.org] for a pf.conf recipe to implement traffic shaping based on packet type. You could also prioritize via IP, require a ssh session to gain higher priorities for a specific IP (authpf [openbsd.org]), based on time of day, or any other number of factors.
THE guide to pf (packet filter) can be found here [openbsd.org]. pf will run on FreeBSD as well as, I believe, a few other open OSs. I think it's really the best. Almost any reader here could surely benefit from at least a partial working knowledge of packet filters ("firewalls") in general.
=======
EXTRA CREDIT
=======
Got a few connections you'd like to tie together into one? Read more about Address Pools and Load Balancing [openbsd.org] with pf.
Another Bandwidth management HOWTO for Linux systems [telenovela-world.com] (last revised in '03 - may be better for concepts than router config recipes)
bittorrent traffic shaping [monkey.org]
A nice K5 article about packet filtering with OpenBSD firewalls [kuro5hin.org]
Prioritizing empty TCP ACKs with pf and ALTQ [benzedrine.cx]
Making the most out of a busy connection [wincent.org]
Turn that old P5 and two network cards into an OpenBSD firewall and learn to setup your own router. You will learn a TON about TCP/IP, how to protect your internal network, and BSDs in general (they're pretty neat in the way that they don't have as much "cruft" as usually found in your typical - yeah, that works
If you're going to use OpenBSD (which I'd recommend for a firewall/NAT box), be sure to support [openbsd.org] the OS which strives for portability, standardization, correctness, proactive security and integrated cryptography by ordering a CD, T-shirt, book, or hacker bunker enhancing poster [openbsd.org]. OpenBSD supports binary emulation of most programs from SVR4 (Solaris), FreeBSD, Linux, BSD/OS, SunOS and HP-UX. Development is active and it won't let you down as a gatekeeper or internal server.
Puffy says "Stay off my computer! [openbsd.org]" and means it. I sleep well at night knowing "puffy" (the name of my box) is standing guard just behind my cable modem and in front of the 5+ computers my roommates and I are running inside. Has never let me down and doesn't get in my way. Keeps Freenet and torrents from introducing lag into my ssh sessions as well..... Good luck finding a solution to keeping your pipes clean
cheap solution (Score:3, Informative)
This is just about the cheapest solution you could use. It only requires only a 386sx with two NICs, a 1.44MB floppy drive, and 12MByte of RAM, but scales quite well. I actually have it running on an Athlon 1800+ 256mb RAM box serving a medium sized computer lab. It's really easy to set up, but is missing a lot of important utilities since it's floppy based. A cd based distribution or full debian setup with trafic shapeing/prioritisation packages installed (tc/tcng or others) is probably a better idea if you have the hardware for it.
many LiveCD routers have traffic shaping (Score:2, Informative)
WRT54G by Linksys (Score:1, Informative)
oxygen (Score:1)
we have a pIII 500 box with a 120 gig drive set up as our media server (it has samba set up for access from our xboxes/xbmc and from our room computers too). We have VNC running and use qtorrent so whenever anyone has downloads running, they are accessible by everyone to pause, etc. We play a lot of halo 2 so it's important for anyone to be able to turn off all the downloads without having to have access to all the computers in the house.
m0n0wall (Score:1)
Astaro or Linux Bandwith Arbitrator (Score:1)
Astaro is a solid implementation, I almost prefer it, but if you dont like it.....then....see below.
http://www.bandwidtharbitrator.com/
Re:Or, between different processes on the same box (Score:1)
http://monkey.org/~marius/pages/?page=trickle [monkey.org]
Re:Or, between different processes on the same box (Score:1)
Linksys wireless router plus Sveasoft firmware (Score:5, Informative)
Your best bet, for both simplicity, functionality, and price, is a Linksys wireless router running the Sveasoft firmware. The extremely popular Linksys WRT54G 802.11g wireless router runs Linux, allowing easy customization with enhanced features. For basic functionality, a Linksys WRT54G can be had for under $50. The best you can get is a Linksys WRT54GS v1.0, which has more memory as well as Speedbooster technology.
You then flash the firmware of the router using freely available, open-source firmware such as that made by Sveasoft [sveasoft.com]. I enjoy the Sveasoft firmware, as it contains a wealth of features, is easy to setup, and has good documentation. I would suggest that you download the firmware from a free mirror [serwer.net] rather than subscribe, as Sveasoft has been known to engage in predatory business practices that it is best not to support.
Once you install the Sveasoft firmware, you will gain a new "QoS" tab in the router's configuration that allows you to prioritize certain types of traffic, certain MAC addresses, the wireless connection, and based on Ethernet ports.
I setup the Sveasoft Alchemy pre-7a firmware on my Linksys WRT54GS on a 6600/768 cable connection I share with two geeky, gamer, bittorrent-loving roommates. Even when we're all fighting to achieve maximum upload and download speeds with bittorrent, web-browsing is fast and games have no lag. This solution dramatically outperformed my expectations, it cost less than $100, and took less than 15 minutes to setup.
central machine (Score:2)
Ideally, you could have a BT proxy that everyone would share but I know of no such projects.
Re:central machine (Score:1)
torrentflux [torrentflux.com] is a web based bittorrent interface that supports multiple users. Install that rather than vnc and you have a very convenient central bittorrent machine.
It doesn't provide particulary good control over bandwidth allocation for a group of torrents, but something like wondershaper [lartc.org] (as mentioned elsewhere
L7 (Score:1)
It matches traffic by analyzing the packets, and you can then run various iptables rules against those matches.
Needs to be easier (Score:2)
Yes, you can play with htb.init or various scripts or even buy a ready made front end in your hardware router like my Asus WL500-G, or Linksys WRT range, or even checkout bandwidtharbitrator.com
but all these thing require your invervention, named to specify your up & down speeds accurately and in the right units. Not everyone can answer that.
Really it should be automatic -
thanks for the replies (Score:3, Interesting)
Linksys WRT54G (Score:2, Informative)
Throw on some custom firmware like Sveasoft's (There are opensource solutions too), and you can do real QoS on both the ethernet port, and TCP/IP port levels.
The linksys router is simply a super-cheap MIPS based Linux box running Busybox, with a wireless radio of course. So the routering/firewalling, and I assume QoS, is all done with iptables. You can configure iptables y
Move to Japan (Score:1)
Wow. (Score:1)
Re:Wow. (Score:1)
Asus WL-500g (Score:2)
- its expandable through a USB port. You can plug in disks, usb speakers, a printer
- the factory firmware is very smart. It includes support for the above mentioned expandability, ftp, samba, traffic shaping
3 step plan (Score:2)
2. ??? (dob all your housemates into the RIAA)
3. Profit
an RIAA raid might be a good way to get rid of the useless computer junk from your room too. I'm sure they'll take anything that looks like it might be part of a computer.