Workaround when your ISP blocks port 80?


 

Richard K

New member
I got a Stoker for Christmas and it really works great. I have enabled it across my network and I can operate it using either the internal network IP address or the external IP address so long as I am using a device that is connected to my network (laptop, desktop, Ipod touch etc.) But I cannot access the device remotely over the internet.

As it turns out, my ISP (Cox Communications) blocks all port 80 requests. I have attempted in vain to figure out how to work around this using port translation but my router does not have a port translation feature - only port forwarding (which I am already using to forward stoker data requests to the stoker connected via a wireless bridge)and port triggering. I have read about software I can run to do the translation on my desktop, but I don't want to open up my PC's on the network to the outside world if I can help it.

Does anyone have any recommendations or suggestions of how I can accomplish being able to access the device over the internet if your ISP blocks port 80 requests? Thanks in advance for your reply.

Richard
 
I can't help you directly. But a few months ago someone asked me (in the Stokerlog 5 preview thread) to add a port number in the IP address field for this use. I did and he was happily using it. You may want to search for him and send him a message. Also do a search for his info online and you should be able to find his blog as that may be another way to get a hold of him.
 
Thanks Amir. I thought I had read every entry in that thread but perhaps not. I will try to find him and send him a note.

Thanks again, and I love your software.

Richard
 
If your router does not have this feature than you can upgrade your router to use different firmware. There is open source code out there that does just that. I use DD-WRT on a LInksys router but I know there are other options like Tomato that work as well:

http://www.dd-wrt.com/dd-wrtv3/dd-wrt/about.html

http://en.wikipedia.org/wiki/Tomato_(firmware)

recent reviews I've heard off Tek5 suggest that Tomato is much easier than DD-WRT. Use whatever is easier.

There are Wiki manuals to setup port forwarding and static DNS mappings (or reservations) that you'll need to setup in order for this to work.

If the ISP is blocking port 80 (WWW) then you need to forward another port (like 8080) to the IP address of your stoker) You'll also need to setup a static IP address allocation on your router so that the MAC address of your Stoker gets the same IP address from the router every time that it boots. This is somewhat covered in the stoker document here:

http://rocksbarbque.com/Stoker_inet.pdf

hope this helps - post again if you need to.

-rob
 
RobM:

Thanks for your reply. I have looked over the dd-wrt information and I don't see a capability to do port translation but do see the same eature (port forwarding) that is already available on the linksys firmware. I am already using successfully to forward a port 80 request to the stoker. That seems to work fine so long as I am the device I am trying to control the stoker with is connected to the network.

Are you suggesting that if I forward a different numbered port request (like 8080 for example) to the stoker, that it will recognize it as a port request to serve its web page?

I was thinking I would need port translation to do that, essentially sending a port 8080 request to the router, the router translates that to mean a port 80 request, and sends that request to the stoker.

Thanks for your help and any ideas/comments that you might have. I am so close and I would love to get the full functionality out of this device.

Richard
 
Sorry, I was using the wrong term. You want port MAPPING as explained here:

http://www.dd-wrt.com/wiki/index.php/Port_Forwarding#Port_Mapping

Inbound requests are blocked to port 80 to your LAN but requests to port 8080 are not. using the method in the Wiki for mapping you are not only forwarding the request to another IP you are also forwarding it to another port. Your router is taking a request to 8080 and sending it to your stoker at 80.

There is another reason to get DD-WRT. It has support for DDNS which allows you to use companyies like dyndns.com to perform free dynamic DNS service to your stoker so that you can have an address like:

mystoker.homeip.net

actually translate the hostname to the IP address of your router's WAN IP which is dynamically assigned by your cable company. In order to provide this service you need to tell DynDNS.com when your router is assigned a new IP address. This is done using client software either on a PC or in hardware in your router. DD-WRT supports this in firmware so this means you don't need to keep a separate PC on in your house. You only need 2 pieces of equipment - the router and the stoker.

I like this feature as I don't have a PC always running in my house other than my Tivo.

Of course, you could always just manually note the WAN IP of your router and update everything manually using their web interface.

hope this helps,

rob
 
RobM:

Thanks for the follow-up help. I have been resisting updating the firmware in my primary router as it was challenge enough updating the firmware in the secondary router I am using to bridge the connection wirelessly. But it sounds like dd-wrt has the solution I seek.

I copied the screen from the secondary router (bridge) device below. If I were to upgrade my firmware to dd-wrt on my primary, enter the port I am using for the internet connection (8080 in your example), enter the IP address of the stoker, and port forward to port 80, that would solve my problem, correct?

Capture.JPG


Do you think there is there any way to use this feature on the secondary router (bridge) instead of updating the primary router software? I hate to blow what I have already accomplished by accidentally turning my primary into a brick!

Thanks again for your help.

Richard
 
I think you need this on your primary router as it is the device doing all the routing and translation. I wouldn't worry too much about bricking it. Just follow the directions and make sure you know the router's hardware as described in the hot to.

-rob
 
Richard,
I had the same problem. I worked on it for a week and a half. The problem turns out to be that the Stoker must be set to auto-receive DHCP. I tried to connect via static IP and Mac address reservation and couldn't figure out why it wouldn't work. I thank member Ken Brown for assisting me in solving this problem.

You can consult page 24 of your manual to re-enable DHCP. Then forward port 80 to 192.168.1.** this being the IP address you have chosen for the Stoker. It should work.

Rick
<BLOCKQUOTE class="ip-ubbcode-quote"><div class="ip-ubbcode-quote-title">quote:</div><div class="ip-ubbcode-quote-content">Originally posted by Richard K:
I got a Stoker for Christmas and it really works great. I have enabled it across my network and I can operate it using either the internal network IP address or the external IP address so long as I am using a device that is connected to my network (laptop, desktop, Ipod touch etc.) But I cannot access the device remotely over the internet.

As it turns out, my ISP (Cox Communications) blocks all port 80 requests. I have attempted in vain to figure out how to work around this using port translation but my router does not have a port translation feature - only port forwarding (which I am already using to forward stoker data requests to the stoker connected via a wireless bridge)and port triggering. I have read about software I can run to do the translation on my desktop, but I don't want to open up my PC's on the network to the outside world if I can help it.

Does anyone have any recommendations or suggestions of how I can accomplish being able to access the device over the internet if your ISP blocks port 80 requests? Thanks in advance for your reply.

Richard </div></BLOCKQUOTE>
 
Rick,

That is one way to do it. Assign the stoker to be setup for an auto IP via DNS in the stoker interface. I think if you set it to 0.0.0.0 or 255.255.255.255 (all 1's or 0's) you insure it's getting its IP from your router. You then have to make sure your router is set up to assign the MAC address of the stoker to the same address as we've discussed.

What I have done is set up the stoker with a STATIC address. On my home LAN I set up my router to assign the MAC address of the stoker to the same address I set it up in the stoker interface. I admit it sounds a bit confusing but hear me out:

If you want to take the stoker out "in the field" on a contest you will be setting up most likely a network of 2 or 3 devices that do not need a router (no internet) and just need to be connected on the same network. If there is no DHCP server on your 2 or 3 node network then you need to set static IP addressing assigned to each device in order from them to communicate.

So I have my Stoker setup to use the same STATIC IP address weather it is at home or not. My router knows that it should never assign that IP address to any other device other then my stoker so in effect it *reserves* that address to prevent any conflict of IP address assignments. This means the stoker owns that IP address at my home and in the field.

I setup the Laptop WiFi nic so that it uses DHCP from my home when it's there. I can use it for internet like as I am doing now. The only time I need ethernet access is in the field so
I just plug in the to devices together or via a hub and everything just works.

I think in your case what went wrong is that your Stoker had a static IP address assigned to it that the router had no idea about and thus the router would assign an IP address to another IP adress that already existed on your network (I thought I saw a thread about this somewhere - not sure)

So in effect the real problem you had was the fact that your router was assigning the same IP address to 2 hosts on your network -- not good.
The router does not know about the other devices assigned on it's switch and gave out one already assigned. Once you changed the Stoker device to use DNS (0.0.0.0 or all 1's) that conflict was resolved and everything was fine.

So, in effect you can do it either way:

Setup the stoker to use DNS or config this on 2 devices.

However, I think this issue is somewhat unrelated.

-rob
 
Rick:

I am not following your logic. Let me reiterate, that the communication with the Stoker works perfectly so long as the device I am attempting to control it with is connected to my network - my desktop, laptop or kid's Ipods. All of the devices can check the status and change the settings on the stoker, using both it's internal IP address that I assigned, or the external internet IP address of my router.

But externally, I cannot connect to the stoker by using the external IP address - 70.160.26.xx. Once again, I can use that IP address so long as the device is a member of my network, but any external device will not connect - my blackberry or work computer connected to the internet.

I confirmed that Cox blocks port 80 along with a few other ports. So my thought was to use Port Translation or Port Mapping to map from a port other than port 80, to the network address of my stoker on port 80 - 70.160.26.xx:8081 maps to 192.168.1.109 (for example).

I tried forwarding the port 8081 to the stoker, but I don't think it understands that I am asking it to serve a web page which is normally a port 80 request.

I may have thrown you off with the screenshot of the port forwarding screen of dd-wrt. That screen is from my wireless bridge router that I updated with dd-wrt firmware. I just didn't fill in the IP address and port configuration on that screen as it is on the receiving end of the connection and not on the sending end of the connection.

Did I miss something in your suggested solution that would solve this problem? I admit I am no network engineer, but I thought I was beginning to understand this stuff given the reading I have done and experimentation I have done.

Thanks again for your help, and I look forward to your reply.

Richard
 
<BLOCKQUOTE class="ip-ubbcode-quote"><div class="ip-ubbcode-quote-title">quote:</div><div class="ip-ubbcode-quote-content">Originally posted by Richard K:
Rick:

I am not following your logic. Let me reiterate, that the communication with the Stoker works perfectly so long as the device I am attempting to control it with is connected to my network - my desktop, laptop or kid's Ipods. All of the devices can check the status and change the settings on the stoker, using both it's internal IP address that I assigned, or the external INTERNET IP address of my router.

But externally, I cannot connect to the stoker by using the external IP address - 70.160.26.xx. Once again, I can use that IP address so long as the device is a member of my network, but any external device will not connect - my blackberry or work computer connected to the INTERNET.

I confirmed that Cox blocks port 80 along with a few other ports. So my thought was to use Port Translation or Port Mapping to map from a port other than port 80, to the network address of my stoker on port 80 - 70.160.26.xx:8081 maps to 192.168.1.109 (for example).

I tried forwarding the port 8081 to the stoker, but I don't think it understands that I am asking it to serve a web page which is normally a port 80 request.

I may have thrown you off with the screen shot of the port forwarding screen of dd-wrt. That screen is from my wireless bridge router that I updated with dd-writ firmware. I just didn't fill in the IP address and port configuration on that screen as it is on the receiving end of the connection and not on the sending end of the connection.

Did I miss something in your suggested solution that would solve this problem? I admit I am no network engineer, but I thought I was beginning to understand this stuff given the reading I have done and experimentation I have done.

Thanks again for your help, and I look forward to your reply.

Richard </div></BLOCKQUOTE>

Richard,

There are a couple of things at work here trying to stop you from doing what you want to do. The #2 job of the router is to make your internal network invisible to the outside world, so it blocks all incoming traffic to all ports by default. Allowing port 8081 to go to the stoker is only part of the problem, once that port is translated to 80, it still cannot go unless you also allow port 80 to go to the stoker. So forward HTTP (port 80) to the Stoker IP and translate 8081 to 80 and forward it to the Stoker IP as well.

The other concern is with the Stokers IP address, unlike a real computer, if the address is assigned via a static IP, the router looses track of it. I don't know why, but every router that I have tried acts the same way with the Stoker. I wish it were not true, but alas, it is. Therefore, you must allow your router to assign the IP address for the Stoker. To do that, go through the setup of the network on the Stoker, and change the first 3 digits to 255, and hit the enter key 3 times. Now cycle the stoker off and then back on, and look at the IP address. That is the one you can use.

If your router will allow it, have it to assign the same IP address every time to the MAC address of the Stoker. Other wise you will have to hope the Stoker picks up the same address every time.
 
<BLOCKQUOTE class="ip-ubbcode-quote"><div class="ip-ubbcode-quote-title">quote:</div><div class="ip-ubbcode-quote-content">I tried forwarding the port 8081 to the stoker, but I don't think it understands that I am asking it to serve a web page which is normally a port 80 request. </div></BLOCKQUOTE>

Did you set up the router to take the incoming request on port 8081 and forward that request to your stoker on port 80? You need to assign both the IP address and the port to forward it to.

The stoker http server only runs on port 80. Find the WAN IP address of your router. If your mapping is setup correctly from within the LAN you should be able to find the stoker web service at:

http://ROUTER-WAN-IP-ADDRESS:8081

if your mapping is setup correctly. You should also be able to find it at:

http://STOKER-LOCAL-IP-ADDRESS (192.168.x.x)

if you can do this you are verifying both port forwarding and IP address forwarding work on your router.


-rob

for the record - I do hold a CCNA but it's from 1999 and I haven't kept it up as I no longer work in that field.
 
Richard,

1)Assign 192.168.1.*** to the Stoker on router.
2)Assign the same IP on the Stoker itself.
3)Forward port 80 to the above IP.
3)Follow directions on page 24 of Stoker manual.
4)Type http://your ip address from router status page.

Should work fine.

Rick
 
<BLOCKQUOTE class="ip-ubbcode-quote"><div class="ip-ubbcode-quote-title">quote:</div><div class="ip-ubbcode-quote-content">3)Forward port 80 to the above IP. </div></BLOCKQUOTE>

Rick,

He also needs to map an unblocked port to the stoker's port 80 because port 80 is blocked by his ISP. I think the issue is he wants to see the stoker from a machine outside the LAN. The only way he's going to be able to see the stoker from outside the LAN is if he uses something like:

http://MY_ROUTER_WAN_IP_ADDRESS:8081

His router then takes that request on 8081 and forwards it to the stoker listening on port 80. I'm not sure if his router can do this. I know DD-WRT supports port MAPPING as well as forwarding:

http://www.dd-wrt.com/wiki/index.php/Port_Forwarding#Port_Mapping

In the screen shot below of the DD-WRT setup page there are the following fields:

Application
Port_from
Protol
IP
Port_to
Enable

to make this work you would make the following entries:

Application: StokerWeb
Port_from: 8081
Protol: TCP
IP: STOKER_IP_LAN_ADDRESS (192.168.x.x)
Port_to: 80
Enable: Checked (or yes)

DD-WRT screen shot:

http://www.informatione.gmxhome.de/DDWRT/Standard/V23final/ForwardSpec.html

-rob
 
It is likely that the ISP provider is not blocking port 80. Many people, including myself, thought this to be the case. I would contact ISP and clarify so you know where to troubleshoot. Try to simplify.

Rick
 
What I haven't attempted yet, is to upgrade the firmware on my Linksys router to the dd-wrt version that allows port mapping (the linksys firmware doesn't have this feature).

So I need to flash the primary router with the dd-wrt firmware and follow Rob's suggested methodology I think.

Ken:

With regard to your comment about enabling DHCP to the stoker, I have another issue I think. It seems that dd-wrt's v24 sp1 version does not work over the wireless bridge. It would probably work if I ran a wire to the stoker from my primary router, but there seems to be a problem with the most recent version of dd-wrt.

Any thought around that?

Thanks to all, as this is a fascinating issue, and an exceptionally cool technology.

Richard
 
I've used a couple of the wireless bridges and once configured, only the end device is relevant. It's like a wireless adalpter on a laptop, it's just a go-between to the lan device. In that reguard, if you can configure your bridge and establish communication between it and your router, I don't think it would matter if the Stoker was configured auto or static.

I have a netgear open source router I'd like to try the dd-wrt on it. It's a KWGR614, and as it is out of the box, I hate it. And I normally like netgear stuff ok. I couldn't find any mention of the router on the dd-wrt site. Might flash it anyway.
 
I use a cheap linksys WiFi game adapter to hook up the stoker to. I think I got it off eBay for something like $20 shipped. It acts just like an invisible wire setup between my primary router and the stoker. I guess you could think of the bridge the same way.

Ken:
There's some other Firmware called Tomato that may work for you. It was given a better review on the Tek5 geek show my Tivo downloads. I'm not sure if it run on that hardware though.

-rob
 

 

Back
Top