Instalación e configuración do servizo DNS con Ubuntu Server
LEMBRAR EN UBUNTU DESKTOP
Antes de comezar con esta sección é aconsellable que o usuario domine a configuración de rede en GNU/Linux.
Recoméndase que se revisen as seccións
do curso Curso Platega 08-09: Sistema operativo GNU-LINUX: UBUNTU 8.10.
Antes de comezar con esta sección é aconsellable que o usuario domine a configuración de rede en GNU/Linux.
Instalación dos paquetes necesarios
Instalamos o paquete que contén o servidor de DNS:
sudo apt-get install bind9
Configuración do servidor de DNS con webmin
O webmin ofrece o módulo de Servidor DNS BIND dentro da categoría de Servidores (teremos que refrescar os módulos para que apareza aquí despois de instalar o servidor de DNS), que é moi cómodo para manexar as zonas, os rexistros e a configuración global do servizo de DNS.
Crear a zona para o dominio
En primeiro lugar podemos crear a zona mestra asociada ao noso dominio, picando na opción de Crear nueva zona maestra. Na seguinte imaxe pódese ver os datos de configuración da nova zona:
- Seleccionaremos como tipo de zona de Reenvío (o que tamén se coñece como zona de búsca directa) xa que queremos buscar a dirección IP de equipos a partir do seu nome.
- Introducimos como nome de dominio DNS o equivalente ao noso dominio LDAP, que neste caso será iescalquera.local.
- Podemos indicar cal será o servidor DNS mestre para esta zona, que vai ser este propio equipo, que vai ter como nome de DNS server00.iescalquera.local (este nome llo asignaremos no servidor de DNS unha vez creada a zona).
- Por último, temos que introducir unha dirección de correo asociada á zona (aínda que non ten por que ser real).
- Picamos no botón de Crear para crear a zona.
Crear a zona inversa
As zonas de busca inversa permiten facer consultas inversas sobre os equipos do dominio, é dicir, a partir da dirección IP dun equipo obter o seu nome de DNS. Este tipo de consultas non se usan habitualmente e só teñen utilidade en casos puntuais, pero si serán realizadas cando posteriormente utilicemos o servidor de autenticación kerberos dentro do noso dominio, así que é necesario que cubramos tamén os rexistros de direccións inversas, aínda que veremos que se poderán cubrir automaticamente cada vez que cremos un rexistro de dirección. Picamos de novo en Crear una nueva zona maestra:
- Marcamos que se trata dunha Zona inversa, xa que permitirá obter nomes de DNS dos equipos a partir da súa dirección IP.
- No Nome de dominio teremos que poñer a número da nosa rede, é dicir, como no caso de exemplo os equipos están na rede 10.0.0.0 o dominio será o 10 (xa que todas as direccións IP da nosa rede comezan por ese número).
- Introduciremos igual que antes o servidor mestre da zona e unha dirección de correo.
- Picamos no botón de Crear
Crear o rexistro coa dirección IP do servidor
Imos agora a crear un rexistro que asocie a dirección IP do servidor (10.0.0.100) ao nome de DNS server00.iescalquera.local. Entramos na zona iescalquera.local e picamos na icona de Dirección, que nos da acceso a todos os rexistros de dirección de equipos que hai nesta zona. De momento non haberá ningún, e podemos engadir o novo rexistro. Introduciremos o nome para o rexistro (server00, sen engadirlle iescalquera.local porque ese xa é o nome da zona) e a dirección IP que lle asignamos. Obsérvese tamén que se deixa marcada a opción de actualizar automaticamente as direccións inversas:
Podemos entrar agora na zona 10 para comprobar picando na icona de Dirección inversa que se creou automaticamente o rexistro inverso asociado, que permitirá obter o nome do equipo server00.iescalquera.local a partir da súa dirección IP (10.0.0.100):
Configurar os servidores para o reenvío
O habitual nun servidor de DNS nun dominio local é que reenvíe todas as consultas que reciba dos cliente aos servidores de DNS que o noso provedor de Internet (ISP) nos proporcione. Na páxina principal do módulo de Servidor DNS, picaremos na icona de Reenvío y transferencias para indicar cales son as direccións IP dos servidores de DNS ás que este servidor debe reenviar todas as consultas sobre zonas que el non manexe:
- Picamos no botón de Salvar para gardar os cambios.
Borrar a zona raíz
Dado que o noso servidor de DNS vai redirixir ás súas consultas aos servidores configurados no apartado anterior, podemos eliminar a zona raíz, xa que é utilizada polo servidor para facer facer consultas aos servidores DNS raíz de Internet cando a zona que se lle solicita non está na súa propia base de datos. Como nós neste caso queremos que reenvíe sempre aos servidores que nos proporciona o ISP imos borrar a zona raíz, entrando nela e picando no botón de Delete root zone:
Unha vez que se configurou o servidor, que se crearon zonas, equipos dentro dela, etc, é preciso aplicar os cambios, para que estes sexan efectivos: premer en Apply Configuration
Configuración nos equipos cliente
Agora teremos que configurar todos os equipos do dominio (tanto os clientes como o propio servidor) para que usen como servidor de DNS o noso servidor.
Configuración dos clientes DNS
- Tanto nos clientes como no servidor hai que indicar cal é o servidor DNS: no ficheiro /etc/resolv.conf
search iescalquera.local nameserver 10.0.0.100
- No caso do servidor, pódese substituir a IP do servidor pola da súa propia máquina:
nameserver 127.0.0.1
No seguinte enlace hai información sobre o ficheiro resolv.conf: O nivel de rede#Servidor de nomes: o ficheiro resolv.conf
Configuración de nsswitch.conf
Se probamos agora o funcionamento do servidor de DNS dende os equipos clientes, observaremos un comportamento un tanto raro:
- Se facemos un ping (por exemplo ping www.google.es) a un equipo en Internet, funcionará.
- Se facemos ping ao servidor polo seu nome (ping server00.iescalquera.local), non funcionará.
- Sen embargo, se usamos o comando nslookup que permite facer consultas a servidores DNS, veremos que o servidor si resolve ese nome (nslookup server00.iescalquera.local).
O problema está na configuración do ficheiro /etc/nsswitch.conf que lle di ao sistema que servizos ten que usar para buscar os usuarios, grupos, máquinas, etc. Se editamos este ficheiro no cliente, veremos que na liña de hosts fai uso dun servizo mdns4_minimal, que é o que impide que o equipo consulte ao servidor de DNS cando quere saber a dirección IP dunha máquina a partir do seu nome. O que faremos é deixar a liña de hosts da seguinte forma:
hosts: files dns
Se comprobamos o contido do ficheiro /etc/nsswitch no servidor veremos que a liña de hosts xa ten este valor, así que non teremos que facer ningunha modificación.