Cómo instalar y configurar un servidor DHCP en Ubuntu Linux

Servidor DHCP


Aquí veremos cómo instalar y configurar fácilmente un servidor DHCP en Ubuntu utilizando el paquete isc-dhcp-server

 

Servidor DHCP

 

¿Qué es un servidor DHCP?

Si tienes unas nociones básicas de Redes Locales, probablemente sepas lo que es un servidor DHCP. Y si no lo sabes, eso no es un problema en absoluto, ¡Vamos allá! 😉

Un servidor DHCP (Dynamic Host Configuration Protocol) es un servidor que recibe peticiones de hosts solicitando una configuración de red. Cuando conectas tu ordenador por red local o por Wi-Fi, por lo general sólo tenemos que introducir la contraseña (en caso de una red inalámbrica) y ya tenemos internet, ¿Cierto? Eso es gracias al servidor DHCP.

Básicamente un servidor DHCP es el que se encarga de proporcionarte los parámetros de red necesarios para conectarte a la red que estás intentando conectarte: Dirección IP, máscara de subred, servidores DNS, puerta de enlace, etc..

Servidor DHCP

 

¿Dónde se usa el DHCP?

El DHCP se usa en la mayoría de módems o routers que hayamos tenido, por lo que suele estar en todas partes, ¡Incluso en la Zona Wi-fi de nuestro móvil! Cuando activamos la zona Wi-Fi de nuestro Smartphone, cualquier usuario que se conecte no tendrá más que escribir la clave y se conectará automáticamente sin necesidad de introducir manualmente parámetros como la dirección IP, etc.. Eso es gracias al servidor DHCP. El servidor DHCP es aquel que se encarga de hacer transparente el proceso de unión a una red.

Servidor DHCP

 

¿Es bueno utilizar DHCP?

Depende, voy a explicar en qué casos y en cuáles no con ejemplos.

Imagináos que sois los administradores de un servidor web y estáis configurándolo. ¿Os interesaría que dicho servidor tuviera DHCP? Por supuesto que no. ¿Por qué? Porque la dirección que nos ofrece DHCP es completamente aleatoria (aunque podemos configurar un rango de direcciones IP que queremos que asigne). Si cada vez que inicie mi servidor Web, la dirección IP va a cambiar, voy a tener muchos problemas de configuración, como por ejemplo, con el servidor Firewall o el servidor DNS de mi empresa, ya que, si el servidor DNS tiene asignada una dirección IP al servidor web y ésta cambia, no podrá redirigir las peticiones.

Otro ejemplo en el que sí es recomendable utilizar DHCP: Imagináos que tenéis que configurar una zona WiFi gratuita en vuestra empresa, para que cualquier cliente se conecte y no tenga que preocuparse de poner la dirección IP y otros parámetros que probablemente no entienda. En ese caso, nos interesaría muchísimo utilizar un servidor DHCP (Normalmente podemos activarlo o desactivarlo en la mayoría de routers), para que así nuestros clientes no tengan que comerse la cabeza configurando la red en el móvil.

 

 

 

Suficientes explicaciones.. ¡Quiero aprender a hacerlo!

En primer lugar, abriremos una terminal y nos logearemos como root, utilizando el comando sudo su e introduciendo nuestra contraseña de usuario.

A continuación, escribiremos lo siguiente: apt-get install isc-dhcp-server

Una vez hayamos instalado el servidor DHCP, tenemos que tener bastante claros todos los parámetros que queremos que ofrezca antes de continuar, como por ejemplo: Rango de direcciones IP, puerta de enlace, máscara de subred, servidores DNS…

Una vez tengamos claro esos parámetros, podemos proceder.

En primer lugar, abriremos con nuestro editor favorito el archivo isc-dhcp-server, ubicado en /etc/default/vim /etc/default/isc-dhcp-server
Nos debería salir algo así (click para ampliar):

Servidor DHCP

 

Donde pone INTERFACES, entre las comillas, vamos a escribir el nombre de la tarjeta de red que se va a encargar de asignar direcciones IP. En mi caso, escribiría eth1.

Posteriormente, abrimos el archivo de configuración /etc/dhcp/dhcpd.conf con nuestro editor favorito. En mi caso: vim /etc/dhcp/dhcpd.conf

Imagináos que la red que queremos configurar es la 192.168.1.0. Nos iremos al final del archivo y empezaremos a escribir una línea nueva, donde pegaremos este texto:

 

 Ahora pasaremos a explicar qué significa cada cosa para poder modificarla a vuestro antojo:

 

subnet y netmask. Subnet es sobre la red que vamos a asignar direcciones IP y netmask es la máscara de subred.
range. Es el rango de direcciones IP que se van a asignar: En mi caso, se asignarán desde la 192.168.1.100 hasta la 192.168.1.200 aleatoriamente.
option domain-name-servers. Los servidores DNS. En mi caso, he utilizado los de Google.
option domain-name. El nombre de nuestro dominio. En mi caso, miservidordhcp.
option routers. Es la puerta de enlace. En mi caso, 192.168.1.1
option broadcast-address. La dirección de difusión. Por defecto, siempre es la 255.
default-lease-time el tiempo en horas durante el que se reserva una dirección IP a cierto equipo.
max-lease-time el tiempo máximo que se reservará una IP para un equipo.

Aunque esto creo que no hace falta aclararlo, pero si hemos puesto eth1 para repartir direcciones IP, no hace falta decir que eth1 debe estar configurada manualmente para tener una dirección IP dentro del rango de direcciones que vamos a repartir.

Una vez hayamos configurado dicho archivo a nuestro gusto, pasaremos a reiniciar el servicio isc-dhcp-server para aplicar los cambios.  Para ello bastará con escribir service isc-dhcp-server restart y listo, tendremos nuestro servidor reiniciado con los cambios aplicados.

Si queremos comprobar el funcionamiento de nuestra configuración, podemos escribir desde un host conectado a nuestro servidor DHCP el comando dhclient, para verificar que está todo bien y comprobar errores.
Si lo que queremos es iniciar el servidor DHCP, escribiremos service isc-dhcp-server start para inciarlo y service isc-dhcp-server stop para pararlo.

Servidor DHCP

 

Conclusión

Pienso que DHCP puede llegar a ser realmente útil pero sobretodo en infraestructuras como pueden ser universidades, bares y zonas donde haya Wi-Fi público, pero hay que tener en cuenta que en este tipo de sitios siempre interesa tener un lease-time bajo, de aproximadamente 2-3 horas como mucho, ya que al usuario que se conecte a nuestra red Wi-Fi, no le va a hacer falta esa misma dirección IP la próxima vez que venga. Sin embargo, si estamos conectando servidores a un servidor DHCP (cosa que no recomiendo), recomiendo poner un lease-time alto, como el que está puesto en la configuración, para que así, en caso de caída reserve la dirección IP al servidor durante bastante tiempo.

Si cuando has llegado hasta aquí te ha quedado alguna duda, te invito a dejarme un comentario justo aquí abajo, estaré encantado de responderte cuanto antes y atender a tu duda de la forma más eficiente posible.

About Kevin 26 Articles
Fanático de Linux ante todo. Técnico en Sistemas Microinformáticos y redes. Soy curioso por naturaleza, me gusta investigar sobre aquello que no sé, en especial sobre tecnología. La sabiduría es poder.

6 Comments on Cómo instalar y configurar un servidor DHCP en Ubuntu Linux

  1. Hola joven, he seguido tus pasos investigando además sobre el significado de cada uno de los términos usados en tu explicación… Lo lamento… No me funcionó. Seguiré insistiendo y de seguro que al lograrlo aquí mismo diré porqué no me funcionó este método. Pero no resto méritos a esta publicación,,, yo de mal pensado que soy, me imagino que no se dice todo para que uno investigue también… Asi lo haré.

    • ¡Hola Torcuato!
      La verdad es que intento hacer mis entradas completas para que no surjan problemas o dudas, y lamento mucho que no te haya funcionado. ¿Hay algo en lo que pueda ayudarte? en qué paso tienes problemas?
      Si puedo ayudarte estaré encantado de hacerlo.
      Un saludo!

  2. Gracias Kevin… En verdad el tema esta bueno. Mi problema es así:
    Tengo una pc con dos tarjetas de red , necesito que una se conecte al router(eth0) que nos proporciona la compañía que sirve el Internet y la otra tarjeta(eth1) que se conecte a un switch con veinticuatro puertos. Las IP que maneje la eth1 ajenas a las ip que proporciona el router proporcionado por la compañía que vende el Internet.

    Siguiendo los pasos, DHCP efectivamente, mediante eth1 y el switch asigna ip a las pc conectadas a el, pero no hay salida hacia el exterior.

    Configuré un puente… se me arruinó el dhcp… por último se desactivaron las dos tarjetas de red.

    Volví a instalar ubuntu pero ahora además instale webmin, instalé DHCP con ayuda de webmin y traté de configurarlo, intenté combinarlo con squid proxy… Fracaso total…

    por último mejor instalé Zentyal y fácilmente todo me funcionó. Lamento este paso porque me limita el aprendizaje. Seguiré de necio. Ahora compraré una tarjeta de red alámbrica para tener dos incluyendo la tarjeta integrada más una inalámbrica… configuraré DHCP para proveer internet local incluyendo sus respectivos filtros en especial del facebook, que es el más difícil… para mi.

    • Hola Roger, las tarjetas se configuran en “vim /etc/network/interfaces” ahi deberas de poner:
      >si la quieres dinámica:
      auto eth1
      iface eth1 inet dhcp
      >si la quieres estática:
      auto eth1
      iface eth inet static
      addres 192.168.1.1
      netmask 255.255.255.0
      gateway 192.168.1.0
      (son ejemplos, no debes de porque tener estas ips y eth)

  3. Hola, genial el post, existe manera de enlistar los equipos a los que les asigna IP el servidor DHCP? quiero ver el hostname algo como un log, utilizo “iftop -i tarjeta” para ver la transferencia en mi conexión de salida, pero solo me da las IP. gracias

Leave a Reply

Tu dirección de correo no será publicada.


*