Broadband-Hamnet™ Forum :: Firmware
Welcome Guest   [Register]  [Login]
 Subject :issue with [OLSR Status] link.. 2014-07-31- 17:08:55 
ve3pzr
Member
Joined: 2014-07-28- 14:12:26
Posts: 11
Location: London, Canada
 

I have found an odd thing with the [OLSR Status] link.  All of the other buttons link to the node by IP address.  The [OLSR Status] button links by node name.  If you are not using the mesh as your primary gateway, the DNS will not resolve nodes names which means the link fails to display the web page.


I respectful suggest changing that button to work the same as the others and link by IP not by name.


Thank you for listening!

IP Logged
Mark Bramwell, VE3PZR
 Subject :Re:issue with [OLSR Status] link.. 2014-07-31- 21:05:10 
KG6JEI
Member
Joined: 2013-12-02- 19:52:05
Posts: 516
Location

Since I began working with the project the systems have always been referred to by name.

The Mesh Status page is fully name based as are the links inside OLSR Status page. For getting to node to node, having  easy access by name is considered to be a functional component of a easy user deployment

Most the links on the interface are actually 'relative' links, where we don't specify the node name or ip, we just specify "its at this path" and the browser knows to use the same way the user typed it (IP or Name -- though by name is preferred) to get to the page. We can get away with this when we  need to use an alternate port or server name. The OLSR Status page needs a port number.


One does not actually need the mesh node to be the default gateway to get DNS to work,  if you add the node into your DNS server list name resolution should work and take you to the page correctly.  Name resolution functioning is to my knowledge considered a core component of making the mesh user friendly.

At the moment I'm not sure how easy it would be to change the link that takes you to OLSR Status to follow the name as typed in dynamically (requires a few items to be passed along as part of the cgi interface that would need to be verified they exist correctly in the current builds).  We would still be left with the links after that to other nodes would still not work and would need DNS up and operating anyways  for anything other than just looking at the node itself. 

I can understand where our are coming from though. I have had some very complicated (non standard  not for actual deployment) setups in the test lab where that had annoyed me a time or two, but it was always because I had disabled DHCP and DNS lookups for testing and had not set my routing paths correctly for my PC to browse the mesh.

I'm not aware of anything that would break if such a patch were submitted to mainline at this time.

Oh and of course the OLSR page isn't exposed on the WAN side at all (the only place where we expect node DNS resolution to not work as part of the design) so we don't need to worry about that either.

IP Logged
Note: Most posts submitted from iPhone
 Subject :Re:issue with [OLSR Status] link.. 2014-08-01- 01:38:25 
ve3pzr
Member
Joined: 2014-07-28- 14:12:26
Posts: 11
Location: London, Canada
 

Thanks for the detailed reply.  I run 3 DNS servers at home (1 x primary, 2 x secondary) and quickly resolved it by simply adding the entry for the device.

I am not sure how to make this seem transparent in a setup where the mesh is the 2nd gateway out of your home lan.  It all works ok when it is the only gateway. However I predict many people will plug this into a free port on their existing wired network.  Adding a route  (route add -net ....) makes the IP traffic flow but the DNS is an issue.

I'll work on it to see what I can devise.  Maybe the solution is to read the mesh nodes list to update Linux bind and also configure DNS forwarders.  That would give both public and mesh resolution.

IP Logged
Mark Bramwell, VE3PZR
 Subject :Re:issue with [OLSR Status] link.. 2014-08-01- 03:24:30 
W9YA
Member
Joined: 2014-05-18- 11:40:17
Posts: 5
Location
I have a fix/patch for the "domain name" issues, and while that may well NOT be at the crux of the problem(s) mentioned here, it does allow for more seamless name resolution..... It was made up a while back for the 1.0.0 release and has been tested here in Albuquerque and elsewhere. Works f.b. and solves both the "DNS" issues, issues with Firefox's Chatzilla (and other apps) that want to see a domain name along with the host name, as well as the dual homed (nics) Windows clients that plug into a mesh's lan ports. I hope to be able to promulgate this patch soon. Alas I am busy getting ready for a mesh demo for the ARRL Hamfest in Albuquerque, so time is short at the moment.
IP Logged
 Subject :Re:issue with [OLSR Status] link.. 2014-08-01- 05:52:30 
KG6JEI
Member
Joined: 2013-12-02- 19:52:05
Posts: 516
Location

Various posts have been given on integrating into an existing network so I will not rehash them in this thread other than to say you are looking at the right areas.

Multiple ways exist to do this but you have to look at the risks and advantages if each method. Browsing through the forums should give you some more info.

Integrating into an existing network is an advance deployment option and depends a lot on ones existing network on how to handle it.

IP Logged
Note: Most posts submitted from iPhone
 Subject :Re:issue with [OLSR Status] link.. 2014-08-01- 06:33:13 
ve3pzr
Member
Joined: 2014-07-28- 14:12:26
Posts: 11
Location: London, Canada
 

If you know how to run your own DNS, or know how to populate (/etc/hosts) (\windows\system32\drivers\etc\hosts), the problem is trivial. Unfortunately not everyone is aware of those 2 solutions.

My initial question was based on the fact that the menu buttons seem to point to http://172.27.0.1/blah/blah/blah except for one particular button that points to:  http://hostname/blah/blah/blah

Since the hostname is itself, it should already know the local IP address.  If that button was changed to use IP instead of hostname, DNS resolution is not required.

I already solved it for "me", just trying to reduce potential support requests from local hams.

So far everything is good.  Glad to see the project in a healthy state.

IP Logged
Mark Bramwell, VE3PZR
 Subject :Re:issue with [OLSR Status] link.. 2014-08-06- 18:32:50 
ve3pzr
Member
Joined: 2014-07-28- 14:12:26
Posts: 11
Location: London, Canada
 

I have fixed the issue.
Log into OpenWRT.
Edit/vi /www/cgi-bin/status

near line 52
original: (1 line)
print "<button type=button onClick='window.location=\"http://$node:1978/\"' title='See the OLSR routing details'";


change to: (now 2 lines)
($ip, $mask, $bcast, $net, $cidr) = get_ip4_network("eth0");                                                      
print "<button type=button onClick='window.location=\"http://$ip:1978/\"' title='See the OLSR routing details'";


Now when you display the status screen, clicking on the [OLSR Status] button displays the webpage by calling the IP address instead of the name.  DNS resolution not required

IP Logged
Mark Bramwell, VE3PZR
 Subject :Re:issue with [OLSR Status] link.. 2014-08-06- 19:14:21 
KG6JEI
Member
Joined: 2013-12-02- 19:52:05
Posts: 516
Location

Note:

As written will not work across the mesh in NAT mode (eth0 ip would be non mesh accessible) it also does not work on Linksys (eth0.0 vs eth0)

IP Logged
Note: Most posts submitted from iPhone
 Subject :Re:issue with [OLSR Status] link.. 2014-08-07- 01:40:56 
ve3pzr
Member
Joined: 2014-07-28- 14:12:26
Posts: 11
Location: London, Canada
 
Maybe that is the fact I am missing. My nodes are in NAT mode and I can not log into the setup screen via the mesh (local Ethernet only). Can you log into your remote nodes via the mesh and access the status, setup, etc... ? The line that I used to decode the local Ethernet IP is the same line used in other parts of the script (as provided from the DEVs). The Linksys version would already have the appropriate Ethernet device. When you access your remote node via the mesh, does the menu give hostnames instead of IP addresses on the other menu items? Remember that my initial comment was 'one of these buttons is not like the other' and I wasn't sure why (and breaks if mesh DNS services are not being used). FYI: I turned on my 1st node a week ago. I apologize if my understanding seems to be limited. I support Linux/Networking at a systems level for a living and I am ready & willing to *fix* issues and thought that the button was broken (it is the only button that relies on DNS and I am not sure why).
IP Logged
Mark Bramwell, VE3PZR
 Subject :Re:issue with [OLSR Status] link.. 2014-08-07- 06:06:24 
KG6JEI
Member
Joined: 2013-12-02- 19:52:05
Posts: 516
Location

Understand on being new and being willing to help, that is how I got involved myself and had to figure out some of these items and we are looking for people being willing to help.

A 'properly working' BBHN network has DNS working, if DNS resolution isn't working the network isn't considered functional from our end. DNS is a key component for the 'ease of access' all the Advertised URL's will always be name based not IP based, so even if you can get to the OLSR Status Page your still not going to be able to click any of the links there without DNS resolution.  Ease of use is a core feature of the builds and names are needed for that

All the links except the olsr link are relative links, they don't include a server path the browser just adds it on itself. I fi connect at http://localnode:8080 the browser uses locanode, if I connect at http://mynode:8080 it uses the my nodes full name, and if connect by IP  it would use IP.

If the button was to be made to follow it would want to be looked at HTTP_HOST ENV variable to dynamically set the hostname similar to how relative URL's are done in the browser..  I don't know off hand if the Linksys microperl supports this (newer microperl do not and have to run full Perl like we do in Ubiquiti build)


You should be able to get to the status page of any node across the mesh by http://nodename:8080 . If you use the eth0 ip as described in your post a  user will be able to get to your status page, but when they click your OLSR status they will get a can not connect error, or worse, if ip's collide they will see their own OLSR status instead of yours.

You should also be able to access any service by its nodename:port combination.  IP addresses are not considered the 'ideal' way to access the mesh.  The local node you are plugged into is always at localnode byname.  If  a user say "hey checkout this its at http://mynodename/   you would have the same problem without getting dns working.



IP Logged
Note: Most posts submitted from iPhone
 Subject :Re:issue with [OLSR Status] link.. 2014-08-07- 06:42:54 
ve3pzr
Member
Joined: 2014-07-28- 14:12:26
Posts: 11
Location: London, Canada
 

ok, you have sold me on the fact that DNS and all needs to be functional.


Is there a best-practice for guys that have an existing SOHO router connected to their ISP and want to plug the mesh node into a spare port?


In my case, I added a static route for 10.0.0.0/8 that pointed to the mesh node wired address.  I also added some DNS entries to my local server.  All "seems" to be ok for me. My linux machine has a custom mesh webpage (based on your inbound IP address being 10.0.0./8) as well as a few other services (and they work 100% via the mesh!)


Not everyone has access to a local linux machine but everyone has a home router.  I am trying to predict the potential support questions from our club members.


Always happy to listen to how other groups have managed to implement their kit.

IP Logged
Mark Bramwell, VE3PZR
 Subject :Re:issue with [OLSR Status] link.. 2014-08-07- 20:17:26 
KG6JEI
Member
Joined: 2013-12-02- 19:52:05
Posts: 516
Location

Trying to integrate to an existing network qualifies as an advanced deployment from the standpoint of BBHN.

Every network will be different and will depend on how it's laid out and what tools they have so the only real answer that can be given is "set a route for 10.0.0.0/8 through the mesh node and to set DNS to query the mesh node". 

How you do that will depend on your existing network layout, how you wish client setup to go, etc. I can think of several topologies off hand in this scenario and each has it's advantage and disadvantage but they all depend on the tools and the desired layout.

If it's a new user the best thing is to plug directly into the node and not try and complicate the deployment by integrating into an existing network.

IP Logged
Note: Most posts submitted from iPhone
Page # 


Powered by ccBoard


SPONSORED AD: