I got the same issue,
I've been analyzing the init script and noticed that
nothing will be executed if no interfaces network is set to INTERFACES
variables
in /etc/default/isc-dhcp-server.

I've created to variables in /etc/default/isc-dhcp-server, DHCPDv4 and
DHCPDv6
and checked for true|false and then call the related command for each
variable if its enabled.

I don't think a good idea relies on setting the network interfaces for
INTERFACES variables,
because the service don't do that, it just run on the subnet that found
in config file,
if the user decided to do that he can, but it's not essential.
--- isc-dhcp-server	2016-08-08 19:11:30.639671000 -0300
+++ /etc/init.d/isc-dhcp-server	2016-08-08 19:48:57.047671000 -0300
@@ -95,7 +95,7 @@
 	DESC="$5"
 
 	shift 5
-	INTERFACES="$*"
+	#INTERFACES="$*"
 
 	test_config "$VERSION" "$CONF"
 	log_daemon_msg "Starting $DESC" "$NAME"
@@ -146,10 +146,16 @@
 		if test -n "$INTERFACESv4"; then
 			start_daemon "-4" "$DHCPDv4_CONF" "$NAME4" \
 				"$DHCPDv4_PID" "$DESC4" "$INTERFACESv4"
+		else
+			start_daemon "-4" "$DHCPDv4_CONF" "$NAME4" \
+				"$DHCPDv4_PID" "$DESC4" "$INTERFACESv4"
 		fi
 		if test -n "$INTERFACESv6"; then
 			start_daemon "-6" "$DHCPDv6_CONF" "$NAME6" \
 				"$DHCPDv6_PID" "$DESC6" "$INTERFACESv6"
+		else
+			start_daemon "-6" "$DHCPDv6_CONF" "$NAME6" \
+				"$DHCPDv6_PID" "$DESC6" "$INTERFACESv6"
 		fi
 		;;
 	stop)
@@ -170,6 +176,9 @@
 		if test -n "$INTERFACESv4"; then
 			echo -n "Status of $DESC4: "
 			check_status -v $DHCPDv4_PID $NAME4 || exit $?
+		else
+			echo -n "Status of $DESC4: "
+			check_status -v $DHCPDv4_PID $NAME4 || exit $?
 		fi
 		if test -n "$INTERFACESv6"; then
 			echo -n "Status of $DESC6: "
--- isc-dhcp-server	2016-08-08 19:11:30.639671000 -0300
+++ /etc/init.d/isc-dhcp-server	2016-08-08 20:22:18.879671000 -0300
@@ -95,7 +95,7 @@
 	DESC="$5"
 
 	shift 5
-	INTERFACES="$*"
+	#INTERFACES="$*"
 
 	test_config "$VERSION" "$CONF"
 	log_daemon_msg "Starting $DESC" "$NAME"
@@ -137,17 +137,12 @@
 
 case "$1" in
 	start)
-		if test -n "$INTERFACES" -a -z "$INTERFACESv4"; then
-                        echo "DHCPv4 interfaces are no longer set by the INTERFACES variable in" >&2
-                        echo "/etc/default/isc-dhcp-server.  Please use INTERFACESv4 instead." >&2
-                        echo "Migrating automatically for now, but this will go away in the future." >&2
-                        INTERFACESv4="$INTERFACES"
-		fi
-		if test -n "$INTERFACESv4"; then
+		if [ $DHCPD_ENABLED = true ]; then
 			start_daemon "-4" "$DHCPDv4_CONF" "$NAME4" \
 				"$DHCPDv4_PID" "$DESC4" "$INTERFACESv4"
 		fi
-		if test -n "$INTERFACESv6"; then
+		if [ $DHCPDv6_ENABLED = true ]; then
+			log_progress_msg "dhcpd" "dhcpdv6 is enabled";
 			start_daemon "-6" "$DHCPDv6_CONF" "$NAME6" \
 				"$DHCPDv6_PID" "$DESC6" "$INTERFACESv6"
 		fi
@@ -164,14 +159,11 @@
 		fi
 		;;
 	status)
-		if test -n "$INTERFACES" -a -z "$INTERFACESv4"; then
-                        INTERFACESv4="$INTERFACES"
-		fi
-		if test -n "$INTERFACESv4"; then
+		if [ $DHCPDv4_ENABLED = true ]; then 
 			echo -n "Status of $DESC4: "
 			check_status -v $DHCPDv4_PID $NAME4 || exit $?
 		fi
-		if test -n "$INTERFACESv6"; then
+		if [ $DHCPDv6_ENABLED = true ]; then
 			echo -n "Status of $DESC6: "
 			check_status -v $DHCPDv6_PID $NAME6 || exit $?
 		fi

Attachment: signature.asc
Description: OpenPGP digital signature

Reply via email to