FOG ICS-DHCP does not auto-start at bootup (Debian 8)
-
Fog 8623. I have had the following issue during 2 Fog builds on physical hardware, installing fog on a laptop and also on a gigabyte Brix mini-pc. When running the install script, I choose YES when install asks if I want to use Fog DHCP server. After a reboot, the ics-dhcp server exits with an error. The strange thing is that this error does not pop up when installing Fog inside a virtual machine (Hyper-V). Operating system: Debian 8.4. I solved the problem by installing Webmin and then connecting the dhcp-server to interface eth0 and then restarting dhcp (with Webmin). But there must be a quicker solution. Here is the error:
isc-dhcp-server.service - LSB: DHCP server Loaded: loaded (/etc/init.d/isc-dhcp-server) Active: failed (Result: exit-code) since Sun 2016-07-17 11:25:50 CEST; 4min 54s ago Process: 477 ExecStart=/etc/init.d/isc-dhcp-server start (code=exited, status=1/FAILURE) Jul 17 11:25:48 acer dhcpd[555]: to which interface eth0 is attached. ** Jul 17 11:25:48 acer dhcpd[555]: Jul 17 11:25:48 acer dhcpd[555]: Jul 17 11:25:48 acer dhcpd[555]: Not configured to listen on any interfaces! Jul 17 11:25:48 acer dhcpd[555]: Jul 17 11:25:50 acer isc-dhcp-server[477]: Starting ISC DHCP server: dhcpdcheck syslog for diagnostics. ... failed! Jul 17 11:25:50 acer isc-dhcp-server[477]: failed! Jul 17 11:25:50 acer systemd[1]: isc-dhcp-server.service: control process exited, code=exited status=1 Jul 17 11:25:50 acer systemd[1]: Failed to start LSB: DHCP server. Jul 17 11:25:50 acer systemd[1]: Unit isc-dhcp-server.service entered failed state.
I read somewhere that if no interface is selected, the dhcp server will attempt to find one automatically. Maybe this is broken in ICS-DHCP 4.3.1 or in Debian 8.4? Strange it does work inside Hyper-V…
The dhcp config file:
-
Please post the output of this command:
ip addr show
Just dhcp’s config file alone isn’t enough for me to go on. I need to know about all the adapters, their addresses and masks and such.
-
ip addr show dump:
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
link/ether 00:1f:16:a9:71:86 brd ff:ff:ff:ff:ff:ff
inet 192.168.0.8/24 brd 192.168.0.255 scope global eth0
valid_lft forever preferred_lft forever
inet6 fe80::21f:16ff:fea9:7186/64 scope link
valid_lft forever preferred_lft forever
3: wlan0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc mq state DOWN group default qlen 1000 -
@coco65 One thing that could cause you issues down the road is having the router and dns server within the dhcp range,
option routers 192.168.0.250; option domain-name-servers 192.168.0.150;
You can add address reservations for those two things, or limit your range to
range dynamic-bootp 192.168.0.10 192.168.0.149;
But those aren’t causing the problem.
The configuration file should work, everything is correct.
An interface is selected, in fact. This line here matches the interfaceeth0
for you.subnet 192.168.0.0 netmask 255.255.255.0 {
and you only have one interface that matches that in theip addr show
command.It could be that the
wlan0
interface being not configured is causing this on the laptop.On the bare metal machines, if you have more than one interface on the same broadcast domain that are/are not configured it could cause it then too.
You can specify the interface you want to use.
Red hat/Fedora/CentOS:
/etc/sysconfig/dhcpd
Add the line:
DHCPDARGS="eth0";
Ubuntu/Debian:
/etc/default/dhcp3-server
Add the line:
INTERFACES="eth0"
-
#wiki worthy
-
@Wayne-Workman : thanks for the answer. Both the laptop and the Brix mini-pc I use have a wifi adapter that is not standard supported by the Debian installer. But since I intended to deploy using ethernet cable only, I ignored the wlan interface and indeed did not configure it. Hyper-V virtual servers don’t have a wlan adapter, so the error did not occur on that. It seems ics-dhcp has a problem with non-configured adapters.
Note: on Debian 8 (also Ubuntu I think) for the ISC DHCP server it should not be the file:
/etc/dhcp/dhcpd.conf
And also not:
/etc/default/dhcp3-server
For Debian 8 the correct file is: (it took me some time to figure this out, my Linux is not so good)
/etc/default/isc-dhcp-server
There add the line:
INTERFACES="eth0"
-
@coco65 Awesome.
I’ll add the details to the #wiki sometime, so we know in the future.