configurar servidor dhcp en linux

Como instalar y configurar Servidor DHCP en Linux Ubuntu Debian

17 Comments

Que es un Servidor DHCP?

Un servidor Dynamic Host Configuration Protocol (DHCP) asigna dinámicamente las direcciones IP y otras configuraciones de una red determinada a otros ordenadores clientes que están conectados a la red. Configurar Servidor DHCP en Linux simplifica la administración de la red y hace que la conexión de nuevos equipos a la red sea mucho más fácil. En otras palabras, para administrar una red grande, es necesario configurar servidor DHCP en Linux, gracias a la estabilidad del sistema operativo.

Servidor DHCP Linux Debian UbuntuTodas las direcciones IP de todos los equipos se almacenan en una base de datos que reside en un servidor.

Un servidor DHCP puede proporcionar los ajustes de configuración utilizando dos métodos

Rango de Direcciones

Este método se basa en la definición de un grupo de las direcciones IP para los clientes DHCP (también llamado IP address pool) que suministran sus propiedades de configuración de forma dinámica según lo soliciten los ordenadores cliente. Cuando un cliente DHCP ya no está en la red durante un período determinado, la configuración vence y la dirección ip del pool es puesta en libertad el uso de otros clientes DHCP.

Dirección MAC

Este método se basa en utilizar el protocolo DHCP para identificar la dirección de hardware única de cada tarjeta de red conectada a la red y luego es asignada una configuración constante así como la misma dirección IP cada vez que la configuración de DHCP del cliente realiza una petición al servidor DHCP desde el mismo dispositivo de red.

Instalar y configurar Servidor DHCP en Linux Ubuntu y Debian

Para instalar el servidor de asignación automática de dirección IP ejecutamos el comando:

    sudo apt-get install dhcp3-server

Este sencillo paso instala el servidor en nuestro linux.

Configurando el servidor DHCP en Linux

Cuando vamos a configurar servidor dhcp en linux, puede ser el caso que tenga dos interfaces de red (NIC) en su servidor Linux, tienen que seleccionar cual van a utilizar para escuchar las peticiones DHCP. Para configurar el servicio, editamos el archivo /etc/default/dhcp3-server, y cambiamos INTERFACES=”eth0″ por la tarjeta de red interna.

Es necesario hacer una copia de seguridad del archivo de configuración:

cp /etc/dhcp3/dhcpd.conf /etc/dhcp3/dhcpd.conf.back

Configurar utilizando el método de rango de direcciones (IP pool)

Editamos la configuración tecleando:

sudo vi /etc/dhcp3/dhcpd.conf

Y en este archivo cambiamos las siguientes secciones

default-lease-time 600;
max-lease-time 7200;
option subnet-mask 255.255.255.0;
option broadcast-address 192.168.1.255;
option routers 192.168.1.1;
option domain-name-servers 192.168.1.9, 192.168.1.10;
option domain-name “guatewireless.org”;
subnet 192.168.1.0 netmask 255.255.255.0 {
range 192.168.1.10 192.168.1.200;
}

Guardamos y salimos del archivo. El texto anterior configura el servidor DHCP con los siguientes parámetros:

  • Asignación a los clientes direcciones IPs del rango de 192.168.1.10 hasta 192.168.1.200
  • Presta la dirección IP por un mínimo de 600 segundos, y como máximo permitido de 7200 segundos.
  • Determina la mascara de subred a 255.255.255.0
  • Direccion de broadcast de 192.168.1.255
  • Como gateway/pasarela de red/router la direccion 192.168.1.1
  • Y los servidores 192.168.1.9 y 10 como sus servidores DNS

Configurar utilizando el método de direcciones MAC en el servicio dhcp

Con este método para configurar servidor dhcp en linux se puede reservar dentro del servicio dhcp algunas o todas las direcciones IP de nuestra red para determinadas máquinas. Como podrán ver la configuración es muy parecida a la anterior, con la salvedad que para reservar la asignación de una IP a una determinada NIC (network card interface) debemos de utilizar la etiqueta host

default-lease-time 600;
max-lease-time 7200;
option subnet-mask 255.255.255.0;
option broadcast-address 192.168.1.255;
option routers 192.168.1.1;
option domain-name-servers 192.168.1.9, 192.168.1.10;
option domain-name “guatewireless.org”;
subnet 192.168.1.0 netmask 255.255.255.0 {
range 192.168.1.10 192.168.1.200;
}
host oracle{
hardware ethernet 00:03:47:31:e1:7f;
fixed-address 192.168.1.20;
}
host printer {
hardware ethernet 00:03:47:31:e1:b0;
fixed-address 192.168.1.21;
}

Ahora reiniciamos el servidor dhcp ejecutando el siguiente comando:

sudo /etc/init.d/dhcp3-server restart

Configurar el cliente DHCP en Linux Ubuntu

Si desean configurar un escritorio o máquina con linux como cliente DHCP seguimos los siguientes pasos:

  • Editamos el archivo de interfaces de red
sudo vi /etc/network/interfaces
  • Debemos de tener las siguientes líneas, tomando en cuenta que eth0 es un ejemplo
auto lo eth0
iface eth0 inet dhcp
iface lo inet loopback
  • Salvamos y salimos del archivo
  • Reiniciamos los servicios de red de Linux Ubuntu
sudo /etc/init.d/networking restart

Para poder conocer las direcciones asignadas a las máquinas clientes

tail -n 15 /var/lib/dhcp3/dhclient.*.leases

Te recomiendo para configurar DHCP en linux| How do I install and configure a DHCP server

17 Replies to “Como instalar y configurar Servidor DHCP en Linux Ubuntu Debian”

  1. Esto es viejo, pero es bueno aclarar para los visitantes, lo primero que se debe hacer es conocer el nombre de la interfaz que utilizaras para el dhcp (eth0, eth1,etc), ya identificada es la que vas a colocar en /etc/default/dhcp3-server, las configuraciones del tutorial en el archivo /etc/dhcp3/dhcpd.conf son correctas, lo unico que la interfaz en el archivo /etc/network/interfaces debe estar declarada como estatica y no como dhcp, con una direccion dentro del rango a utilizar

    iface eth# inet dhcp < esta mal
    iface eth# inet static < asi debe estar y agregar caracteristicas de una ip estatica pueden buscar un tutorial de ip static para evitar errores, solo asi funciona correctamente, saludos

  2. fher98 !! El problema q creo q tenes es porque no has puesto una tergeta de red como la predeterminada para distribuir el DHCP. Para eso modifica y agregue la targeta de red entre las comillas:
    ejm: “eth1”

    nano /etc/default/dhcp3-server

  3. Aun no me queda pero ya me quedara y es que lo avia intentado antes con el firestarter con el cual es muy facil pero tiene el tipico error de que no conoce la interfaz eth0 y aun que se modifique el codigo aun asi no queda.

    1. Se puede configurar DHCP server para que asigne direcciones IP (su trabajo) para unicamente las mac de un unico fabricante???

      La historia es que tengo distintos equipos, entre los cuales tengo una granja de equipos virtuales que sus mac todas empiezan igual, unicamente se diferencian en la parte final. Lo que me gustaria es poder asignar direccionamiento solamente a esas maquinas que tenga ese patron de mac.

      Gracias.

      1. Ni idea, pero segun el vendedor o fabricante podrias intentar asignar un rago de DHCP segun el mac de la siguiente manera..

        class “vmware” {
        match if substring (binary-to-ascii (16, 8, “:”, hardware), 2, 6) = “0:4:f2”;
        }

        shared-network internal {
        subnet 10.67.0.0 netmask 255.255.240.0 {

        # vmware
        pool {
        range 10.67.12.50 10.67.12.200;
        allow members of “vmware”;
        }

        # El resto de equipos
        pool {
        range 10.67.0.50 10.67.1.200;
        deny members of “vmware”;
        }

        }
        }

        Ojo: no lo he probado asi que no te puedo garantizar que funcione.

    1. Si al final sale Fail es que a funciona, lo que passa es que deves tener la interficie parada “down” ponla ne up i ja esta. un ejemplo seria este “sudo ifconfig eth1 up”.

  4. El error anteriormente se solcuiona con estos comandos,¡:

    sudo ifconfig eth2 up
    sudo ifconfig eth2

    Pero pues tmbien tengo una preguntilla, con este proceso el equipo q se conectara a nuestro servidor linux dhcp tiene salida a internet por medio del server.?

    1. En realidad no. El dhcp es un servicio para administrar y distribuir la asignacion de direcciones dinamicas en una red. Para poder conectar tu red a internet, esto es el primer paso, ahora lo que necesitas es instalar un proxy o configurar tu servidor como gateway/pasarela de red.

  5. En una instalacion me despliega el siguiente error, y no arranca el servicio:

    Jul 6 08:45:23 server dhcpd: Internet Systems Consortium DHCP Server V3.1.1
    Jul 6 08:45:23 server dhcpd: Copyright 2004-2008 Internet Systems Consortium.
    Jul 6 08:45:23 server dhcpd: All rights reserved.
    Jul 6 08:45:23 server dhcpd: For info, please visit
    Jul 6 08:45:23 server dhcpd: Internet Systems Consortium DHCP Server V3.1.1
    Jul 6 08:45:23 server dhcpd: Copyright 2004-2008 Internet Systems Consortium.
    Jul 6 08:45:23 server dhcpd: All rights reserved.
    Jul 6 08:45:23 server dhcpd: For info, please visit
    Jul 6 08:45:23 server dhcpd: Internet Systems Consortium DHCP Server V3.1.1
    Jul 6 08:45:23 server dhcpd: Copyright 2004-2008 Internet Systems Consortium.
    Jul 6 08:45:23 server dhcpd: All rights reserved.
    Jul 6 08:45:23 server dhcpd: For info, please visit
    Jul 6 08:45:23 server dhcpd: Wrote 23 leases to leases file.
    Jul 6 08:45:23 server dhcpd:
    Jul 6 08:45:23 server dhcpd: No subnet declaration for eth1 (0.0.0.0).
    Jul 6 08:45:23 server dhcpd: ** Ignoring requests on eth1. If this is not what
    Jul 6 08:45:23 server dhcpd: you want, please write a subnet declaration
    Jul 6 08:45:23 server dhcpd: in your dhcpd.conf file for the network segment
    Jul 6 08:45:23 server dhcpd: to which interface eth1 is attached. **
    Jul 6 08:45:23 server dhcpd:
    Jul 6 08:45:23 server dhcpd:
    Jul 6 08:45:23 server dhcpd: Not configured to listen on any interfaces!

    Esto es porque se agregaron tarjetas o se cambio la configuracion de la red y hay que hacer el cambio en el archivo /etc/default/dhcp3-server

Deja tus preguntas o comentarios