Configuración DHCP

Una herramienta que puede hacer más agradable la vida de los administradores de una red local. Me explico: DHCP don las iniciales de Dynamic Host Configuration Protocol, un protocolo que instalado en un servidor de una red local, permite la configuración automática del protocolo TCP/IP de todos los clientes de dicha red. Nos permite evitar el tedioso trabajo de tener que configurar el protocolo TCP/IP cada vez que agregamos una nueva máquina a la red, por ejemplo, dirección IP, servidores DNS, gateway, WINS y alguna que otra cosa más muy interesante también. Con un servidor DHCP tendremos una red con máquinas "plug-and-play", con sólo contectarlas podrá dialogar con red.

La ventaja no es sólo esta, además podremos modificar la configuración de todos los equipos de la red con sólo modificar los datos del servidor.

Teniendo esta herramienta, ¿qué administrador irá cliente por cliente configurándolo de forma independiente?

El servidor DHCP viene prácticamente con todas las distribuciones de GNU/Linux. En cualquier caso, se puede encontrar en Internet Software Consortium (ISC -- http://www.isc.org/products/DHCP/) si queremos compilar nosotros mismos el programa. Además también incluye el cliente DHCP.

El fichero /var/state/dhcp/dhcpd.leases

Como hemos visto, este fichero contiene las direcciones asignadas. Su conternido es similar al siguiente:

# All times in this file are in UTC (GMT), not your local timezone.   This is
# not a bug, so please don't ask about it.   There is no portable way to
# store leases in the local timezone, so please don't request this as a
# feature.   If this is inconvenient or confusing to you, we sincerely
# apologize.   Seriously, though - don't ask.
# The format of this file is documented in the dhcpd.leases(5) manual page.
# This lease file was written by isc-dhcp-V3.0pl1
lease 192.168.1.90 {
  starts 5 2003/04/11 16:29:27;
  ends 5 2003/04/18 16:29:27;
  binding state active;
  next binding state free;
  hardware ethernet 00:10:4b:54:41:85;
  uid "\001\000\020KTA\205";
  set ddns-rev-name = "90.1.168.192.in-addr.arpa";
  set ddns-txt = "31070ea7b3f1e83949c8096766b1f5eee9";
  set ddns-fwd-name = "JULIA.centro.ies";
  client-hostname "JULIA";
}
lease 192.168.1.7 {
  starts 5 2003/04/11 16:29:35;
  ends 5 2003/04/18 16:29:35;
  binding state active;
  next binding state free;
  hardware ethernet 48:54:e8:6c:a6:3f;
  uid "\001HT\350l\246?";
  set ddns-rev-name = "7.1.168.192.in-addr.arpa";
  set ddns-txt = "31006d63529f9d904ffdb884baa1923c39";
  set ddns-fwd-name = "msrr.centro.ies";
  client-hostname "msrr";
}

Configuración de los clientes DHCP

Win32

Es muy simple, en Entorno de Red ->TCP/IP seleccionaremos "Obtener dirección IP automáticamente", o texto similar dependiendo de la versión.

Linux

Dependiendo de la distribución usamos el programa de configuración de red y asignamos al interfaz correspondiente obtener dirección IP por DHCP. Por ejemplo, en una distribución RedHat y similares, tendremos en el fichero /etc/sysconfig/networking/devices/ifcfg-eth0

DEVICE=eth0
USERCTL=no
ONBOOT=yes
BOOTPROTO=dhcp
NETMASK=255.255.255.0
IPADDR=192.168.1.11
IPXPRIMARY_802_2="no"
IPXACTIVE_802_2="no"
IPXPRIMARY_802_3="no"
IPXACTIVE_802_3="no"
IPXPRIMARY_ETHERII="no"
IPXACTIVE_ETHERII="no"
IPXPRIMARY_SNAP="no"
IPXACTIVE_SNAP="no"
BROADCAST=192.168.1.255
NETWORK=192.168.1.0
PEERDNS=no
TYPE=Ethernet

Observamos como la variable BOOTPROTO tomael valor dhcp.