Comment puis-je attribuer une adresse IP par MAC dans dhcpd


10

Comment attribuer une adresse IP spécifique à une adresse mac à l'aide de dhcpd?

Jusqu'à présent, j'ai essayé

host blah { hardware ethernet <mac address>; fixed-address <ip address>;}

dans mon dhcpd.conf. Mais après avoir redémarré dhcpd et la machine avec l'adresse mac en question, je reçois à nouveau une IP aléatoire.

Réponses:


8

C'est un format parfaitement fin - j'utilise exactement le même. Seulement j'ajoute un commentaire en fin de ligne (en plus). Ceci est extrait du travail dhcpd.conf:

host wrt45gl-etika  { hardware ethernet 00:21:29:a1:c3:a1; fixed-address ---.219.43.135; } # MSIE routeris WRT54GL

Comme le mentionne @Christoph, il peut y avoir une option globale déclarée (ou des valeurs par défaut de service utilisées) qui peuvent avoir un impact sur la façon dont les IP sont attribuées / peuvent la remplacer.

Lors de la migration de dhcp3-server (v3) vers isc-dhcp-server (v4), j'avais besoin d'ajouter des options obligatoires et de réécrire certaines déclarations. Mais la structure du fichier de configuration est restée simple:

#
# Sample configuration file for ISC dhcpd for Debian
#

# The ddns-updates-style parameter controls whether or not the server will
# attempt to do a DNS update when a lease is confirmed. We default to the
# behavior of the version 2 packages ('none', since DHCP v2 didn't
# have support for DDNS.)

ddns-update-style none;

# option definitions common to all supported networks...

option domain-name "mf.vu.---";
option domain-name-servers ---.219.80.11, ---.219.80.2, ---.171.22.22;

default-lease-time 2678400;
max-lease-time 2678400;

# If this DHCP server is the official DHCP server for the local
# network, the authoritative directive should be uncommented.

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;


# The subnet that shares this physical network

shared-network TOTAL_MF {
 server-name "letta.mf.vu.--";

 subnet ---.219.43.128 netmask 255.255.255.192 {
  option routers ---.219.43.190;
  option broadcast-address ---.219.43.191;

  group {
    host wrt45gl-etika  { hardware ethernet 00:21:29:a1:c3:a1; fixed-address ---.219.43.135; } # MSIE routeris WRT54GL
    # ...
    host saulute        { hardware ethernet 00:21:28:10:f4:16; fixed-address ---.219.43.189;  } # Virtual Qemu PC NIC
  }
 }

 subnet 172.16.43.128 netmask 255.255.255.192 {
  option routers 172.16.43.129;
  option broadcast-address 172.16.43.191;

  group{
    host ligo           { hardware ethernet 08:00:20:7A:E2:70; fixed-address 172.16.43.179;   } #a225 ligo
    # ...
    host vumfsa2        { hardware ethernet 00:80:48:8d:12:f0; fixed-address 172.16.43.140;   } # 118
  }
 }
}

Là, j'ai utilisé non pool, pas de rangedéclarations. Il n'y a que deux déclarations de sous-réseau (l'une suivie d'un autre).

Là, je n'ai obtenu aucune IP aléatoire assignée à mes hôtes qui sont déclarées ici (liées aux MAC).


Puis-je utiliser un hôte sans sous-réseau? Je dois définir la diffusion pour être la même que l'ip elle-même, je dois également définir le masque de réseau pour être 255.255.255.255. J'en ai encore besoin post-up route addet je pre-down route deltravaille. Puis-je ou dois-je faire tout cela ici?
Qian Chen

@ElgsQianChen: Je pense que cela n'a rien à voir avec le sujet.
saulius2

@QianChen, avez-vous réussi à attribuer une adresse IP avec un sous-réseau = 255.255.255.255?
saulius2 Il y a

2

Il n'y a aucune mention explicite nulle part dans la dhcpd.confpage de manuel (et je ne peux pas l'essayer maintenant), mais j'ai toujours supposé qu'il n'y avait qu'une seule instruction autorisée par ligne.

host blah { 
    hardware ethernet <mac address>; 
    fixed-address <ip address>;
}

2

Je ne connais pas votre dhcpd.conf, mais si vous avez une allow unknown-clientsdéclaration, vous devez l'ajouter allow known-clients.

Si je me souviens bien, l'IP fixe ne devrait pas être dans la plage que votre serveur DHCP distribue aux clients.

Lorsque l'hôte a une ancienne adresse du même serveur DHCP, le serveur peut distribuer l'ancien bail tant qu'il est valide, c'est-à-dire que la durée du bail n'est pas expirée.

Il serait utile, si vous pouviez fournir plus de votre config.


En fait, je pense que c'est correct, vous créez des groupes ou des sous-classes de clients nommés sur des identifiants matériels, puis leur donnez un pool d'adresses inconnu (et un pool d'adresses distinct à autoriser inconnu, si vous le souhaitez.
quadruplebucky

-3

Vous avez trop de deux-points là-dedans:

Depuis la page de manuel dhcpd.conf:

         host ncd1 { hardware ethernet 0:c0:c3:49:2b:57; }

2
Cela tronque également cette déclaration IP fixe, donc cela ne répond pas réellement à la question de l'OP.
Magellan
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.