ISC DHCPD V3.0p12 refuses to start

Discussion in 'Linux Networking' started by Grant, Oct 21, 2005.

  1. Grant

    Grant Guest

    Hello all,

    I have recently setup a Redhat EL Advanced Server 3.0 box and am
    intending to have it serve DHCP for me. I used the custom installation
    option and made sure that I installed dhcpd during the initial RH
    install. I then created a simple dhcpd.conf file in /etc :

    subnet 10.32.0.0 netmask 255.255.0.0 {
    range 10.32.0.100 10.32.100.100;
    }

    permissions on the conf file are -rw--r--r-- and ownership is root.

    There is one NIC in the machine (eth0) and its address is 10.32.0.10
    (and yes it is on the same subnet as I have declared in dhcpd.conf).
    IP(6)tables/chains were not installed, and chkconfig was used to turn
    them "off" if they indicated they were "on" for any runlevel. chkconfig
    was used to turn dhcpd on.

    The init scripts do not pass any command line arguments to dhcpd,
    although I have modified them to do so to no avail and put them back at
    default. (However, the way to do this was by modifying
    /etc/sysconfig/dhcpd which has a $DHCPDARGS= line in it that is empty
    by default. This is where I placed any command-line arguments that I
    tried. I also temporarily modified the dhcpd init script to spit out
    the return value of dhcpd which ends up being "1").

    If I manually try to run dhcpd (say for instance with a "dhcpd -cf
    /etc/dhcpd.conf eth0", it gives me the exact output I see in
    /var/log/messages from the init script's attempt at starting dhcpd,
    which tells me it is ISC DHCPD V3.0p12, gives a short message about
    ddns behavior, asks whether I got the software from ISC and have read
    the readme (which I can't find in the redhat distro, but I am tempted
    to go find one), and then it says "exiting." and just dies. This causes
    a [FAILED] message when booting or trying to use "service dhcpd start".

    I have read both manual pages for dhcpd and dhcpd.conf and can't find
    anything that jumps out at me from them as to why this is happening.
    The output from DHCPD doesn't indicate that anything is wrong at all
    either thru /var/log/messages or the -f switch to run dhcpd as a
    "non-daemonized" process.

    I have verified the file /var/lib/dhcp/dhcp-leases exists and is empty
    (I "touch"ed it to make sure it even was "up to date").

    Does anyone have any idea why this is happening or how I can get more
    information from dhcpd as to why it refuses to start?


    thanks

    Grant
     
    Grant, Oct 21, 2005
    #1
    1. Advertisements

  2. Grant

    Grant Guest

    Ok, I've figured out the problem and will share.

    The syslog message I had been receiving stated that You must add a
    ddns-update-style statement to /etc/dhcpd.conf. To get the same
    behaviour as in ISC DHCPD V3.0pl11 and previous versions add a line
    that says "ddns-update-style ad-hoc".

    I tried adding this line before I ever posted as suggested and it
    didn't help (yes the system has BIND on it, but it is not configured
    yet. I wanted to get DHCP working first because this will actually be a
    PXE server and I don't care about DNS for this network in the
    slightest, silly me). But this is the reason that this version of DHCPD
    was failing to start. The problem was solved by adding a
    "ddns-update-style none;" line to dhcpd.conf.

    It is interesting that first sample of a dhcpd.conf file in the
    dhcpd.conf manual pages glosses right over the fact that by default you
    _have_ to have a ddns-update-style statement in dhcpd.conf. The first
    example only mentions that you put global parameters at the top, then
    it gets right into subnet and range statements which would be the heart
    of any dhcp configuration.

    Not only that, but the suggestion that I use "ddns-update-style ad-hoc"
    to retain previous versions' behavior is terribly stupid in itself. If
    you find this under the dhcpd.conf manual pages it says that the ad-hoc
    style is deprecated and does not work.
     
    Grant, Oct 22, 2005
    #2
    1. Advertisements

  3. You may also need to add the "authoritative;" command,
    which did not exist in version 2.x.
     
    Andrei Ivanov, Oct 22, 2005
    #3
    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.