DHCPd Will Not Listen on the Correct Interface
Serban Giuroiu
glists at comcast.net
Sat Jul 22 07:08:36 UTC 2006
Hello, everybody.
I have a fresh install of FreeBSD 6.1-RELEASE on a machine with several NICs,
and I need to run different DHCP servers for different subnets on different
NICs. I installed isc-dhcp3-server-3.0.4_2 from ports with the default
options enabled (of importance: DHCP_PARANOIA and DHCP_JAIL).
These are the interfaces I need to run DHCPd on:
fxp0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
options=8<VLAN_MTU>
inet6 fe80::2d0:b7ff:fee1:620f%fxp0 prefixlen 64 scopeid 0x1
inet 172.16.2.9 netmask 0xfffffc00 broadcast 172.16.3.255
ether 00:d0:b7:e1:62:0f
media: Ethernet autoselect (100baseTX <full-duplex>)
status: active
rl0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
options=8<VLAN_MTU>
inet6 fe80::250:baff:fed1:a75a%rl0 prefixlen 64 scopeid 0x2
inet 10.0.0.1 netmask 0xfffffc00 broadcast 10.0.3.255
ether 00:50:ba:d1:a7:5a
media: Ethernet autoselect (100baseTX <full-duplex>)
status: active
According to the man page, dhcpd takes as a last argument the interface it
should bind to. I run one dhcpd for the interface rl0 like so:
/usr/local/sbin/dhcpd -cf /usr/local/etc/dhcpd.conf.rl0.10.0.0.0 -lf /var/db/dhcpd.leases.rl0.10.0.0.0 -pf /var/run/dhcpd.pid.rl0.10.0.0.0 -user
dhcpd -group dhcpd rl0
ps ax | grep dhcp shows it running:
20463 ?? Is
0:00.00 /usr/local/sbin/dhcpd -cf /usr/local/etc/dhcpd.conf.rl0.10.0.0.0 -lf /var/db/dhcpd.leases.rl0.10.0.0.0 -pf /var/run/dhcpd.pid.rl0.10.0.0.0 -user
dhcpd -group dhcpd rl0
However, it binds to all interfaces, not just rl0. netstat -nat | grep 67
confirms this:
udp4 0 0 *.67 *.*
Naturally, I cannot start any other DHCP servers on the other interface:
# /usr/local/sbin/dhcpd -cf /usr/local/etc/dhcpd.conf.fxp0.172.16.0.0 -lf /var/db/dhcpd.leases.fxp0.172.16.0.0 -pf /var/run/dhcpd.pid.fxp0.172.16.0.0 -user
dhcpd -group dhcpd fxp0
Internet Systems Consortium DHCP Server V3.0.4
Copyright 2004-2006 Internet Systems Consortium.
All rights reserved.
For info, please visit http://www.isc.org/sw/dhcp/
Wrote 0 deleted host decls to leases file.
Wrote 0 new dynamic host decls to leases file.
Wrote 0 leases to leases file.
Listening on BPF/fxp0/00:d0:b7:e1:62:0f/172.16.0/22
Sending on BPF/fxp0/00:d0:b7:e1:62:0f/172.16.0/22
Can't bind to dhcp address: Address already in use
Please make sure there is no other dhcp server
running and that there's no entry for dhcp or
bootp in /etc/inetd.conf. Also make sure you
are not running HP JetAdmin software, which
includes a bootp server.
After searching through Google, forums, and mailing lists, I have not
encountered a post describing a similar situation. Does anybody know what the
problem might be?
Regards,
--Serban Giuroiu
More information about the freebsd-questions
mailing list