Instalación, Configuración y Prueba de un Servidor DNS

Anuncio
TEMA 6
INSTALACIÓN DE SERVICIOS EN REDES LOCALES
4.2- Instalación y Configuración de un Servidor DNS Dnsmasq
en Ubuntu sin DHCP
Dnsmasq es un paquete que incluye un servidor DNS y DHCP.
El servidor DNS es un servidor muy sencillo que no contiene zonas de búsqueda (ni
directa, ni inversa), sino que se trata de un servidor DNS caché que además funciona
como servidor DNS para nuestra red local gracias a que lee el archivo /etc/hosts.
Este archivo (/etc/hosts) como hemos visto en temas anteriores, es usado por el
Sistema Operativo (sea cual sea) para guardar la correspondencia entre un
nombre de dominio o nombre DNS (interno o de Internet, da igual) y direcciones
IP. Antiguamente cuando no había servidores DNS que resolvieran nombres de
dominio, el archivo hosts era el único encargado de hacerlo, pero dejó de usarse
cuando Internet empezó a crecer y surgieron los servidores DNS. Aún así, a día de
hoy, todos los Sistemas Operativos suelen venir configurados por defecto para
resolver un nombre de dominio, primero usando este fichero. Y, en caso de que ahí no
esté ese nombre, consultarán el servidor DNS cuya IP le hayamos configurado.
Todos los Sistemas Operativos tienen este archivo, aunque en diferentes carpetas
almacenado. Así, por ejemplo:
Sistema Operativo
Ruta
Windows 95 / 98 / Me
C:\Windows\hosts
Windows NT / 2000
C:\WINNT\System32\drivers\etc\hosts
Windows XP / 2003 / Vista / 7 C:\Windows\System32\drivers\etc\hosts
Unix / Linux / BSD
/etc/hosts
La resolución funcionará tanto en sentido directo como en sentido inverso, es decir,
resolverá la IP dado un nombre de PC y el nombre del PC dada la IP.
79
TEMA 6
INSTALACIÓN DE SERVICIOS EN REDES LOCALES
Adicionalmente, dnsmasq dispone de servidor DHCP y permite resolver los nombres
de los PCs a los que les ha asignado dirección IP dinámica.
4.2.1- Instalación del servidor DNS con Dnsmasq
Para instalar la última versión de dnsmasq, podemos hacerlo con apt-get desde una
consola de root:
// Instalación del servidor dnsmasq
# apt-get install dnsmasq
De esta forma instalaríamos los programas necesarios para disponer de un sencillo
servidor DNS. Tan solo será necesario configurarlo y ponerlo en marcha.
4.2.2- Configuración del servidor DNS con Dnsmasq
1º) Para que dnsmasq pueda ser un servidor caché DNS, es necesario modificar nuestro
fichero /etc/resolv.conf de forma que ahí aparezca configurado al menos un
servidor DNS externo. Normalmente los servidores DNS externos nos los
proporciona el operador de telecomunicaciones que nos da servicio de Internet. Por
ejemplo: 195.235.113.3, 62.37.228.20 (de Orange), etc. Por tanto, nuestro fichero
tendrá algo parecido a:
// Añadir en /etc/resolv.conf del servidor
nameserver 127.0.0.1
nameserver 62.37.228.20
nameserver 195.235.113.3
Una vez introducidos los DNS externos en /etc/resolv.conf, debemos comprobar si
dichos DNS externos funcionan correctamente y responden a las peticiones. Para
ello haremos una consulta al DNS mediante el comando nslookup. También
podríamos utilizar el comando host o el comando dig:
// Probar DNS externo
// Ejecutar en una consola del servidor
$ nslookup www.google.es
Si el DNS funciona, nos dirá cual es la IP del servidor de Google.
80
TEMA 6
INSTALACIÓN DE SERVICIOS EN REDES LOCALES
En este punto, ya tendremos en nuestro servidor un servidor DNS caché
funcionando.
2º) El siguiente paso será editar el archivo /etc/hosts de nuestro servidor, para que
nuestro DNS resuelva también los nombres y las IPs de nuestra red.
Si los PCs de nuestra red disponen de IP fija y queremos que dnsmasq resuelva sus
nombres e IPs, tan solo tenemos que añadir los nombres y las IPs en el archivo hosts
del servidor y sería como disponer de un DNS maestro para nuestra red. Por
ejemplo:
//Añadir en /etc/hosts del servidor las IPs y los nombres de nuestros
PCs
//Se pueden añadir varios nombres en la misma línea. Separar con un
tabulador
192.168.2.202
www.XXmicentro.com
proxy
www
192.168.2.238
impresora
192.168.2.254
router
192.168.2.203
asi1pc3 aula1pc3
192.168.2.204
asi1pc4 aula1pc4
192.168.2.205
asi1pc5 aula1pc5
192.168.2.206
asi1pc6 aula1pc6
192.168.2.207
asi1pc7 aula1pc7
3º) Arranque y parada del servidor dnsmasq:
El servicio dnsmasq, al igual que todos los servicios, dispone de scripts de arranque
y parada en la carpeta /etc/init.d. Debemos ejecutarlos desde una consola de root.
Cada vez que modifiquemos el archivo /etc/hosts del servidor, deberemos ejecutar
"/etc/init.d/dnsmasq restart" para reiniciar el servicio dnsmasq y recargar la
información contenida en dicho archivo.
De esta manera, tan solo editando el archivo /etc/hosts del servidor, dispondremos
de un sencillo servidor DNS para nuestra red lo que nos permitirá referirnos a
nuestros PCs utilizando sus nombres que son mucho más fáciles de recordar que las
direcciones IP.
4.2.3- Prueba del servidor DNS con Dnsmasq
Se puede probar desde el propio servidor con los comandos dig, ping, host o nslookup.
Pero vamos a explicar cómo hacerlo desde un cliente.
81
TEMA 6
INSTALACIÓN DE SERVICIOS EN REDES LOCALES
El resto de PCs de la red, serán los clientes. Estos clientes pueden ser equipos con
Windows XP, con Ubuntu, …Explicaremos cómo configurar un cliente Windows XP y
otro Ubuntu.
a) Configuración de un cliente XP:
Debemos incorporar nuestro cliente XP al dominio de nuestro servidor Ubuntu.
Para ello, en el cliente XP pulsamos Botón Dcho sobre MI PC y elegimos
PROPIEDADES:
Pulsamos CAMBIAR y en la casilla “Dominio” que nos aparece ponemos
nuestro dominio: XXmicentro.com (donde XX es el nº de dominio de cada uno
de vosotros: 01, 02,…) y ACEPTAR.
Configuramos el DNS en el cliente: Para ello, debemos de configurar en la
propiedades del TCP/IP, el DNS anotando ahí la IP de nuestro servidor
Ubuntu.
82
TEMA 6
INSTALACIÓN DE SERVICIOS EN REDES LOCALES
Desde nuestro cliente probamos si el servidor DNS resuelve nombre externos
(de Internet). Vamos al Internet Explorer y ponemos: www.google.es. Si nos
aparece la página de Google es que todo va bien.
Otra forma de probar si funciona es usar: ping o nslookup desde la consola
MS-DOS:
Probamos resolución directa:
ping www.google.es
O también:
nslookup www.google.es
Probamos resolución inversa:
ping ip_de_Internet
donde ip_de_Internet es la IP de cualquier máquina de
Internet como las de google.es,…
O también:
nslookup ip_de_Internet
Ahora, desde nuestro cliente probamos si el servidor DNS resuelve nombre
internos: podemos usar: ping o nslookup desde la consola MS-DOS.
Probamos resolución directa:
ping nombreservidor
donde nombreservidor es el nombre de vuestra
máquina Ubuntu
O también:
nslookup nombreservidor
Probamos resolución inversa:
ping ip_del_servidor
donde ip_del_servidor es la IP de vuestra
máquina Ubuntu
O también:
nslookup ip_del_servidor
83
TEMA 6
INSTALACIÓN DE SERVICIOS EN REDES LOCALES
b) Configuración de un cliente Ubuntu:
Configuramos el DNS en el cliente: debemos indicarle la IP del servidor DNS
en el fichero /etc/resolv.conf de este cliente:
Por ejemplo si la IP de nuestro servidor DNS dnsmasq es 192.168.2.202,
pondremos en cada /etc/resolv.conf (el de cada cliente):
// Editar /etc/resolv.conf del resto de PCs de la red
nameserver 192.168.2.202
Ahora desde nuestro cliente Ubuntu probamos si el servidor DNS resuelve
nombre externos (de Internet). Vamos al Navegador de Internet y ponemos:
www.google.es. Si nos aparece la página de Google es que todo va bien.
Otra forma de probar si funciona es usar: dig , host, ping o nslookup desde la
consola MS-DOS:
Probamos resolución directa:
dig www.google.es
O también:
nslookup www.google.es
O también:
host www.google.es
Probamos resolución inversa:
ping ip_de_Internet
donde ip_de_Internet es la IP de cualquier máquina de
Internet como las de google.es,…
O también:
nslookup ip_de_Internet
84
TEMA 6
INSTALACIÓN DE SERVICIOS EN REDES LOCALES
Ahora, desde nuestro cliente probamos si el servidor DNS resuelve nombre
internos. Para ellos podemos usar: ping o dig o host o nslookup desde la
consola de comandos.
Probamos resolución directa:
ping nombreservidor
donde nombreservidor es el nombre de vuestra
máquina Ubuntu. Sirve cualquier nombre
de cualquier equipo de ese dominio.
O también:
nslookup nombreservidor
O también:
dig nombreservidor
O también:
host nombreservidor
Probamos resolución inversa:
ping ip_del_servidor
donde ip_del_servidor es la IP de vuestra
máquina Ubuntu. Sirve la IP de cualquier
equipo del dominio.
O también:
nslookup ip_del_servidor
85
Descargar