Herramientas de usuario

Herramientas del sitio


servidores:dhcp:dhcp_configuracion

Configurando DHCP v. 3.x

Por Félix Molinuevo, FMSI Sistemas de Informática

DHCP ahorra mucho trabajo en la configuración de las estaciones de trabajo, ya que permite administrar la configuración de la red desde el servidor. Esta configuración actualiza el DNS (que debe estar configurado al efecto) con los datos de la estación de trabajo que solicitó una lease; asimismo, configura el navegador de la estación de trabajo con la información para el proxy:

ddns-updates on;
ignore client-updates;
update-static-leases on;
ddns-update-style interim;
option domain-name "dominio";
option domain-name-servers dns1.dominio dns2.dominio;
option subnet-mask 255.255.255.0;
option broadcast-address 192.168.10.255;
option ntp-servers time.dominio;
# Hora de Argentina GMT-3
option time-offset -10800;
option routers gateway.dominio;
option netbios-name-servers samba.dominio;
# Para que esto funcione en Mozilla
# tiene que haber un host "wpad.dominio"
# y se debe hacer un hardlink de proxy.pac a wpad.dat
option wpad code 252 = text;
option wpad "http://wpad.dominio/proxy.pac\n";

default-lease-time 600;
max-lease-time 7200;

authoritative;

log-facility local7;

# Configuración de una estación de trabajo
# con IP fija

host esta02 {
    hardware ethernet 00:d0:59:c6:b5:af;
    fixed-address esta02;
}

# Para que DHCP conozca qué zonas debe 
# actualizar
# Esto es MUY IMPORTANTE dado que de otra manera
# NO se actualizan las zonas en Bind
# Recordar que en la configuración de Bind, dichas zonas deben
# estar en /var/lib/bind/ para que puedan ser actualizadas por DHCP
# porque si no AppArmor impide el acceso a las mismas. Se puede hacer
# un hardlink de las mismas a /var/lib/bind/

zone dominio. {
  primary 127.0.0.1;
}

zone 10.168.192.in-addr.arpa. {
  primary 127.0.0.1;
}

# Configuración de un rango de IP's para
# asignación dinámica a las estaciones
# que las soliciten

subnet 192.168.10.0 netmask 255.255.255.0 {
    range 192.168.10.10 192.168.10.40;
}

# Más ejemplos de lo que se puede hacer:

# No service will be given on this subnet, but declaring it helps the 
# DHCP server to understand the network topology.

#subnet 10.152.187.0 netmask 255.255.255.0 {
#}

# This is a very basic subnet declaration.

#subnet 10.254.239.0 netmask 255.255.255.224 {
#  range 10.254.239.10 10.254.239.20;
#  option routers rtr-239-0-1.example.org, rtr-239-0-2.example.org;
#}

# This declaration allows BOOTP clients to get dynamic addresses,
# which we don't really recommend.

#subnet 10.254.239.32 netmask 255.255.255.224 {
#  range dynamic-bootp 10.254.239.40 10.254.239.60;
#  option broadcast-address 10.254.239.31;
#  option routers rtr-239-32-1.example.org;
#}

# A slightly different configuration for an internal subnet.
#subnet 10.5.5.0 netmask 255.255.255.224 {
#  range 10.5.5.26 10.5.5.30;
#  option domain-name-servers ns1.internal.example.org;
#  option domain-name "internal.example.org";
#  option routers 10.5.5.1;
#  option broadcast-address 10.5.5.31;
#  default-lease-time 600;
#  max-lease-time 7200;
#}

# Hosts which require special configuration options can be listed in
# host statements.   If no address is specified, the address will be
# allocated dynamically (if possible), but the host-specific information
# will still come from the host declaration.

#host passacaglia {
#  hardware ethernet 0:0:c0:5d:bd:95;
#  filename "vmunix.passacaglia";
#  server-name "toccata.fugue.com";
#}

# Fixed IP addresses can also be specified for hosts.   These addresses
# should not also be listed as being available for dynamic assignment.
# Hosts for which fixed IP addresses have been specified can boot using
# BOOTP or DHCP.   Hosts for which no fixed address is specified can only
# be booted with DHCP, unless there is an address range on the subnet
# to which a BOOTP client is connected which has the dynamic-bootp flag
# set.
#host fantasia {
#  hardware ethernet 08:00:07:26:c0:a5;
#  fixed-address fantasia.fugue.com;
#}

# You can declare a class of clients and then do address allocation
# based on that.   The example below shows a case where all clients
# in a certain class get addresses on the 10.17.224/24 subnet, and all
# other clients get addresses on the 10.0.29/24 subnet.

#class "foo" {
#  match if substring (option vendor-class-identifier, 0, 4) = "SUNW";
#}

#shared-network 224-29 {
#  subnet 10.17.224.0 netmask 255.255.255.0 {
#    option routers rtr-224.example.org;
#  }
#  subnet 10.0.29.0 netmask 255.255.255.0 {
#    option routers rtr-29.example.org;
#  }
#  pool {
#    allow members of "foo";
#    range 10.17.224.10 10.17.224.250;
#  }
#  pool {
#    deny members of "foo";
#    range 10.0.29.10 10.0.29.230;
#  }
#}

Nota: esta configuración crea un DDNS (Dynamic DNS). Para que el DHCP pueda actualizar el DNS, el directorio de configuración del DNS debe tener el mismo usuario con el que se ejecuta su proceso. Por ejemplo, en Debian, el usuario es “bind”, entonces ejecutar “chown -R bind: /etc/bind”.

proxy.pac (wpad.dat)

Para que la configuración automática de proxy funcione en las estaciones de trabajo, se debe realizar lo siguiente:

  1. Configurar un servidor web (como Apache)
  2. Poner en la raíz del servidor el proxy.pac, y un hard link a él llamado wpad.dat. Se puede ver un ejemplo de proxy.pac en este lugar.
  3. Configurar el DNS con un host llamado “wpad”, para que Mozilla Firefox no tenga problemas para encontrar el proxy.pac

Asignar una IP fija a un equipo que ya tiene una dirección IP dinámica asignada

Nota: esta tarea debe hacerse más o menos rápido, para evitar que las estaciones que están pidiendo una IP se queden sin configuración de red y por lo tanto sin conexión.

  1. Detener el demonio DHCP
  2. Agregar la declaración del host en dhcpd.conf:
    host esta14 {
        hardware ethernet 00:1A:4D:25:3B:34;
        fixed-address esta14;
    }
  3. Bind: los cambios en Bind que figuran a continuación deben hacerse sin errores, ya que en caso contrario la intranet se queda sin DNS y por lo tanto sin ningún servicio.
  4. Borrar los archivos de journaling:
    rm /etc/bind/*.jnl
  5. Editar los archivos de resolución forward y reverse, eliminando en ambos la IP dinámica asignada, incluyendo el registro TXT que se encuentra inmediatamente debajo del registro A
  6. Agregar en el archivo de resolución forward el registro A de la IP fija correspondiente al host:
    esta14                  A       192.168.10.74
  7. Agregar en el archivo de resolución inversa el registro PTR de la IP fija correspondiente al host:
    74                      PTR     esta14.dominio.
  8. Reiniciar el servicio Bind
  9. Reiniciar el servicio DHCP
  10. Controlar que la estación de trabajo tome la nueva IP sin problemas
servidores/dhcp/dhcp_configuracion.txt · Última modificación: 2013/05/14 10:48 por fmolinuevo