0

I am working on the development of a network device. When it boots up, I want it to register a domain name on the network so that a customer can easily browse to the webserver interface. Eg. http://device-name

I tried including the hostname in DHCP Option 12 and again in Option 81. I can see the hostname appearing in the DHCP clients table but not able to access the webserver using the hostname. Using the IP address of the device works fine. Similarly for pinging too...

There are 2 scenarios in which I want this to work.

  1. When the device is connected to a local network which is in turn connected to the Internet.
  2. Only the device and a Windows PC are connected using a Linksys router.

In both cases, nslookup doesn't yield any result. :( I get the error 'non-existent domain'.

Is there any workaround for this?

Since its a end-user device, I have to confine changes, if any, to the DHCP client as much as possible. Please feel free to ask for any clarifications. Thank you so much.

2
  • Which DHCP server and client are you using?
    – Zanchey
    Oct 28, 2009 at 12:00
  • The TCP/IP stack on the embedded device is provided by InterNiche....Server side it is a Windows machine running the DHCP server. Is that what you are asking?
    – Anonymous
    Oct 29, 2009 at 5:11

3 Answers 3

1

You generally need server-side support for this; tools like dnsmasq can do it out of the box.

Alternatively, consider using multicast DNS/Rendezjour or UPnP for service discovery and hostname lookup.

3
  • Hi Zanchey, Thank you so much. I will check out dnsmasq (I was hoping to avoid 3rd party software as our main responsibility is to ship only the network device to the customer) As for UPnP,I feel it is not feasible since UPNP stack is not standalone & requires network stack. We are looking for a simple DHCP client level solution. Can you tell me more about multicast DNS/Rendezjour? Thanks again.. :)
    – Anonymous
    Oct 28, 2009 at 13:01
  • 1
    multicast DNS is DNS without servers, generally restricted to your local network. It is implemented by the Avahi stack on Linux and the Apple Bonjour (previously Rendezvous, hence the portmanteau Rendezjour) software in OS X and Windows. You do need to install additional software to use it in Windows (and some Linux distributions), unfortunately, as well as running the daemon on your network device.
    – Zanchey
    Oct 28, 2009 at 13:24
  • Hi Zanchey, My network device is running threadX RTOS using on ARM instruction set. Is there anything similar to the Avahi stack available for threadX? Thanks again for taking so much interest in this, I appreciate it.
    – Anonymous
    Oct 29, 2009 at 5:21
0

Would enabling NetBios over TCP/IP work? DHCP option 46

3
  • Hi ITGuy24, option 46 is NetBIOS over TCP/IP Node Type Option... Have an idea what will be the node type for my device? Value Node Type ----- --------- 0x1 B-node 0x2 P-node 0x4 M-node 0x8 H-node Or should I choose DHCP option 47 - NetBIOS over TCP/IP Scope Option?
    – Anonymous
    Oct 29, 2009 at 5:34
  • Some more questions for you :). Would just enabling Option 46 take care of everything? Is it the only change I have to make? . Don't I have to send my NetBIOS name seperately in some specific format or something?
    – Anonymous
    Oct 29, 2009 at 6:17
  • I am sorry I don't know. My guess would be 0x1 B-mode as this is broadcast mode. Please keep in mind that this will create a lot of traffic on the network especially if it is a large network.
    – ITGuy24
    Oct 30, 2009 at 13:05
0

Dynamic DNS would do exactly what you what. The DHCP server would need to open a rndc connection to the DNS server and on a successful lease, it would updated both the DNS and reverse DNS for that IP address. You could then configure within the DHCP client what name the device should be given.

This article about dynamic DNS using a DHCP/BIND server configuration on Debian might give you some idea on how to configure your own device.

http://www.debianadmin.com/howto-setup-dhcp-server-and-dynamic-dns-with-bind-in-debian.html

You must log in to answer this question.