My intranet consists of a LinkSys cable router with service from Cox Communications. I run a DHCP network for the family of seven, each of whom has at least one computer. There are numerous network devices under DHCP, but the cameras were all assigned static IP’s.
The Goal
The goal here is to be able to securely view each of three Lorex cameras from anywhere on the Internet.
The Environment
My environment consists of the following:
The Problem
Each camera has a built-in web server. While this makes setup and maintenance very easy, it also makes it difficult to view each camera directly from the Internet when using DHCP. From my work with the cameras, it appears the reason is that any TCP/IP packet coming into the router will first look at the port (80), then look down the list of Port Forwarding IP’s and send the packet to the first IP it finds answering the mail for port 80. One solution would be to pay four times the cost of a single CustomDNS service from DynDNS and give each camera its own Internet enabled IP. This is an expense I want to avoid.
The Solution
The solution I implemented was to use the WebHop feature of DynDNS’s CustomDNS to port forward a cname over to a specific IP. Thus, I have three cameras positioned around the house:
Location | TCP Port | UDP Port |
---|---|---|
Garage | 82 | 9002 |
Guest House | 83 | 9003 |
Pump House | 84 | 9004 |
Using the above ports, I opened the Lorex setup for each camera, choose “Network” under the “Basic Settings”. I set the Port and UDP numbers here, but I did NOT change the DynDNS settings. The cameras would not have an individual DynDNS service to plug-in here. For security, I went to “Account Settings” under “Basic Settings” and added a username/password.
My next step was to open the Linksys router’s configuration and go to “Applications & Gaming” which brings up the port forwarding configuration. I made two entries for each camera; one for the TCP port number and one for the UDP port number.
The next step was to go to DynDNS’s configuration and add a MyWebHop for each camera. I used the name of the camera as the hostname (e.g. “pumphouse”). I included the port number on the redirect URL (e.g. http://example.com:82/). I also cloaked the URL so that the user did not see the port number after the first returned page.
The Result
I now have the ability to view all three cameras from anywhere on the Internet using their cname (e.g. http://pumphouse.example.com/Cam1.htm) securely by using the username/password in the Lorex setup above.
The Credits
If the solution sounds straight forward and simple, it is. But it wasn’t without trial-and-error for me. Help came from DynDNS, several times on a weekend including Sunday. The following were particularly helpful: Jason Hutchins, Brad Goodwin, Christian Smith, and Mark Parraway. I HIGHLY recommend DynDNS and thank them for their help!