Configurar DHCP y DNS con BIND9 en Ubuntu Server: Guía práctica de red interna
Configuración de la red y del servidor DHCP
Configurar Ubuntu Server con adaptador 1 en red interna y adaptador 2 en modo puente. Configurar el cliente Windows con adaptador 1 en red interna.
Instalación de DHCP en Ubuntu Server
Instalar el servidor DHCP con el siguiente comando:
sudo apt-get install isc-dhcp-server
Verificar la configuración de la red con ip addr.
Configurar direcciones IP
Editar el archivo de configuración de netplan:
sudo nano /etc/netplan/00-installer-config.yaml
Para confirmar la configuración, aplicar los cambios:
sudo netplan apply
Configurar DHCP
Editar el archivo de interfaz del servidor DHCP:
sudo nano /etc/default/isc-dhcp-server
Indicar la interfaz de la red interna, enp0s3.
Especificación de la configuración
Editar el archivo principal de configuración:
sudo nano /etc/dhcp/dhcpd.conf
#CONFIGURACIÓN DHCP RED INTERNA
group red-interna (nombre que pida) {
subnet (IP) netmask (máscara) {
range (IPs);
default-lease-time 3600; # duración de la concesión
max-lease-time 86400; # tiempo máximo
option routers (puerta de enlace);
option domain-name-servers 8.8.8.8;
}
}Verificar la sintaxis:
sudo dhcpd -t -cf /etc/dhcp/dhcpd.conf
Reiniciar el servicio:
sudo service isc-dhcp-server restart
IP fija para un equipo
Con ipconfig /all en el cliente Windows, obtener la dirección MAC del adaptador.
Añadir la reserva en /etc/dhcp/dhcpd.conf:
host (nombre del equipo) {
hardware ethernet (MAC del cliente);
fixed-address (IP fija);
}Verificar la sintaxis y reiniciar el servicio.
Configuración del servidor DNS con BIND9
Acceder como usuario root:
sudo su
Asignar IP a la tarjeta de red interna
Acceder a /etc/netplan y editar el archivo:
ethernets:
enp0s3:
dhcp4: true
enp0s8:
dhcp4: false
addresses: [primera IP del rango]Aplicar los cambios con sudo netplan apply.
Instalar BIND9
sudo apt-get updatesudo apt install bind9
Activar el servicio y configurar el firewall
sudo systemctl enable bind9
sudo ufw allow bind9
Configurar BIND9
Editar /etc/bind/named.conf.options:
options {
directory "/var/cache/bind";
listen-on port 53 { (IP puerta de enlace / propia máquina); (IP tarjeta red interna); };
allow-query { (IP puerta de enlace); (rango); };
allow-recursion { (rango o propia máquina); };
recursion yes;
forwarders { 8.8.8.8; 8.8.4.4; };
allow-transfer { none; };
};Comprobar la configuración:
named-checkconf
Configuración de zonas
Editar /etc/bind/named.conf.local:
zone "redlocal.ser" {
type master;
file "/etc/bind/db.redlocal.ser";
allow-transfer { IPsec; };
};
zone "(números repetidos IP).in-addr.arpa" {
type master;
file "/etc/bind/db.(números repetidos IP)";
allow-transfer { IPsec; };
};Configurar los ficheros de zonas directas e inversas
Crear el fichero de la zona directa:
sudo cp /etc/bind/db.local /etc/bind/db.redlocal.ser
sudo nano /etc/bind/db.redlocal.ser
$ORIGIN redlocal.ser.
; NS records
@ IN NS ns1.redlocal.ser.
; name servers - A records
ns1.redlocal.ser. IN A 200.100.50.33
; host - A records
impresora-red IN A 200.100.50.34
; CNAME records
pau IN CNAME ordenadordepau
; SERVIDOR DE CORREO
@ IN MX 1 correo1.redlocal.ser.
; DELEGACIÓN DE SUBDOMINIO
pruebas.redlocal.ser. IN NS ns3.redlocal.ser.
ns3 IN A 200.100.50.37Comprobar la zona:
named-checkzone redlocal.ser /etc/bind/db.redlocal.ser
Crear la zona inversa
sudo cp /etc/bind/db.127 /etc/bind/db.50.100.200
sudo nano /etc/bind/db.50.100.200
$TTL 604800
$ORIGIN 50.100.200.in-addr.arpa.
@ IN SOA ns1.redlocal.ser. root.redlocal.ser. ( ... )
; NS records
@ IN NS ns1.redlocal.ser.
@ IN NS ns2.redlocal.ser.
; PTR records (último octeto al inicio)
33 IN PTR ns1.redlocal.ser.
34 IN PTR impresora-red.redlocal.ser.
35 IN PTR ordenadordepau.redlocal.ser.
37 IN PTR ns3.redlocal.ser.Reiniciar BIND9
sudo systemctl restart bind9
Por último, cambiar el DNS en /etc/resolv.conf por 127.0.0.1 o la IP del servidor.