Apparemment, le serveur isc-dhcp-server est démarré trop tôt dans la séquence de démarrage, ce qui indique qu'il n'a rien à faire. Si je me connecte directement en tant que root et le lance à l'aide du script init.d, il démarre normalement.
Ma configuration est fondamentalement un routeur tout à fait standard, avec un eth0 du côté inet et un eth1 du côté lan. Cependant, j'ai défini un pont au lieu de l'eth1 pour le côté réseau local. Ainsi, la partie réseau du réseau n’est pas en place tant que le pont n’est pas en place.
Je pense actuellement que le serveur DHCP est activé avant le pont, probablement parce que le pont est associé à la tâche 'mise en réseau', tandis que les outils eth sont utilisés pour les tâches 'interface réseau', exécutées plus tôt. . (De plus, le pont met un petit âge à se lever comparé à celui de l'eth).
Si je supprime la configuration du pont, en utilisant plutôt eth1 directement pour le côté réseau local, tout fonctionne. (Cependant, à en juger par syslog, la situation est encore difficile.)
Des idées sur la façon de démarrer DHCP plus tard?
(La raison du pont est de pouvoir utiliser KVM avec un réseau ponté ..)
Les interfaces réseau ne sont actives que lorsque la tâche networking
est exécutée dans la séquence suivante. Vous pouvez voir lors de la configuration de la tâche dans /etc/init/networking.conf
que la seule fonction exécutée est ifup -a
. J'ai corrigé la séquence de démarrage en supprimant les liens symboliques isc-dhcp-server des dossiers /etc/rc?.d
et en ajoutant une nouvelle tâche pour le programme de démarrage. La seule chose à faire est d’ajouter un fichier de configuration /etc/init/dhcp_start.conf
et de le modifier comme suit:
démarrer sur réseau arrêté
exec /etc/init.d/isc-dhcp-server start
C'est un méchant hack, mais ça marche. Vous pouvez également ajouter une autre tâche pour arrêter doucement dhcpd sur un autre événement, comme pour mon réseau:
démarrer à l’arrêt pont-réseau-interface br0
exec /etc/init.d/isc-dhcp-server stop
J'ai trouvé quelque part ailleurs que les gens disent de démarrer dhcp sur la mise en réseau commencée au lieu de la mettre en arrêt. Il est essentiellement faux, car les interfaces ne sont configurées qu’après la sortie de la commande ifup -a
et non lors de son exécution. Cela n'a fonctionné que par accident, car l'exécution en parallèle de dhcp était assez rapide.
J'ai eu exactement le même problème.
Je l'ai corrigé en éditant /etc/init.d/isc-dhcp-server
et en ajoutant un sleep 10
en haut.
J'ai essayé sleep 5
mais cela ne suffisait pas.
Espérons que cela fonctionnera pour vous aussi.
Mettez les bonnes interfaces dans /etc/default/isc-dhcp-server
. Dans mon cas:
INTERFACES="br0 eth2"
Rien de ce qui précède n'a fonctionné pour moi, je l'ai enfin obtenu en ajoutant ces lignes à mon script rc.local
sleep 10
/etc/init.d/isc-dhcp-server start
Sans le sommeil 10, cela n’a eu aucun effet, j’avais également du mal à conserver la route par défaut, aussi j’ai ajouté
route add default gw 192.168.1.1 eth1
(Je n'ai pas d'éth0, je n'ai jamais compris pourquoi)
Essayez ceci, cela a fonctionné pour moi:
rm /etc/init/isc-dhcp-server.override
J'ai supprimé le fichier car il est écrit manuel dans le fichier.