Haiku Connection Issues

drjdbb

New Member
Hi all,
I have a brand new Omni II Pro and an iPhone4 running the latest version of Haiku.
I have enjoyed being able to control things via the iPhone while at home by connecting using WiFi, with the controller's IP address in the Haiku settings.
I have now managed to set up a Dynamic DNS for my router, so that I could connect to the Omni while I'm away from the house.
I set up the portforwarding on the router - for those interested, there's a good site portforwarding.com that lists "how to's" for hundreds of routers and programs etc.
I then changed the Haiku settings so that my www domain name replaced the controller's IP and hey presto, I managed to finally get the iPhone to connect via my 3G connection (with the WiFi turned off) - ie as if I were away from home.

However, now, if I turn the WiFi back on on the iPhone, the Haiku won't connect to the controller.

Some people have suggested setting up two profiles / controller connections. This seems un-neccesary. Others have hinted that you shouldn't need to do this and that some routers block access to the external IP from within the LAN. I am currently using a DLink DSL G604T v2 router.

Can anyone suggest what the issue actually is here, and how I might fix it?

Much appreciated.
 
Though not of huge help, I can suggest this is a function of the router. Some will do it quite easily (Netgear) and some will make it nearly impossible. Others require additional rules set up in the router.

The two profiles should work - one with the external IP and one with the internal; or trying to fix the router...
 
Yes, as you and Work2Play have already mentioned -- the issue is likely the router being unable to "loop back" via the WAN IP. Try a different router or use two configurations. There is not likely a way around it unfortunately as its a networking limitation with the router you have.
 
Thanks both. I was hoping to wait until we get optical fibre to the house before buying new router. I'll try two profiles. Meanwhile if anyone knows how to make the router do what is needed, I'd be grateful.
 
some routers just won't allow you. I had a Netgear rp614 or somethinglike that before an there was no way to do that, I just had double config. Now I switched to a Netgear DGND3700 and I can do it no problem.
 
The feature you are looking for is hairpin NAT or NAT reflection. NAT reflection is sort of a hack and business firewalls like the Cisco ASA do not support it. When you use your public IP inside your network the data flows from your iPhone to your router. The router then rewrites the packet using NAT and sends it to your HAI controller. For those that are more IT savy and running home automation PCs I would recommend setting up split DNS. Internally the hostname resolves your HAI controller private IP and externally it resolves your public IP.
 
In Cisco, the term is "NAT on a stick". It's a pain but doable. There's another method available with IOS with IP translation that I've done as well, but my IOS is getting rusty since I haven't touched it in about a year.

The good thing though is that a lot of the consumer grade routers just do it automatically; I've never had trouble with any of the netgear routers doing it. On some of the better ones, you'll have to set up additional LAN <> DMZ rules on top of WAN <> DMZ. Unless you're doing other advanced things on your router like VPN or SSH tunnels, I think it'd easiest just to buy the right el cheapo router that gets the job done with the fewest hassles.

I've also done the Split DNS thing before - just make sure you have the lowest possible TTL's because if switching from LAN to WAN quickly, it'll keep trying to use the cached IP from 5 minutes ago - or sometimes longer.
 
Thank you all.
I'm curious about "Split" DNS and what that means. However, I discovered another problem with the router in addition to the non-reflective routing ability - namely, that it kept on dropping the applied rules in the port forwarding settings. So, I have invested in a new router (TP LINK 8817) - here's hoping it can do what I need.
 
Back
Top