Escenario 1.B - Instalación e configuración do servizo de DNS
Introdución
- Neste escenario tratarase de configurar o servidor dserver00 como servidor de DNS.
- dserver00 actuará como servidor DNS de modo que os clientes da rede poderán consultarlle a el polas resolucións de nomes tanto para os do dominio local (iescalquera.local) como por nomes do exterior.
- dserver00 preguntará aos servidores raíz que están no exterior por aqueles nomes de dominio que non xestione el, por exemplo cesga.es.
- Nesta ocasión crearemos en dserver00 a zona de busca directa de DNS iescalquera.local e a inversa asociada á rede IP 172.16.5./24.
- A configuración cliente DNS para todo equipo da LAN apuntará á IP deste novo servidor DNS.
- IMPORTANTE: para manter a compatibilidade na parte III con SAMBA o nome de dominio non debe exceder os 15 caracteres (Neste caso iescalquera ten 11).
Introdución ao servizo DNS
O Sistema de Nomes de Dominio (DNS) é un sistema de nomes xerárquico que nos permite identificar calquera recurso existente nunha rede. Un nome de dominio completo (tamén chamado FQDN, Fully Qualified Domain Name) consiste en dúas ou máis etiquetas separadas por puntos:
- A etiqueta situada máis ao final é o dominio de nivel superior ou TLD (Top Level Domain) e pode indicar a finalidade do dominio ou o país (como .org, .net, .es, .pt, etc.).
- A partir do TLD, as distintas etiquetas que van á esquerda indican distintos subdominios de forma xerárquica, uns dentro de outros.
- A etiqueta da situada máis á esquerda (a primeira) indica o nome da máquina.
Por exemplo, como se pode ver na imaxe, o FQDN es.wikipedia.org fai referencia á máquina es dentro do dominio wikipedia, que á súa vez está dentro do dominio org. Este último dominio tamén está dentro do dominio ., que é o dominio raíz.
- Para afondar máis sobre o servizo DNS:
- Conceptos básicos de DNS do Curso Formación Profesorado: Platega: Simulación de redes locais con máquinas virtuais
- Do mesmo curso, para ver como configurar DNS en Zentyal ou Windows: Curso Formación Profesorado: Platega: Simulación de redes locais con máquinas virtuais#PARTE V: Servizos básicos das redes locais
- Os documentos PDF do profesor Victor Lourido:
- Para conceptos teóricos, punto 9 do seguinte ficheiro PDF: Archivo:Modelo OSI TCP IP.pdf
- Para Windows, punto 2 do seguinte ficheiro PDF: Archivo:03.- Servizos Internet en 2003.pdf
- Servizo DNS do profesor Jesús Arribi
Introdución ao xestor de servizos systemd
- Debian, dende a versión 8, cambiou o seu xestor de servizos de SysVinit a Systemd.
- A forma de iniciar/parar/comprobar o estado dun servizo é: systemctl start/stop/status SERVIZO
- Segue podéndose usar o formato SysVinit: service SERVIZO start/stop/status
- Máis info:
- No material usaránse as 2 formas de manexar os servizos:
- As capturas de pantallas que proceden de versións anteriores de Debian usan: service.
- Aquelas capturas de pantalla que houbo que actualizar usan: systemctl
Instalación e configuración do servizo DNS
- Para facilitar a configuración do servidor dserver00 imos conectarnos por ssh/putty dende o equipo real a ese servidor, así poderemos copiar/pegar contidos da web máis facilmente ou copiar configuracións do mesmo servidor ao exterior máis facilmente.
- As pantallas con fondo branco son configuracións no servidor.
- As pantallas con fondo negro son configuracións no cliente.
Comezamos conectándonos ao servidor dserver00 dende o exterior (Equipo físico).
Lembrar que rediriximos os portos en VirtualBox no escenario 1.A, e estamos conectándonos á IP do host real a un porto que nos redirixe ao servidor dserver00
Entrar co usuario administrador de dserver00.
Para pasarse a root executar:su -
Introducir o contrasinal de root: (abc123.)Imos facer unha pequena revisión dos ficheiros de configuración que interveñen na configuración do servizo DNS.
O ficheiro /etc/bind/named.conf é o ficheiro principal do servizo. É onde se configuran as zonas de busca ou se chaman a estas a través de outros ficheiros coa cláusula include. Observar que se chaman a tres ficheiros que agora pasamos a describir.O ficheiro /etc/bind/named.conf.options configura, entre outras cousas:
- O directorio onde se vai a ir a buscar por defecto os ficheiros das zonas DNS, neste caso /var/cache/bind.
- Os reenviadores aos que preguntar no caso de querer reenviar unha consulta a un/s servidor/es DNS específicos antes que facer resolución DNS por recursividade (revisar a teoría dos enlaces anteriores)Editamos este ficheiro para modificar o valor do parámetro dnssec-validation, para establecer o valor yes. Facemos isto para que o servidor de DNS poida reenviar correctamente as consultas por recursividade de forma segura con DNSSEC.
O ficheiro /etc/bind/named.conf.default-zones é onde o servizo ten xa configuradas unhas zonas por defecto, entre elas a zona raíz chamada punto ".". Observar como indica en que ficheiro están almacenados os equipos desa zona raíz. E así coas demais zonas. Fixarse tamén que se indica a ruta de acceso ao ficheiro en file.
Creación das zonas directa e inversa
- A continuación imos crear dúas zonas:
- Directa: para a resolución dos nomes a IPs dos equipos do dominio iescalquera.local.
- Inversa: para a resolución de IPs a nomes de equipos para a rede IP 172.16.5.
Creamos as zonas directa e inversa. Observar que non se indica a ruta ao ficheiro onde se van crear os elementos da zona, por tanto este debe estar na ruta especificada anteriormente por defecto: /var/cache/bind. Observar tamén, que toda instrución remata en ";"' . Finalmente observar que o nome da zona inversa é a rede IP ao revés.
Os nomes dos ficheiros file poden chamarse como se desexe, o importante é que existan no directorio anterior.
- A continuación amósase ás liñas que se engadiron ao ficheiro:
zone "iescalquera.local" { type master; file "db.iescalquera.local"; }; zone "5.16.172.in-addr.arpa" { type master; file "db.172.16.5"; };
Facemos o mesmo coa zona de busca inversa que está no ficheiro /var/cache/bind/db.172.16.5. Observar que agora engadimos rexistros "PTR" de busca inversa que asocian IPs a nomes. Por exemplo a entrada "10" está asociada aos equipos "ns" e "dserver00" de iescalquera.local, de modo que cando preguntemos por 172.16.5.10 imos obter eses dous posibles nomes de equipo.
Abaixo está o ficheiro de configuración.
- Ficheiro de configuración da zona iescalquera.local: /var/cache/bind/db.iescalquera.local
$TTL 86400 @ IN SOA iescalquera.local. root.iescalquera.local. ( 1 ; serial 604800 ; refresh 86400 ; retry 2419200 ; expire 86400 ; minimum ) ; @ IN NS ns.iescalquera.local. ns A 172.16.5.10; IP do servidor DNS dserver00 A 172.16.5.10 uclient01 A 172.16.5.20
- Ficheiro de configuración da zona 5.16.172.in-addr.arpa: /var/cache/bind/db.172.16.5
$TTL 86400 @ IN SOA iescalquera.local. root.iescalquera.local. ( 1 ; serial 604800 ; refresh 86400 ; retry 2419200 ; expire 86400 ; minimum ) ; @ IN NS ns.iescalquera.local. 10 PTR ns.iescalquera.local. PTR dserver00.iescalquera.local. 20 PTR uclient01.iescalquera.local.
- Agora co comando named-checkzone imos comprobar que os ficheiros non teñen erros de sintaxe.
Configuración cliente DNS
Configuración DNS cliente no servidor dserver00
- O servidor DNS, dserver00, tamén é un cliente DNS pois os programas que se conecten a Internet precisan pasar nomes de dominio a IPs.
- Por tanto imos configurar a parte cliente DNS do servidor dserver00
Configuración DNS no cliente uclient01
- Agora tócalle a quenda ao equipo Ubuntu: uclient01.
Se probamos agora o funcionamento do servidor de DNS dende os equipos clientes, observaremos un comportamento un tanto raro: Co comando host obteremos correctamente a dirección IP dos equipos do noso dominio, pero non funcionará se intentamos conectarnos a eles usando por exemplo o comando ping. O problema está na configuración do ficheiro /etc/nsswitch.conf e un servizo chamado Avahi que non funciona correctamente se se usa o dominio .local.
En /etc/nsswitch.conf indícaselle 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.
Instantáneas do escenario 1.B
- Ao igual que se fixo no escenario 1.A imos crear unha instantánea no servidor dserver00 e no cliente uclient01. Nunca se sabe se precisaremos volver atrás.