New Posts

The Best Way to Share an Internet Connection Between Roommates

We’ve all experienced a home network slow down to a crawl because one person on the network decided to download a movie while streaming music and playing video games–rendering the connection useless for everybody else. It can be even more frustrating when it’s a roommate and you’re paying part of the bill for an unstable internet connection.

Fortunately, with just a little time, you can split the connection into multiple wireless networks (one for each roommate) and divide the bandwidth so that each network is restricted to their allocated portion. Designating bandwidth for each roommate prevents the usage of one roommate from impeding on the connection of the others.

Now that we understand why this would be useful, let’s look at how:

Step One: Install DD-WRT

Out of the box, the manufacturer’s firmware is unlikely to have all the configuration options available that we need. For this reason, we need to install an open-source alternative router firmware called DD-WRT. Unfortunately, the installation process is slightly different for every router. Google your router’s model number followed by “DD-WRT” for instructions specific to your router.

Once DD-WRT is installed, navigate to your router’s web GUI at http://192.168.1.1/ and change the default username and password so you can proceed to configure the device.

DDWRT_LOGIN

Step Two: Create the Wireless Networks

Once inside the web GUI, navigate to the Wireless > Basic Settings page. From here you will change the SSID for the first roommate, confirm that the Wireless SSID Broadcast is set to Enable and then press Save. You will then need to press the Add button to create a virtual interface for each additional roommate, change the SSID for each roommate, and confirm that the Wireless SSID Broadcast is set to Enable. Additionally, for each virtual interface select Advance Settings, Enable Network Isolation, and then put each virtual interface on its own subnet. The first virtual interface will have the IP address of 192.168.2.1 and a subnet mask of 255.255.255.0. For each additional virtual interface, just increase the third octet by one and leave the subnet mask the same. For instance, 192.168.3.0, 192.168.4.0, etc. Save your changes and then press Apply Settings.

DDWRT_WIRELESS _SETTINGS

Step Three: Secure Each Network

At this point, if you look on a laptop, you will see all the wireless networks you created are broadcasting. However, they are all unsecured. To resolve this, navigate to Wireless > Wireless Security. Set the Security Mode on each network to WPA2 Personal, the WPA Algorithms to TKIP+AES, and then let each roommate create their own WPA Shared Key (their WiFi password). Press Save and then Apply Settings.

DDWRT_WIRELESS_SECURITY

Step Four: Enable DHCP

Remember when you had to add an IP address to the virtual interfaces earlier? Well, now we need to create a DHCP server for each virtual interface/subnet. To do this, navigate to Setup > Networking. Scroll to the DHCPD section at the bottom of the page.

If you look at my virtual interface in Step Two, you would see that the interface is labeled ath0.1 and it had an IP address of 192.168.2.1 and a subnet mask of 255.255.255.0. This matches the DHCP server in the image below. Just press the Add button and create a DHCP server for each virtual interface. Press Save and Apply Settings.

MULTIPLE_DHCP_SERVERS

At this point, you should be able to connect to any of the networks you created and they would be fully functional. However, no limiting has been done to any network so there is no benefit at this time.

WIRELESS _NETWORKS

Step Five: Enable Quality of Service (QoS)

Before dividing the network, you need a good baseline of what speeds your currently getting. You can obtain your current speeds at http://speedof.me/. Do your speed readings when nobody else is using the internet connection for best results. Note your max download and upload speeds.

SPEEDTEST_NO_QOS

Navigate to NAT / QoS > QoS and select Enable on Start QoS. Next change the Port to LAN & WLAN and input those download and upload readings you retrieved earlier. DD-WRT recommends that you enter 80-95% of your upload speed here and 80-100% of your download speed. Note that the input for DD-WRT is in kbps and the reading from earlier is in Mbps. Just multiply your original reading by 1000 to determine the speed in kbps.

The next part of this step is to actually divide your connection between each wireless network. This will be done in the Interface Priority section. Add a line for each wireless network. Your original wireless network will be ath0 and each virtual interface will increment by 0.1, starting with ath0.1. Now divide your downlink and uplink speeds that you entered in earlier by the number of wireless networks and enter those numbers next to each interface in the Interface Priority section. Save and Apply settings.

Note that I chose not to divide up my uplink because the uplink is usually not what is being hogged in most cases. Most individuals will get the best results if they just divide the downlink and leave WAN Max Up as 0.

QOS_SETTINGS

That’s All!

You’re done. The speed reading taken from one of my wireless networks after dividing the bandwidth. As you can see, my upload speed remained close to the same on the average, but my average download speed in about half what it used to be. Now I can use all I want out of my personal wireless network and my roommate will never notice.

SPEEDTEST_QOS

Have any more tips to help ease the corks of having roommates? Tell us about it in the comments below.