¿Cómo puedo asignar una IP por dirección MAC en dhcpd?

10

¿Cómo asigno una dirección IP específica a una dirección mac usando dhcpd?

Hasta ahora lo he intentado

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

en mi dhcpd.conf. Pero después de reiniciar dhcpd y la máquina con la dirección mac en cuestión, solo obtengo una IP aleatoria nuevamente.

adampolar
fuente

Respuestas:

8

Este es un formato perfectamente bueno, yo uso exactamente lo mismo. Solo añado un comentario al final de la línea (además). Este es un extracto del trabajo dhcpd.conf:

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

Como @Christoph menciona, puede haber una opción global declarada (o los valores predeterminados del servicio utilizados) que pueden afectar la forma en que se asignan las IP / pueden anularla.

Mientras migraba de dhcp3-server (v3) a isc-dhcp-server (v4), necesitaba agregar algunas opciones obligatorias y reescribir algunas declaraciones. Pero la estructura del archivo de configuración seguía siendo 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
  }
 }
}

Allí no usé pool, no hay rangedeclaraciones. Solo hay dos declaraciones de subred (una seguida de otra).

Allí no obtuve direcciones IP aleatorias asignadas a mis hosts que se declaran aquí (vinculadas a MAC).

saulius2
fuente
¿Puedo usar el host sin subred? Necesito configurar la transmisión para que sea la misma que la ip en sí, también necesito configurar la máscara de red para que sea 255.255.255.255. Todavía necesito algo post-up route addy pre-down route deltrabajo. ¿Puedo o debo hacer todo esto aquí?
Qian Chen
@ElgsQianChen: Creo que esto no se relaciona con el tema.
saulius2
2

No hay una mención explícita en ninguna parte de la dhcpd.confpágina del manual (y no puedo probarlo ahora), pero siempre asumí que solo se permite una declaración por línea.

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

No conozco su dhcpd.conf, pero si tiene una allow unknown-clientsdeclaración, debe agregar allow known-clients.

Si recuerdo correctamente, la IP fija no debe estar dentro del rango que su servidor DHCP entrega a los clientes.

Cuando el host tiene una dirección anterior del mismo servidor DHCP, el servidor puede entregar la concesión anterior siempre que sea válida, es decir, el tiempo de concesión no ha expirado.

Sería útil si pudiera proporcionar más de su configuración.

Christoph
fuente
En realidad, creo que es correcto, crea grupos o subclases de clientes con nombre en identificadores de hardware y luego les da un grupo de direcciones denegado-desconocido (y un grupo de direcciones separado para permitir-desconocido, si lo desea.
quadruplebucky
-3

Tienes demasiados dos puntos allí:

Desde la página de manual de dhcpd.conf:

         host ncd1 { hardware ethernet 0:c0:c3:49:2b:57; }
quadruplebucky
fuente
2
Eso también trunca esta declaración de IP fija, por lo que en realidad no responde a la pregunta del OP.
Magellan