Name resolution for local names using DHCP

Discussion in 'Linux Networking' started by Charles Russell, Dec 16, 2007.

  1. OK, you folks have convinced me. Thanks.
    Charles Russell, Dec 17, 2007
    1. Advertisements

  2. Just trying to understand a bit more about networking, and to find the
    simplest solution to a noncritical problem.

    OK, static addresses.

    Charles Russell, Dec 17, 2007
    1. Advertisements

  3. I know I'm jumping in late, but static addresses are not a terribly good
    idea - they don't scale in the sense that if you add another computer to
    a network of n machines, then you have to change the /etc/hosts file of
    all n existing machines.

    1. Are you sure that your router can't to hostname to IP address
    translations? It may just be that it has a wrong idea of your domain
    names. If the host name of another computer is, say, machine, try to
    resolve (e.g. with the command hosts):


    (the following dot will stop your own computer appending its own idea of
    the domain name)

    Otherwise, look at the router's idea of the domain name and try to resolve:

    (if the domain name is

    Of course that may not work either, but it will test whether your router
    can resolve local hostnames.

    2. Run avahi. Then each machine will advertise its own hostname and IP
    address and you will be able to resolve say, machine, as machine.local

    Robert Harris, Dec 17, 2007
  4. Charles Russell

    Jerry Peters Guest

    Because that's not the function of the DHCP server, it's the DNS
    server's function. DHCP is designed to get you an ip address and some
    other optional information useful in connecting to a network. Name
    resolution is an entirely different thing.

    Jerry Peters, Dec 17, 2007
  5. Thanks. I haven't time at the moment to experiment, but in the meanwhile
    I have a question about the domain name. My network was originally set
    up as a Windows XP network, with workgroup name "MSHOME", and later I
    added a Linux box and a MacOSX box, both of which got handled
    automatically by DHCP with no further router configuration. (Everything
    works except for local name resolution, and even that works with samba
    clients. MaxOSX and Linux behave identically.) As far as I know, I don't
    have a named "domain", unless that is the same as the Windows network

    With Linux, dhcpcd (I think) puts the line "search Belkin" into
    resolv.conf. I have no idea what that is for.
    Charles Russell, Dec 17, 2007
  6. That means that your Linux machine will search for machine.Belkin when
    you ask it to search for machine (the resolv.conf man page tells a
    fuller story). The name "Belkin" probably comes from your router; there
    will be a file somewhere which on my (Debian) system is
    /var/log/dhcp3/dhclient.eth0.leases which lists the parameters that your
    router has sent.

    Tell your router that your domain name is "local" (without the quotes)
    and, after you have had a dhcp response from your router, make sure that
    your /etc/resolv.conf contains the line: "search local".

    Domain is nothing to so with workgroup name; it is generally like
    "" (if the fully qualified name of your computer is

    Robert Harris, Dec 17, 2007
  7. Charles Russell

    Bit Twister Guest

    domain name and workgroup are not the same. On my LAN the domain name
    is not a registered domain so I put .invalid on the end of it. See

    $ hostname --domain

    looking in /etc/samba/smb.conf we see the work group defined

    # 1. Server Naming Options:
    # workgroup = NT-Domain-Name or Workgroup-Name
    workgroup = MDKGROUP

    Yep, search line is handed out by your dhcp server and placed there by
    your dhcp client.

    I remove the search line to speed up some dns look ups when I use dhcp
    I use static ip for all machines on my LAN just to keep things simple.

    That allows dns to use dns nameservers without searching the domain first.
    Bit Twister, Dec 17, 2007
  8. Charles Russell

    Unruh Guest

    It depends on what the value of n is. If it is 3 then that is not a problem
    If it is 10 or 1000 then it is. Most homes have at most 3 computers.
    YOu can also write a script to transfer the /etc/hosts file to all machines
    when needed.
    Also you could set up one of the machines as a dns server and use it to
    resolve for the others. This is much more work than updating /etc/hosts
    once a year for 3 machines. If you have 10 or 100 or more, then it may well
    be the way to go.

    The amount of time he has already spent just typing his queries exceeds the
    work of updating /etc/hosts for the next 5 years.

    Unruh, Dec 17, 2007
  9. You mean ping dell03. or nslookup dell03. ? No luck.
    In the router setup page, domain name is empty.

    and try to resolve:
    Not in my linux distribution. Not likely in OSX, but haven't looked.
    Would it give any information I can't get directly from the router,
    which can display the hostnames and IP addresses assigned by DHCP?
    Charles Russell, Dec 18, 2007
  10. Yes. Or to create aliases for the IP addresses as they change from time
    to time. But maybe I have learned something along the way.
    Charles Russell, Dec 18, 2007
  11. When you switch on your computer, then it issues a broadcast request
    message (if it is configured to use dhcp) and your DHCP server (which is
    your router) will send it an acknowledgement saying: "I am your DHCP
    server, your IP address is, your gateway is,
    your domain is and this stuff is valid for the next 24 hours."
    That stuff accepted by your computer and put in a leases file. You can
    also read the details of that acknowledgement in a log file: if you grep
    for dhclient (assuming that dhclient is the name of your DHCP client) or
    plain dhcp or DHCP in /var/log/* you will find it.
    It doesn't. Perhaps your router has seen something with an IP address of on your network.

    Robert Harris, Dec 18, 2007
  12. What is a "dhcp response"? How do I force it or recognize it?

    make sure that
    By the way, do you have any idea why my router must be configured to use
    the range of addresses starting with 192.168.2? The default of 192.168.1
    won't work for some reason.
    Charles Russell, Dec 18, 2007
  13. Funny thing happened. The router setup page has empty fields for
    hostname and for domain. When I entered local into the hostname field,
    it broke the network. Worse, when I tried to open the router to unset
    the hostname, it refused to let me log on. I ended up resetting the
    router to factory defaults and reinstalling everything.

    In retrospect, I don't see how that could happen. I was trying to reset
    the router from a computer that was hardwired to the router, using an
    explicit IP address. Why should it refuse the connection? Possibilities
    that occur to me are 1) a bug in the router software or 2) in my panic
    when I realized I had broken the internet connection for my wife's brand
    new laptop, perhaps I did something silly without noticing it. I suppose
    I should see if the experiment is reproducible, but I am not eager to
    try until sometime after Christmas when I have some time on my hands.
    Any comments?
    Charles Russell, Dec 18, 2007
  14. Charles Russell wrote:
    perhaps I did something silly without noticing it.

    Like typing "local" into the wrong field? Which occurs to me after
    re-reading my last post.
    Charles Russell, Dec 18, 2007
  15. Charles Russell

    david Guest

    DHCP is not DNS.
    david, Dec 19, 2007
  16. I can't figure out how to get name resolution for computers on my home
    On the contrary: DHCP is simpler because it requires no configuration at
    all (so your laptop will get its IP on your home network just like it
    does at your favorite cyber café).

    Stefan Monnier, Dec 23, 2007
  17. I can't figure out how to get name resolution for computers on my home WLAN,
    Complain to Linksys about the lack of this feature.

    And then install a better firmware into your machine: I recommend
    OpenWRT (, tho I've had to use dd-wrt instead on
    a recent wrt54g because it has too little ROM&RAM to
    accomodate OpenWRT.

    Those third party firmwares use typically dnsmasq as the combined
    DHCP&DNS server, which does just what you ask for.

    Stefan Monnier, Dec 23, 2007
  18. Charles Russell

    Frank Hahn Guest

    Typically, the stock firmware in the Linksys WRT54G does not allow you
    to assign IP addresses to a MAC address. I have updated the Linksys firmware
    with third party firmware so I can do this.

    I am presently using firmware from here:

    The version is:

    Hyperwrt 2.1b1 + Thibor15c

    The version you download depends on the version of the Linksys WRT54G.

    On the Linux machine, I just run a forwarding DNS. It resolves my
    names locally and then sends all other requests to my ISP. I let the
    Linksys set the DNS addresses for all of the machines on my local
    Frank Hahn, Dec 25, 2007
    1. Advertisements

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments (here). After that, you can post your question and our members will help you out.