Je viens d'installer isc-dhcp sur mon serveur. J'ai même configuré la bonne interface. Mais le serveur DHCP ne démarre toujours pas. Son dit Not configured to listen on any interfaces!
dans le syslog. Et quand j'essaie dhcpd -t /etc/dhcp/dhcpd.conf
cela donne cette erreur: /etc/dhcp/dhcpd.conf: interface name too long (is 20
Voici mon dhcpd.conf:
ddns-update-style none;
option domain-name "thpi";
option domain-name-servers 208.67.222.222, 208.67.220.220;
default-lease-time 86400;
max-lease-time 604800;
authoritative;
# Use this to send dhcp log messages to a different log file (you also
# have to hack syslog.conf to complete the redirection).
log-facility local7;
subnet 10.0.0.0 netmask 255.255.255.0 {
## dhcp start and end IP range ##
range 10.0.0.20 10.0.0.90;
option subnet-mask 255.255.255.0; ## subnet
option broadcast-address 10.0.0.255; ## broadcast
option routers 10.0.0.1; ## router IP
Host pc1 {
hardware ethernet 60:a4:4c:3d:76:fa;
fixed-address 10.0.0.100;
}
Host lap1 {
hardware ethernet 6c:71:d9:1e:f3:4f;
fixed-address 10.0.0.150;
}
Host thnote {
hardware ethernet d0:22:be:d3:be:e1;
fixed-address 10.0.0.200;
}
}
fichier /etc/default/isc-dhcp-server
:
# Defaults for isc-dhcp-server initscript
# sourced by /etc/init.d/isc-dhcp-server
# installed at /etc/default/isc-dhcp-server by the maintainer scripts
#
# This is a POSIX Shell fragment
#
# Path to dhcpd's config file (default: /etc/dhcp/dhcpd.conf).
#DHCPD_CONF=/etc/dhcp/dhcpd.conf
# Path to dhcpd's PID file (default: /var/run/dhcpd.pid).
#DHCPD_PID=/var/run/dhcpd.pid
# Additional options to start dhcpd with.
# Don't use options -cf or -pf here; use DHCPD_CONF/ DHCPD_PID instead
#OPTIONS=""
# On what interfaces should the DHCP server (dhcpd) serve DHCP requests?
# Separate multiple interfaces with spaces, e.g. "eth0 eth1".
INTERFACES="eth0:0"
Fichier d'interfaces:
auto lo
iface lo inet loopback
auto eth0
iface eth0 inet static
address 192.168.1.10
netmask 255.255.255.0
network 192.168.1.0
broadcast 192.168.1.255
gateway 192.168.1.1
auto eth0:0
iface eth0:0 inet static
name Lan
address 10.0.0.1
netmask 255.255.255.0
network 10.0.0.0
allow-hotplug wlan0
iface wlan0 inet manual
wpa-roam /etc/wpa_supplicant/wpa_supplicant.conf
iface default inet dhcp
Quel pourrait être le problème?
Votre fichier /etc/default/isc-dhcp-server
devrait avoir
INTERFACES="eth0"
J'ai eu le même problème et il a été résolu après l'attribution d'une adresse IP à mon interface
comme,
ifconfig eth0 192.168.1.100
http://www.braindisconnect.com/wiki/index.php?title=Linux_DHCP_Server
Ce message n'a rien à voir avec votre fichier dhcpd.conf ou votre configuration. L'erreur est due au fait que dhcpd interprète le fichier /etc/dhcp/dhcpd.conf comme une interface. Le nombre 20 correspond au nombre de caractères de "/etc/dhcp/dhcpd.conf" et non au contenu du fichier.
Ajoutez le -cf à votre syntaxe pour que ce fichier de configuration soit en train de faire l'objet d'un test ou utilisez simplement dhcpd -t.
J'avais également ce problème, mais malgré tout ce qui précède, je devais déclarer une étendue pour le sous-réseau auquel mon NIC était directement connecté. Cela a permis au service de démarrer sans erreur.
J'ai eu ce problème aussi. Dhcpd commençait avant que l'interface réseau soit prête. Vous pouvez l'ajouter à votre fichier /etc/init/isc-dhcp-server.conf (pour IPv4).
Au bas du fichier, vous verrez une ligne comme celle-ci (le "exec" est ce que vous recherchez):
exec dhcpd -user dhcpd -group dhcpd -f -q -4 -pf /run/dhcp-server/dhcpd.pid -cf $CONFIG_FILE $INTERFACES
Ajoutez ceci à la ligne au dessus
sleep 30
Cela retardera le démarrage de votre serveur DHCP. Cela ne ralentira pas le reste de votre processus de démarrage.
Le bas de ce fichier ressemble maintenant à ceci:
respawn
script
if [ -f /etc/ltsp/dhcpd.conf ]; then
CONFIG_FILE=/etc/ltsp/dhcpd.conf
else
CONFIG_FILE=/etc/dhcp/dhcpd.conf
fi
. /etc/default/isc-dhcp-server
# Allow dhcp server to write lease and pid file as 'dhcpd' user
mkdir -p /var/run/dhcp-server
chown dhcpd:dhcpd /var/run/dhcp-server
# The leases files need to be root:root even when dropping privileges
[ -e /var/lib/dhcp/dhcpd.leases ] || touch /var/lib/dhcp/dhcpd.leases
chown root:root /var/lib/dhcp /var/lib/dhcp/dhcpd.leases
if [ -e /var/lib/dhcp/dhcpd.leases~ ]; then
chown root:root /var/lib/dhcp/dhcpd.leases~
fi
sleep 30
exec dhcpd -user dhcpd -group dhcpd -f -q -4 -pf /run/dhcp-server/dhcpd.pid -cf $CONFIG_FILE $INTERFACES
end script
Il y a deux façons de démarrer le réseautage
via/etc/network/interfaces
via NetworkManager
DHCPD essaie de démarrer après 1) mais avant 2)
Si dhcpd ne peut pas détecter le réseau, essayez la méthode 1)