Serveur DHCP

Bonjour à tous,

Dans le cadre d’un projet je dois actuellement mettre en place un serveur DHCP, or quand j’installe les paquets il me retourne déjà une erreur. Je check donc le systemctl status isc-server-server.service et il me retourne ça :

isc-dhcp-server.service - LSB: DHCP server
Loaded: loaded (/etc/init.d/isc-dhcp-server)
Active: failed (Result: exit-code) since lun. 2017-12-18 01:50:48 CET; 9min ago
Process: 1705 ExecStart=/etc/init.d/isc-dhcp-server start (code=exited, status=1/FAILURE)

déc. 18 01:50:46 debian dhcpd[1712]:
déc. 18 01:50:46 debian dhcpd[1712]: Not configured to listen on any interfaces!
déc. 18 01:50:46 debian dhcpd[1712]:
déc. 18 01:50:46 debian dhcpd[1712]: If you think you have received this message due to a bug rather
déc. 18 01:50:46 debian dhcpd[1712]: than a configuration issue please read the section on submitting
déc. 18 01:50:48 debian isc-dhcp-server[1705]: Starting ISC DHCP server: dhcpdcheck syslog for diagnostics. … failed!
déc. 18 01:50:48 debian isc-dhcp-server[1705]: failed!
déc. 18 01:50:48 debian systemd[1]: isc-dhcp-server.service: control process exited, code=exited status=1
déc. 18 01:50:48 debian systemd[1]: Failed to start LSB: DHCP server.
déc. 18 01:50:48 debian systemd[1]: Unit isc-dhcp-server.service entered failed state.

Or mon fichier /etc/default/isc-dhcp-server est complet (enfin je crois)

J’ai essayé de mettre “eth0” dans INTERFACES puis “lo” (comme le but est de tout faire en local) mais même message à chaque fois.

Merci d’avance pour vos réponses, et s’il vous faut de plus amples informations, je reste à votre disposition :slight_smile:

C’est surtout le fichier /etc/dhcp/dhcpd.conf qu’il faut configurer.

Et sinon, précisément, il y a quoi dans ton /etc/default/isc-dhcp-server ?
As tu vérifié aussi avec ip link le nom de tes cartes réseaux (mais ça aurait du marcher avec lo).

Pourquoi avec lo ? Du DHCP en loopback ?
lo = “loopback” (bouclage), pas “local”.

Désolé mais j’ai encore changé mon fichier /etc/network/interfaces et je n’ai plus d’erreur, malheureusement je ne suis plus connecté à internet.

Quant à mon fichier dhcpd.conf j’ai juste ajouté ces lignes :

subnet 192.168.10.0 netmask 255.255.255.0 {
range 192.168.10.1 192.168.10.50;
option subnet-mask 255.255.255.0;
option broadcast-address 192.168.10.255;
option routers 192.168.10.100;
}

Et voici mon /etc/network/interfaces

auto eth0
iface eth0 inet static
address 192.168.10.10
netmask 255.255.255.0
broadcast 192.168.10.255
gateway 192.168.10.1

Mais comme dit quand je rajoute ces lignes je n’ai plus accès à internet mais dhcp fonctionne.

Pour mon /etc/default/isc-dhcp-server j’ai juste modifié la ligne INTERFACES que j’ai complété avec =“eth0”

Merci encore de votre patience et encore désolé si j’ai l’air d’un novice mais c’est le cas :slight_smile:

Les deux préfixes doivent correspondre (comme ici), pour que dhcpd puisse démarrer sans erreur.

Tu parles de l’accès internet du client ou du serveur ?
J’observe que l’adresse de routeur définie dans la config DHCP est différente de celle de l’option gateway du fichier interfaces.
Comment gères-tu les nameservers DNS ? Je ne vois pas d’option dans la config DHCP.

Les deux préfixes ?

Je parle de l’accès internet du serveur.

Je vais modifier les adresses pour le gateway, merci de me l’avoir fait remarqué !

Quant au DNS je ne sais pas trop cela ne concerne pas vraiment ma partie.

Pour changer le fichier dhcpd.conf j’ai suivi un tutoriel sur le site de supinfo mais je crains de ne pas avoir entièrement compris.

Encore merci de votre aide

Préfixe = adresse de réseau + masque : 192.168.10.0/255.255.255.0 ou 192.168.10.0/24 en notation CIDR, 24 étant la taille du préfixe, c’est-à-dire le nombre de bits à 1 dans le masque (255 = 8 bits à 1 donc 3 x 255 = 24 bits à 1).

A moins que tu te connectes à des sites internet uniquement par adresses IP, tu as besoin de DNS pour la résolution de noms. Tu ne gères pas forcément des serveurs DNS, mais tu dois mentionner leurs adresses dans tes configurations statiques ou DHCP.

Ah d’accord je ne savais pas qu’on appelait cela le préfixe !

D’accord, donc je suppose que plus tard je devrais utiliser l’adresse du serveur DNS que je ne gère pas, mais pour l’instant je dois en utiliser un classique ?

Un serveur DNS accessible depuis ton réseau. Celui de la box (s’il y a box), du réseau local, du FAI, un serveur DNS public ouvert (FDN, Google…)

C’est changé, merci, j’ai donc ajouté dans le /etc/dhcp/dhcpd.conf la ligne option-domain-nameservers 8.8.8.8

Je n’ai malheureusement toujours pas internet avec le serveur, voyez vous quelque chose qui serait encore à modifier ?

Merci de votre patience :slight_smile:

La machine qui fait tourner le serveur DHCP est elle-même en configuration statique, elle n’obtient donc pas les DNS depuis son propre serveur DHCP.
Il faut configurer le fichier /etc/resolv.conf, ou bien l’option dns-nameserver(s) dans le fichier interfaces si le paquet resolvconf est installé.

Mais avant de s’attaquer à la résolution DNS commence par vérifier que tu peux atteindre une adresse IP extérieure avec ping ou traceroute. 8.8.8.8 est un bon candidat.

Ah d’accord je viens de comprendre merci beaucoup !

J’ai essayé du coup sur la machine qui fait tourner le serveur DNS, en fournissant dans dhcpd.conf le DNS du serveur mais quand nous redémarrons le service cela ne marche toujours pas :confused:

Voulez vous que je renvoie le contenu de dhcpd.conf ?
De plus dans le fichier /etc/default/isc-dhcp-server il y a deux lignes INTERFACES une v4, une v6 et nous avons rempli avec “eth0” la ligne INTERFACESv4

Qu’est-ce qui ne marche pas ? Du concret : machine, commande, résultat.
C’est l’adresse IP du serveur DNS qu’il faut fournir.
Et je répète que la configuration IP et DNS de la machine qui fait tourner dhcpd n’utilise pas le contenu de dhcpd.conf mais le contenu des fichiers interfaces et resolv.conf.

Ouais, envoie le contenu de tous ces fichiers.

Quand on exécute /etc/init.d/isc-dhcp-server restart, cela nous indique que ça a failed, et le contenu de systemctl status isc-dhcp-server n’indique pas vraiment la raison du bug (ou je ne l’ai pas vu).

Je vous envoie les fichiers dès que je peux, merci encore de votre aide

Ah désolé on s’est rendus compte que dans /etc/default/isc-dhcp-server on avait mis eth0 pour INTERFACES alors qu’on aurait du mettre ens33, étant sur une autre machine !
Le seul problème et que si on redémarre la machine , le restart ne fonctionne plus, on va donc éviter d’éteindre la machine haha

En tout cas merci bcp pour votre aide, vous m’avez permis de mieux comprendre bcp de choses en tout cas !

Vraiment ? Le nom de l’interface doit être le même que dans le fichier interfaces, or il y a eth0 dans ce fichier.

Justement, sur sa machine l’interface s’appelle ens33 dans le fichier interfaces, je n’avais pas pensé que cela changerait avec la machine !

Jusqu’à Debian 8, les interfaces Ethernet s’appelaient eth0, eth1…
Depuis Debian 9, elles s’appellent en* (ou * a une forme variable en fonction de la machine).

Ces histoires de noms d’interfaces réseau bizarres, on peut en trouver une explication et le moyen de désactiver cela ici : https://www.freedesktop.org/wiki/Software/systemd/PredictableNetworkInterfaceNames/
(en anglais)


AnonymousCoward

PS - ifconfig, c’est le mal !