[Debian 6] Serveur DHCP

Salut à tous !

J’essaye depuis quelques temps de mettre en place un serveur DHCP de façon locale, mais après plusieurs tests aucune des adresses des autres machines ne se fait grâce au dhcp. Je vous donne mes fichiers de configuration.

[code]ifconfig :

eth0 inet adr:192.168.58.131 Bcast:192.168.58.255 Masque:255.255.255.0
[/code]

[code]dhcpd.conf

subnet 192.168.58.0 netmask 255.255.255.0 {

range 192.168.58.150 192.168.58.170;

option routers 192.168.58.254

option broadcast-address 192.168.58.255

default-lease-time 600;

max-lease-time 7200;

}[/code][code]

/etc/network/interfaces

#The primary network interface

auto eth0

iface eth0 inet static

address 192.168.58.131

netmask 255.255.255.0

broadcast 192.168.58.255
[/code]
Voilà pour ton mes fichiers configs, j’ai pas l’impression d’avoir loupé quelques choses et pourtant quand je test avec une autre machine l’ip ne correspond pas du tout à la plage d’adresse que j’ai attribué pour le DHCP.

Merci d’avance !

Cordialement,

PokeR

Il ne manquerait pas quelques points-virgules dans dhcpd.conf ?
Le démon dhcpd est-il lancé ? Quels sont les messages relatifs dans /var/log/syslog ?
Si les adresses attribuées sont en 169.254.x.x (link local), alors c’est que le dialogue DHCP a échoué.

Les points-virgules étaient oubliés juste dans le code du forum.
Pour que sa soit plus claire, j’ai redémarrer le système, puis lancer le dhcp avec la commande /etc/init.d/isc-dhcp-server start. A partir de la on obtient ces logs :

Démon dhcpd :

1331 0 08:21 tty1 00:00:00 man dhcpd 1 0 09:01 ? 00:00:00 /usr/sbin/dhcpd -q 1331 0 08:21 tty1 00:00:00 grep dhcpd

Donc le service dhcpd est bien lancé

Le /var/log/syslog : est inutile par contre puisqu’il y a écrit dedans que tous les droits réservés à ISC ainsi que le copyright, etc …

Après tout cela, je test avec mon autre machine sous debian 6 aussi, avec la commande dhclient eth0, et l’ip ne change pas elle reste toujours 192.168.58.132 alors qu’elle devrait être comprise entre 192.168.58.150 et 192.168.58.170

Est-ce que cela peut venir du fait qu’il faut préciser l’interface qu’on utilise pour le dhcp dans un fichier ou je ne me rappelle plus le nom ?

Merci d’avance !

Comment peut-on oublier des caractèrs au milieu d’un copier-coller ?

Ben voyons. On y voit les erreurs de configuration s’il y en a, les requêtes faites par les clients DHCP… mais tout cela est bien entendu inutile.

Qu’affiche la commande dhclient ? Elle reçoit un bail ou pas ?

On peut spécifier le nom de la ou des interfaces à écouter dans /etc/default/isc-dhcp-server (ou approchant), mais ce n’est normalement pas nécessaire, dhcpd fait la correspondance entre les sous-réseau définis dans dhcpd.conf et les adresses des interfaces de la machine.

Ce n’est pas du copier/coller, car j’ai debian d’installé sur une machine virtuelle.

Voici le /var/log/syslog de la machine serveur ou on voit une requête maintenant :

dhcpd: Internet Systems Consortium DHCP Server 4.1.1-P1 Copyright 2004-2010 Internet Systems Consortium dhcpd: All rights reserved dhcpd: For info, please visit https://www.isc.org/software/dhcp dhcpd: Wrote 0 leases to leases file. dhcpd: DHCPREQUEST for 192.168.58.132 from 00:0c:29:2a:fa:73 via eth0: unknow lease 192.168.58.132 mpt-statusd: detected non-optimal RAID status /USR/SBIN/CRON[1600]: (root) CMD ( cd / && run-parts --report /etc/cron.hourly) mpt-statusd: detected non-optimal RAID status mpt-statusd: detected non-optimal RAID status

Et le /var/log/syslog/ de la machine cliente après la requête:

dhclient: Corrupt lease file - possible data loss! dhclient: DHCPREQUEST on eth0 to 255.255.255.255 port 67 dhclient: DHCPACK from 192.168.58.254 bound to 192.168.58.132 -- renewal in 813 seconds

Je ne comprends pas pourquoi il fait une requête à 255.255.255.255, cela devrait être l’ip du serveur DHCP ?

Le client envoie visiblement une requête DHCP pour renouveler le bail (lease) de l’adresse qu’il a actuellement, et le serveur indique dans ses logs “unknow lease 192.168.58.132” : il n’a pas de bail pour cette adresse, et pour cause elle ne fait même pas partie de sa plage. Comme tu n’as pas mis l’option “authoritative”, il ne répond pas (dans le cas contraire il aurait envoyé une réponse négative). Néamoins le client reçoit une réponse positive d’un autre serveur DHCP qui a l’adresse 192.168.58.254. Comme c’est l’adresse configurée dans l’option “routers” de ton dhcpd.conf, je suppose qu’il s’agit de la box/routeur du réseau.

Non, c’est normal que les requêtes DHCP soient envoyées à l’adresse spéciale de broadcast limité 255.255.255.255, ainsi n’importe quel serveur DHCP présent peut les recevoir. Et ne pas oublier qu’initialement, un client ne connaît pas l’adresse du serveur DHCP, ce n’est configuré nulle part.

D’accord, donc j’ai compris le fonctionnement actuelle de mon dhcp, mais pourquoi utilise t’il le dhcp du routeur du réseau et non celui que j’ai configuré ? De plus j’ai activé l’option “authoritative” dans le dhcpd.conf
Il faudrait que la machine cliente n’est pas du tout de bail et en créer un nouveau avec mon serveur DHCP c’est cela ?

Il faudrait surtout désactiver la fonction serveur DHCP de ton routeur, ainsi le client n’obtenant pas le renouvellement de son bail actuel serait obligé de demander un nouveau bail et recevrait une nouvelle adresse dans la bonne plage. A quoi te sert-il d’avoir deux serveurs DHCP ? Mettre deux serveurs DHCP non coordonnés sur le même réseau n’est pas une très bonne idée à moins de savoir exactement ce qu’on fait, et le client ne choisit pas celui auquel il s’adresse ni celui qui lui répond en premier.

Ok, j’ai bien compris les explications. Mais comment désactiver la fonction serveur DHCP de mon routeur ? Il faut savoir aussi que je serai amené à changer de routeur plusieurs fois et que sur certains je ne pourrai pas désactiver la fonction serveur DHCP.
Il n’y a pas un moyens de donner une IP avec mon serveur DHCP pour le réseau local et utilisé le DHCP du routeur pour l’extérieur ?

Cela dépend de chaque modèle de routeur, et sort du cadre de ce forum (Debian).
Sinon, il y a aussi la méthode radicale qui consiste à isoler le routeur du reste du réseau en intercalant un autre routeur ou un pont filtrant, fonction que peut remplir la machine qui fait serveur DHCP si elle a deux interfaces (ou si le switch supporte les VLAN IEEE802.1Q).

Désolé, je ne comprends pas la question.