I tried checking isc-dhcpd-mailinglists but didnt get a real clue or a working solution. Since I got dhcpd (isc dhcpd) running with a different linux untill I changed to gentoo, I thought it maybe a bug here. The topic in the forum (http://forums.gentoo.org/viewtopic.php?p=579117) got pretty much information and other people complaining about the same problem, but here's a short resume: I've got a multihomed box running gentoo 1.4_rc4 (NIC 1 3Com Corporation 3c905B 100BaseTX [Cyclone] (rev 48) NIC 2 3Com Corporation 3c905C-TX/TX-M [Tornado] (rev 120) ) with isc-dhcpd-V3.0pl2 installed (net-misc/dhcp-3.0_p2-r2.ebuild) which doesn't want to start. Error-message: [01:33:43] root@odie ~ # /etc/init.d/dhcp start * Starting dhcpd... Internet Software Consortium DHCP Server V3.0pl2 <snip> Wrote 0 leases to leases file. socket: Protocol not available - make sure CONFIG_PACKET (Packet socket) and CONFIG_FILTER (Socket Filtering) are enabled in your kernel configuration! <snip> but CONFIG_PACKET and CONFIG_FILTER are compiled into my kernel [01:35:02] root@odie ~ # egrep "CONFIG_PACKET|CONFIG_FILTER" /proc/config CONFIG_PACKET=y CONFIG_FILTER=y kernel-version: 2.4.20-gentoo-r2 /etc/conf.d/dhcp contains IFACE="eth0" DHCPD_OPTS="" eth0 is my NIC for LAN and has a static IP (IPv4) eth1 is my NIC for internet connected to my DSL-modem without IP-Address Reproducible: Always Steps to Reproduce: 1. Get a similar setup like me (see "Details") 2. Start dhcpd (/etc/init.d/dhcpd start) Actual Results: see Details Expected Results: dhcpd should have started I will start with Severity "Normal" but I do not really know if its a gentoo-bug, but IMHO it could maybe be possible. Maybe somebody should just try a similar setup and answer to the topic.
does it work better if they are modules?
1) Please try upgrading your kernel to the latest gentoo-sources 2) Please:- "emerge strace; strace -o ~/some_file dhcpd" and *attach* the output to Bugzilla.
Created attachment 19472 [details] strace output of dhcpd I didn't upgrade to the latest gentoo-sources yet, but I have another box with a single configured NIC (3Com Corporation 3c905 100BaseTX [Boomerang], another NIC is available but not configured to be used(Broadcom Corporation BCM4401 100Base-T (rev 01)) and dhcpd is working on that box like it should. Hope this can help you.
Created attachment 19473 [details] used dhcpd.conf Here is the dhcpd.conf I use, maybe it provides usefull information.
Hmmm. It says that the protocol doesn't exist in the strace... /// bind(7, {sa_family=AF_PACKET, proto=0x6574, if12392, pkttype=PACKET_HOST, addr(0)={0, }, 16) = 0 setsockopt(7, SOL_SOCKET, 0x1a /* SO_??? */, "\v\0\21\10@[\f\10", 8) = -1 ENOPROTOOPT (Protocol not available) /// Can you try another version of dhcpd or another kernel [latest gentoo-sources/latest vanilla-sources] ? Also, this might be [and probably is] a grsecurity issue. Can you try gentoo-sources with *all* grsecurity options set to off? ... Also, others report that this happens with multiple NICs... I see no reason why this would work on another distribution and not on Gentoo, so it does look like this is a kernel problem. Killing grsecurity is your best bet.
Can you post your kernel .config file? I suspect socket filtering isn't on. That is a requirement for dhcpd to work. You can find socket filtering in the "Networking Options" section of the kernel config. It is about the sixth item down.
<quote of comment 1 ** notice the /proc/config **> but CONFIG_PACKET and CONFIG_FILTER are compiled into my kernel [01:35:02] root@odie ~ # egrep "CONFIG_PACKET|CONFIG_FILTER" /proc/config CONFIG_PACKET=y CONFIG_FILTER=y </quote of comment 1>
I updated to the currently latest stable vanilla-sources sys-kernel/vanilla-sources Latest version available: 2.4.22 recompiled it with my old .config (make oldconfig) restarted and now dhcpd works like a charm. Sorry for any inconvenience and thanks a lot. I lost over 100days uptime, but I think I can live with that ;) My previous version was vannilla 2.4.20 which seems to have a bug with multiple NIC's, but I dont care now *g*
Thanks. We'd be grateful if you could compile gentoo-sources and disable grsecurity fully and see what happens. If you don't have time, thanks for all your assistance anyway :-)
*** Bug 37759 has been marked as a duplicate of this bug. ***
Looks like this came up again. I'm out of my element here so I hope the kernel folk can help. Please see the duplicated bug 37759 for more details.
Max, can you see if you get this with gentoo-sources-2.4.22-r5? Thanks!
-r5 appears to have resolved this. -----Burton
Thanks for confirming Burton. I'm closing this for now. If it comes up again, please reopen. Thanks.