Podemos utilizar DHCP para dar automáticamente la:

  • Dirección IP
  • Máscara de subred
  • Puerta de enlace
  • DNS

Y así ahórranos el tener que ponerlo todo uno por uno. Simplemente en conectándonos esa red ya nos va a asignar una IP dentro del rango asignado y todo lo anterior en cualquier ordenador.

Para ello vamos a crear un servidor DHCP. Yo voy a utilizar Debian, pero son los mismos comandos en Ubuntu. Vamos a usar todo el rato la misma máquina y al final lo probaremos en otra.

Al instalarlo nos va a salir un error. Es normal por que aun no lo tenemos configurado. Lo instalamos escribiendo en la terminal:

apt-get install isc-dhcp-server -y

Ahora es muy importante saber las conexiones que tenemos en nuestra máquina. Para hacer el ejemplo vamos a poner 2 interfaces. Para ver las interfaces y redes ponemos:

ip addr show

En este ejemplo vamos a usar dos redes, aunque lo podemos hacer directamente con una.

La primera es la que nos da salida al exterior. La otra es en la que aplicaremos el Servidor DHCP para dar las IPs.

La primera es eth0 está configurada para que reciba la IP de forma automática (DHCP) desde el router. Suele ser la red por defecto. Es para la LAN (modo puente directamente conectada al router).

La otra (que es la necesaria) es eth1 y la hemos configurado como NAT en Proxmox y le hemos puesto la IP estática 10.10.10.56/24 y la puerta de enlace 10.10.10.1.

Servidor DHCP en Debian y Ubuntu 0

Para hacer que esto quede así vamos a editar las redes (pulsa para ver el tutorial) y nos quedaría algo así:

Servidor DHCP en Debian y Ubuntu 2
Una red en DHCP (router) y la otra en estática para hacer nosotros el DHCP en ella

Configurar interfaces para DHCP

Vamos a editar el archivo de configuración de ISC DHCP Server.

nano /etc/default/isc-dhcp-server

Suele estar al final y dividido para IPv4 y IPv6. Buscamos INTERFACES. Ponemos la interfaz donde tiene que estar escuchando y asignando IPs. En el ejemplo es eth1.

Servidor DHCP en Debian y Ubuntu 4

Configurar subredes y rangos para DHCP

Esta vez editamos:

nano /etc/dhcp/dhcpd.conf

Y añadimos lo siguiente, con el rango que queramos asignar:

subnet 10.10.10.0 netmask 255.255.255.0 {
  range 10.10.10.100 10.10.10.200;
  option domain-name-servers 8.8.8.8, 8.8.4.4;
  option domain-name "luisiblogdeinformatica.com";
  option routers 10.10.10.1;
  option broadcast-address 10.10.10.255;
  default-lease-time 600;
  max-lease-time 7200;
}

subnet : estamos poniendo la subred.

netmask : la máscara de la subred.

range : el rango de IPs que va a asignar. Comenzará con la 10.10.10.101 e irá dando (puede no ir en orden) hasta la 10.10.10.199. La IP de esta máquina no tiene por que estar en este rango.

option domain-name-servers : Si la subred tiene salida a Internet tenemos que configurar unos DNS, en nuestro ejemplo usamos los de Google que son gratuitos. También podemos hacer nuestro propio servidor de DNS.

option domain-name : Esto es para especificar un dominio que nos resuelva las IPs por el nombre del equipo. Como no es el caso, ponemos por defecto un ejemplo.

option routers : Aquí especificamos la IP del router. Podemos poner más de uno.

option broadcast-address : Especifica la dirección brodcast por si se usa en el cliente.

Activar y probar DHCP

Una vez configurado vamos a activar de nuevo el servicio DHCP:

service isc-dhcp-server restart
ip addr flush dev eth1
dhclient

Y al poner el ultimo no nos debería salir ningún mensaje. Eso es que esta todo correcto.

Para probarlo es tan sencillo como asignar la red a otro equipo y ver su IP con el comando ip addr show.

Puntuación