You are on page 1of 6

Instalar y configurar un servidor DNS con Ubuntu Server paso a paso Un servidor DNS (Domain Name System) es un sistema

que nos permite usar nombres de dominio en lugar de direcciones IP. Su principal ventaja es que para nosotros es mucho ms fcil recordar un nombre que una direccin IP. El servidor DNS ms utilizado es Bind y, aunque tenamos un poco abandonado a Ubuntu Server en Slice of Linux, hoy vamos a ver cmo instalarlo y configurarlo sobre l paso a paso. El contenido de este tutorial es genrico pero las pruebas y capturas de pantalla se han hecho sobre Ubuntu 10.04 Server. Los valores que debemos tener claros antes de comenzar son los siguientes:

Direccin IP del servidor: 192.168.2.1 Nombre del servidor: servidor Dominio que vamos a crear: sliceoflinux.lan Estos valores deberemos sustituirlos por los que necesitemos en cada caso. Los pasos para instalar y configurar Bind en Ubuntu Server son los siguientes:

1.

Actualizamos la informacin de los repositorios con el siguiente comando: sudo aptitude update 2. Instalamos el servidor DNS Bind9: sudo aptitude install bind9 3. Hacemos una copia de seguridad del archivo que vamos a modificar: sudo cp /etc/bind/named.conf.local{,.original} Este comando nos puede ahorrar mucho tiempo y est descrito en el artculo hacer copias de seguridad de archivos rpidamente. 4. Editamos el archivo /etc/bind/named.conf.local con el siguiente comando: sudo nano /etc/bind/named.conf.local y aadimos el siguiente contenido: zone "sliceoflinux.lan" { type master; file "db.sliceoflinux.lan"; }; zone "2.168.192.in-addr.arpa" { type master; file "db.192.168.2"; }; Esto se puede ver en la siguiente captura de pantalla:

Editamos el archivo /etc/bind/named.conf.local Para guardar el archivo debemos pulsar la combinacin de teclasControl+O y para salir Control+X. 5. Para comprobar la sintaxis de los archivos de configuracin ejecutamos el siguiente comando: named-checkconf Si no aparece nada, la sintaxis de los archivos de configuracin es correcta. Ojo! Eso no significa que no haya ningn error, slo que no hay errores de sintaxis.

Ejecucin de named-checkconf sin errores Si hubisemos cometido un error de sintaxis, nos aparecera indicado junto a la lnea en la que ocurre. En el siguiente ejemplo puede verse que en el archivo /etc/bind/named.conf.local en la lnea 15 hay un error: Ejecucin de named-checkconf con un error Creamos el archivo /var/cache/bind/db.sliceoflinux.lan: sudo nano /var/cache/bind/db.sliceoflinux.lan e incluimos el siguiente contenido: $ORIGIN sliceoflinux.lan. $TTL 86400 ; 1 dia @ IN SOA servidor postmaster ( 1 ; serie 6H ; refresco (6 horas) 1H ; reintentos (1 hora) 2W ; expira (2 semanas) 3H ; mnimo (3 horas) ) NS servidor servidor A 192.168.2.1 El contenido del archivo es bastante especial y no lo vamos a comentar pero para ms informacin se puede leer el RFC 1912 y el RFC 2308. Aqu deberamos aadir todos los equipos de nuestra red que quisiramos mantener identificados pero como es ms fcil hacerlo con DDNS(Dynamic DNS) ya lo veremos en otra ocasin. 7. Comprobamos la zona que acabamos de crear (sliceoflinux.lan): named-checkzone sliceoflinux.lan /var/cache/bind/db.sliceoflinux.lan En esta ocasin siempre nos aparecer una salida, ya sea para indicarnos que todo est bien (OK) o algn error.

6.

8.

Ejecucin de named-checkzone sin errores A continuacin creamos el archivo /var/cache/bind/db.192.168.2 para la zona inversa: sudo nano /var/cache/bind/db.192.168.2 e incluimos el siguiente contenido:

$ORIGIN 2.168.192.in-addr.arpa. $TTL 86400 ; 1 dia @ IN SOA servidor postmaster ( 1 ; serie 6H ; refresco (6 horas) 1H ; reintentos (1 hora) 2W ; expire (2 semanas) 3H ; mnimo (3 horas) ) NS servidor.sliceoflinux.lan. 1 PTR servidor.sliceoflinux.lan. El nmero 1 se corresponde con el ltimo dgito de la direccin IP del servidor (192.168.2.1). 9. Comprobamos la zona inversa recin creada: named-checkzone 2.168.192.in-addr.arpa /var/cache/bind/db.192.168.2 Al igual que antes obtendremos un mensaje para indicarnos tanto si la zona es correcta como si no lo es.

Ejecucin de named-checkzone sin errores 10. Reiniciamos el servicio: sudo service bind9 restart Si todo va bien, veremos que est OK.

11.

Reiniciamos el servicio Revisamos el log para comprobar que todo ha ido bien. Aunque se puede hacer con el comando tail, yo prefiero less porque me permite ver todo el contenido del mismo: less /var/log/syslog El resultado se puede ver en la siguiente captura:

Comprobamos que no hay errores en syslog Para salir deberemos pulsar la tecla q. 12. Editamos el archivo /etc/resolv.conf para que nuestro resuelva las peticiones DNS: sudo nano /etc/resolv.conf Cambiando el primero de los servidores DNS por la IP del nuestro: nameserver 192.168.2.1 nameserver 8.8.8.8 13. Probamos nuestro servidor de nombres: dig sliceoflinux.lan La respuesta ser muy parecida a la siguiente:

servidor

Ejecucin de dig sliceoflinux.lan 14. Probamos la resolucin inversa: dig -x 192.168.2.1 Esta sera la salida esperada del comando anterior:

Ejecucin de dig -x 192.168.2.1 15. Por ltimo, para poder sacarle partido al servidor que hemos creado nos faltara incluir este servidor DNS en la configuracin de los clientes. Para esto puedes nuestro artculo Configurar el servidor DNS de Ubuntu Karmic desde la interfaz grfica.

Un servidorDHCP(Dynamic Host Configuration Protocol) es un servicio de red que provee direcciones IP entre otra informacin de configuracin a los equipos que se encuentran conectados a este dentro de una red de datos sin importar el sistema operativo que posean las mquinas cliente aunque el servidor este corriendo sobreUbuntu Server. Las mquinas configurados va DHCP no tienen control sobre la configuracin de red de las mismas, adquiriendo toda esta informacin directamente desde el servidor DHCP que se encarga de configurar automticamente la direccin IP de la mquina, la mascara de subred, la puerta de enlace predeterminada o Gateway, el nombre del host, el nombre del dominio, entre otros datos importantes para el buen funcionamiento de la red. A continuacin aprenderemos como configurar un servidor DHCP usando Ubuntu Server 12.04 Precise Pangolin. Para este caso en particular utilizaremos los siguientes datos a entregar por el servidor DHCP y la interfaz de red eth0:

Rango de direcciones IP: 192.168.2.10 192.168.2.20 Direccin de subred: 192.168.2.0 Mascara de red: 255.255.255.0 Dominio: dhcpserver.public Puerta de enlace predeterminada: 192.168.2.1 Direccin Broadcast: 192.168.2.255 Servidores DNS: 208.67.222.222 y 208.67.220.220 (OpenDNS )

1. Instalamos el paquete del servidor DHCP sudo apt-get install isc-dhcp-server 2. Editamos el archivo /etc/default/isc-dhcp-server sudo nano /etc/default/isc-dhcp-server Aqu nos dirigimos hasta la opcin INTERFACES ubicada aproximadamente en la linea 11 del documento, agregando eth0como se muestra a continuacin # Defaults for dhcp initscript # sourced by /etc/init.d/dhcp # installed at /etc/default/isc-dhcp-server by the maintainer scripts # # This is a POSIX shell fragment # # On what interfaces should the DHCP server (dhcpd) serve DHCP requests? # Separate multiple interfaces with spaces, e.g. "eth0 eth1". INTERFACES="eth0"

Guardamos pulsando Ctrl+O y salimos del archivo de configuracin pulsando Ctrl+X. 3. Editamos el archivo /etc/dhcp/dhcpd.conf creando primero un respaldo del mismo en caso de que algo salga mal sudo mv /etc/dhcp/dhcpd.conf /etc/dhcp/dhcpd.conf.original

Ingresamos como root sudo -i Creamos el archivo de configuracin dhcpd.conf cat > /etc/dhcp/dhcpd.conf <<-EOF option domain-name "preciseserver.public"; option domain-name-servers ns1.preciseserver.public, ns2.preciseserver.public; default-lease-time 600; max-lease-time 7200; subnet 192.168.2.0 netmask 255.255.255.0 { range 192.168.2.10 192.168.2.20; option domain-name-servers 208.67.222.222, 208.67.220.220; option domain-name "serv.dhcpserver.public"; option routers 192.168.2.1; option broadcast-address 192.168.2.255; default-lease-time 600; max-lease-time 7200; } EOF 4. Reiniciamos el servidor DHCP sudo service isc-dhcp-server restart Ya tenemos nuestro servidor DHCP corriendo libremente sobre UbuntuServer12.04 PrecisePangolin y listo para entregar la informacin necesaria a cada una de las mquinas que conectemos a la red en la que se encuentra. Si tienes alguna duda acerca del procedimiento aqu publicado, no dudes en realizar un comentario al respecto.