1755744 Members
3075 Online
108837 Solutions
New Discussion юеВ

problem with bootpd

 
Kevin Chaney
Occasional Contributor

problem with bootpd

Hi all,
I've got a problem with bootpd.
I was trying to setup a UX 11.0 box as a dhcp server. I was using SAM to set it up. Everything was going pretty well but when I came back to it the next day it wasn't working. I tried to restart /usr/lbin/bootpd and nothing happens. It will not start even if running boodpd -t 0 so it won't exit.

if you try running dhcptools -d you get an error saying DHCP/BOOTP isn't running. I installed the latest patch PHNE_19241 to no avail. It is enabled in inetd.conf.

I removed all the config files I could find and had SAM rebuild them. I've rebooted several times. I've double checked the bootpd file and libraries to make sure they are all ok, cksum's match as well as file size and permissions.

I've checked syslog and here are the only entries you get when trying to start boopd

May 9 16:04:43 plt04bds bootpd[2117]: bootpd 2.4 #1.17.213.3: Tue Jun 27 12:59:
49 GMT 2000
May 9 16:04:43 plt04bds bootpd[2117]: getsockname: Socket operation on non-sock
et

That second one seems a little suspicious to me, but I don't know what to do with it.

Telnet,ftp, etc all seem to work fine.

Something else is, on another server I got bootpd running and after I did a kill pid# to stop bootpd, the same behavior started, I couldn't get it restarted.

I don't konw where to go from here. Any help would be greatly appreciated.

Thanks
2 REPLIES 2
Peter Van Sant
Advisor

Re: problem with bootpd

Kevin,

This may have something to do with the way you're starting bootpd. I was able to generate the same "non-socket" message by
killing bootpd, starting it via a bootpquery,
and then issuing /usr/lbin/bootpd. Because it's already running the "non-socket" message
is generated to tell you you're trying to perform an operation on a regular file that's reserved for a socket.

Bootpd should be started by inetd.conf or from the command line but never both. If you want
to use the command line start be sure to comment out the bootps line in inetd.conf and
re-read the file with "inetd -c".

Try killing your bootpd and then do a bootpquery against the "test" entry in /etc/bootptab (make sure there is a "ba" tag for that entry first). This should start
bootpd cleanly.
A. Clay Stephenson
Acclaimed Contributor

Re: problem with bootpd

Ok Kevin here goes,
Bootpd can be run either explicitly (e.g. from /sbin/init.d on startup or from inetd but not both. Typically you want inetd to do it upon request.

Next I would make sure no bootpd's are running.
So edit /etc/inetd.conf and find the bootps entry. If there is not a '#' (comment) at the beginning of the line put one there. Then do an inetd -c to force inetd to reconfigure itself. Now do a ps -e | grep bootp and see if there are any running processes. If so, kill them. Wait about 2 minutes for ports to timeout and close.

Now, do a netstat -a | grep 67
if you find anything listening on udp port 67 you have a conflict

Edit /etc/inetd.conf and find the bootps entry which starts bootpd upon request; remove the '#' and I think that I would add a -d 2 (Debug levels can be set 1 to 3) to the end of the line.

Do an inetd -c to again reconfigure.

If you are not running now, hopefully the syslog will have useful debug information.
You might want to carefully check you bootpatd and dhcptab before starting any of this.

This should at least get you started, Clay
If it ain't broke, I can fix that.