Está en la página 1de 6

 

INSTALACIÓN DE UN 
SERVIDOR DNS Y DHCP  
 

Autor: Hamza Beddouka 


Fecha: 01/02/2019  
 

 
 
DNS Y DHCP 2/6 
 

Una vez iniciado la máquina servidor identificamos el nombre se le ha dado a cada una de las 
tarjetas de red que usaremos. Para ello abrimos terminal y ejecutamos el comando ​ifconfig

En la mayoría de los casos nos dará la siguiente configuración:  

tarjeta e​np0​s​3​ - tarjeta ​1


tarjeta e​np0​s​8​ - tarjeta ​2
tarjeta e​np0​s​9​ - tarjeta 3​  

Lo siguiente es configurar las tarjetas de redes y para ello editamos el fichero 


/etc//network/interfaces con el comando: 

sudo nano ​/etc/​network​/interfaces  

dejándolo así: 

auto lo
iface lo inet loopback
auto enp0s3
iface enp0s3 inet dhcp
auto enp0s8 enp0s9
iface enp0s8 inet static
address ​192.168.1.1
netmask 255.255.255.0
iface enp0s9 inet static
address ​172.16.1.1
netmask 255.255.255.0 

Cerramos fichero asegurándonos de guardarlo y a continuación desinstalamos el network 


manager. La instrucción es: 

sudo apt-​get​ purge network-manager 

 
 
DNS Y DHCP 3/6 
 

Instalamos servidor DNS (bind9) la instrucciones serán (desde terminal): 

sudo apt-​get​ install bind9 

A continuación editamos fichero /etc/bind/named.conf.options y descomentamos forwaders, 


borramos ip 0.0.0.0 y ponemos nuestra gateway tal como recuadro (en mi caso ip es 10.10.1.1) 

options {
directory ​"/var/cache/bind"​;
​// If there is a firewall between you and nameservers you want
​// to talk to, you may need to fix the firewall to allow multiple
​// ports to talk. See http://www.kb.cert.org/vuls/id/800113
​// If your ISP provided one or more IP addresses for stable
​// nameservers, you probably want to use them as forwarders.
​// Uncomment the following block, and insert the addresses replacing
​// the all-0's placeholder.
forwarders {
​10.10.1.1​;
};
​//=====================================================================
​// If BIND logs error messages about the root key being expired,
​// you will need to update your keys. See https://www.isc.org/bind-keys
​//=====================================================================
dnssec-validation auto;
auth-nxdomain no; ​# conform to RFC1035
listen-on-v6 { any; };
}; 

Reiniciamos servidor bind. La instrucción será (desde terminal): 

sudo​ /etc/init.d/​bind9 ​restart 

Seguidamente vamos a editar el archivo situado en /etc/resolv.conf 

El problema está en que este archivo está protegido y queremos que no se cambie con cada 
reinicio. Para ello vamos a hacer lo siguiente: 

● Borramos /etc/resolv.conf del sistema 


● Creamos un nuevo archivos en el Escritorio con el nombre resolv.conf 

 
 
DNS Y DHCP 4/6 
 

● Lo editamos y dejamos de este modo: 

# ​la​ ip será ​la​ correspondiente ​al​ adaptador puente (​en​ mi caso):


nameserver ​10.10​.​1.120 

  

● Guardamos y copiamos al directorio /etc 


● Seguidamente protegemos el fichero con la instrucción: 

sudo chattr +​i​ /etc/resolv.conf 

● Editamos el archivo situado /etc/dhcp/dhcpd.conf (antes hacemos una copia de 


seguridad de este archivo) 
● Vamos a dejarlo del siguiente modo: 

ddns-update-style none;
default​-lease-time ​600​;
max-lease-time ​1000​;
subnet ​192.168.1.0​ netmask ​255.255.255.0​ {
range ​192.168.1.100​ ​192.168.1.150​;
option routers ​192.168.1.1​;
option domain-name-servers ​192.168.1.1​;
}
subnet ​172.16.1.0​ netmask ​255.255.255.0​ {
range ​172.16.1.50​ ​172.16.1.80​;
option routers ​172.16.1.1​;
option domain-name-servers ​172.16.1.1​;

Reiniciamos servidor DHCP. La instrucción será (desde terminal): 

sudo /etc/init.d/isc-dhcp-server restar 

 
 
DNS Y DHCP 5/6 
 

Editamos el fichero /etc/default/isc-dhcp-server. La instrucción será (desde terminal): 

sudo nano /etc/default/isc-dhcp-server restar 

Lo dejamos tal que así: 

# Defaults for isc-dhcp-server initscript


# sourced by /etc/init.d/isc-dhcp-server
# installed at /etc/default/isc-dhcp-server by the maintainer scripts
#
# This is a POSIX shell fragment
#
# Path to dhcpd's config file (default: /etc/dhcp/dhcpd.conf).
#DHCPD_CONF=/etc/dhcp/dhcpd.conf
# Path to dhcpd's PID file (default: /var/run/dhcpd.pid).
#DHCPD_PID=/var/run/dhcpd.pid
# Additional options to start dhcpd with.
# Don't use options -cf or -pf here; use DHCPD_CONF/ DHCPD_PID instead
#OPTIONS=""
# On what interfaces should the DHCP server (dhcpd) serve DHCP requests?
# Separate multiple interfaces with spaces, e.g. "eth0 eth1".
INTERFACES=​"enp0s8 enp0s9" 

● Es muy importante indicar en INTERFACES cuáles son las tarjetas por las que se habilita 
el DCHP. Hay que indicar cuáles son las nuestras. En mi caso enp0s8 y enp0s9. 
Después reiniciamos de nuevo el servidor. 

sudo /etc/init.d/isc-dhcp-server restar 

Por último editamos /etc/sysctl.conf y descomentamos: 

#net.ipv4.ip_forward=1 de forma que quede: net.ipv4.ip_forward=1 

 
 
DNS Y DHCP 6/6 
 

● Además vamos a crear el fichero rc.local dentro de la carpeta /etc y escribimos lo 
siguiente: 

#!/bin/sh -e
# reiniciamos iptables
iptables -F
iptables -t nat -F
iptables -t mangle -F
# aceptamos lo que nos llegue por la red interna
iptables -A FORWARD -i eth1 -j ACCEPT
iptables -A FORWARD -i eth2 -j ACCEPT
#aplicamos NAT a todo lo que salga por eth0
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
# también podemos optar por sustituir la linea anterior por
#iptables -t nat -A POSTROUTING -s 172.16.1.0/24 -o eth0 -j MASQUERADE
# iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -o eth0 -j MASQUERADE
# si NO queremos dar acceso exterior a una interfaz, debemos comentar la
linea anterior que
corresponda
exit​ 0 

Guardamos y reiniciamos toda la máquina. Al ejecutar las máquinas clientes le indicamos la 
tarjeta con la red que deseamos que usar y si todo ha ido bien, el servidor DNS y DHCP deberían 
de funcionar. 

También podría gustarte