The Magic and Mystery of Port Forwarding

The Magic and Mystery of Port Forwarding

For HTPC buffs (like we assume our dear readers are), consuming your media through a 10′ interface at home places you in the proverbial 1% of technology users (Occupy Microsoft anyone?), but to really supercharge your HTPC experience, you should, no you NEED to be able to enjoy all your media goodness wherever you are, and that’s where port forwarding comes in.  Port forwarding also comes in handy in other cases.  A few examples are:  1) accessing your desktop from outside your network through your mobile device, 2) accessing your NAS to access or email files stored there from outside your network, 3) stream music not stored locally on your mobile device from your home network from outside your home network, 4) Open your garage door to let a family member into your house while you aren’t home, 5) access security cameras to check in your house while you are tanning on the beach in Maui.

 

Port forwarding can enable you to control home lighting when away from home...

...or monitor your home while on vacation. "Dear, who's that skinny dipping in our pool..."

Port forwarding, to use a simple analogy, is simply opening a door (port) from your local network, to the big, bad outside world that is the Interweb.  Your router, whether you know it or not, has tens of thousands of these doors, and for the most part, they lay dormant – locked – to the outside world.  The process of port forwarding is really just two steps:  1) you simply assign a door of your choosing, to a specific, internal IP address – typically the internal IP address your PC/Mac has been assigned by your router and 2) you assign that door to the program you wish to be accessed through it, typically within the program itself, although many programs have ‘default’ ports already assigned (but not opened until you do so via step 1).  That’s it, its essentially that simple, unfortunately, the implementation can get a bit more cumbersome because not all hardware manufacturers implement port forwarding identically.  This isn’t a Mac vs PC thing, its that each router manufacturer may use different jargon or steps to get it done.

Fortunately dear readers, we are here to help, as are some other folks.  One resource, www.portforward.com, provides a list of almost all the major router manufacturers and their models, and then provides step by step instructions on properly port forwarding specific programs.  Given our focus on HTPCs, this guide will take Mac users through port forwarding Plex on a Mac using Apple routers and Windows users through port forwarding XBMC using a Linksys WRT router.  One note on Plex, this guide is only for version 0.9.3.4 or lower.  In its latest release named Laika, a new feature, myPlex, automagically configures port forwarding for you.  This is both a blessing and curse is now a third party site controls authentication rather that the user himself.  Hopefully Plex will enable users to either opt-in or out of this feature in the future.

Mac/Plex Instructions

When port forwarding on the Mac, and quite frankly as well as on the PC, its likely important that you create a static IP address for the Mac itself.  When you connect a computer to your home network, your router assigns it an internal IP address.  For Macs this typically is a 10.0.xx.xx number.  However, unless you tell the router not to change that IP address, it may, on occasion, without letting you know, change it, which could foul up everything we are about to do, as such, step 1 is to create a static IP address for the Mac.

Step 1. Open your network preferences from your Mac's system preferences. If you're Mac is connected by ethernet, highlight "Ethernet" left, and then click "Advanced". If by WiFi, highlight "Wi-Fi" and click advanced.

 

Step 2. Click on the "Hardware" tab, this doesn't matter how the Mac is connected to your router. Make note of the MAC address.

Step 3. Open Airport Utility, double click on your router, select "Internet" at the top and then the "DHCP" tab. Hit the "+" button at the bottom.

Step 4. In the "Description" box, type in a name for the Mac, for example "Family Room iMac". That's it for creating a static IP address for your Mac. Click "Continue".

Step 5. Type in the MAC address you just noted in Step 2. In the IPv4 Address box, change the last number (2 in this case) to whatever you like between 2-199 just to be safe, and be sure you haven't used the same address when reserving an IP address for other devices on your network. Click "Done".

Step 6. Now click on "Advanced" at the top of the Airport Utility window for your router, and then the "Port Mapping" tab. Press the "+" button.

Step 7. Leave the "Service" drop-down box as-is. The default port for Plex v0.9.3.4 and lower is 32400. Type "32400" into each of the 4 "Port" boxes. Change the "Private IP Address" address to the one you created in Step 5. Click "Continue".

Step 8. In the "Description" box, type in a name for the Mac, for example "Family Room iMac". Click "Done". Then click the "Update" button to have the changes take effect.

That’s it!  You’ve now port forwarded your Mac to enable a device outside your network to access Plex.  You can test this by going to your browser (with Plex open of course), and type in your router’s IP address:32400 into the address bar without http://.  For example, if your router’s IP address is 55.55.55.55 then in your browser’s address bar you would type 55.55.55.55:32400.  Where do you find your router’s external IP address, right in the Airport Utility window as shown below.

Your router's IP address is shown on the "Summary" tab of your router's Airport Utility window at the bottom.

Assuming all is well, after typing in your external IP address:32400, your browser should pull up the HTML version of your Plex Media Manager.  If you own the Plex iOS app, to access your content while away from home, simply add a new server, and type in your router’s external IP address.  Same goes for family and friends who own an AppleTV2, or Roku box.  In both cases navigate to the “Add Remote Server” or “Add Server Manually” sections and type in your router’s external IP, and your sharing your library across the Interweb.

There is of course one caveat:  if your ISP does not assign you (i.e. your router) a static IP address, you will have to use a service like DynDNS to create one for you.  We aren’t going to cover this here, but we will provide directions on the site soon.

Windows/XBMC Instructions

To forward a port with a computer using the Windows operating system, you need to have access to the device that holds the public IP address. In our case, the router, a Linksys WRT holds the public IP address. In order to access the routers administration console, you need to figure out what the IP address of the device is. For most networks, this is your computers IP address with the last number at 1. For example, if your computer is on 192.168.1.101, the administration console for the device is 192.168.1.1. Just type that into your browser. When you get asked for the username and password try “admin” and no password. If that doesn’t work, see the routers manual or just hard reset it with a paperclip.

 

Step 1. Administration consoles differ with each router. Try to look for “port forwarding,” “firewall,” “Applications & Gaming”, or “virtual server.”

Step 2. For identification purposes you will enter the name of the application that requires port forwarding.

Step 3. Next, type in the port or range of ports you wish to forward.

 

Step 4. Select “Both” unless you know which protocol to use, TCP or UDP.

Step 5. Enter the IP address of the computer.

Step 6. Check off enable to allow the port to be forwarded

So there you have it, a simple (we hope, feedback welcome) guide to unlocking the key to accessing your media center from anywhere on the planet.  Please provide feedback and as always we’re happy to answer questions.  Happy cutting…

Learn Anything? Share it!