# Creació d'un servidor DNS (bind9) (Pràctica en equips) > Pràctica feta per: > - Andy Paredes (cf21andy.paredes@iesjoandaustria.org) > - Adrián García (cf21adrian.garcia@iesjoandaustria.org) > - Yeray Reyes (cf21yeray.reyes@iesjoandaustria.org) > - Sergio Rodriguez (cf20sergio.rodriguez@iesjoandaustria.org) --- [Teoria de l'activitat](https://hackmd.io/@joaniznardo/dns-smxM7) :::info Primer actualitzem el repositori d'Ubuntu amb: ## **sudo apt-get update** ::: :::info A continuació instal·larem el "bind9" i "bind9utils" que són eines extres per a *bind9*. ## **sudo apt-get install bind9 bind9utils** ![](https://i.imgur.com/wl6wTYx.png) ::: :::info Seguidament, modificarem el fitxer de configuració de bind9 amb la comanda: ## **sudo vim /etc/bind/named.conf.local** ![](https://i.imgur.com/i24oXu9.png) A continuació haurem d'escriure els següents camps a mà, on indicarem les zones del nostre servidor DNS. ::: :::success Per indicar les zones haurem d'escriure a mà el següent: *Per la primera zona:* **zone "EL_NOM_DEL_NOSTRE_DOMINI" { type master; file "/etc/bind/db.EL_NOM_DEL_NOSTRE_DOMINI"; };** *Per la segona zona:* **zone "LA_NOSTRE_IP_INVERTIDA.in-addr.arpa" { type master; file "/etc/bind/db.LA_NOSTRE_IP_INVERTIDA.in-addr.arpa"; };** :warning: Fixeu-vos bé en la IP invertida, ja que no es col·loca tota la IP, només els 3 primers grups de nombres. ![](https://i.imgur.com/QQmR6t2.png) :::spoiler :question: **Perquè hi ha dues zones?** . Per fer un servidor DNS hem de fer dos arxius, un que converteixi el nostre **URL a IP** i un a la inversa. Localitza els fitxers: :one: Com es veu a la imatge de dalt declarem dues zones, la primera amb el nom del nostre domini. :two: L'altra zona declara el seu nom, el tipus i el fitxer on està la configuració, aquesta zona és la inversa. :8ball: Com podem veure el allow transfer esta comentat i explicat, ja que no l'utilitzarem ::: :::warning Comanda opcional per comprovar si les configuracions estan ben fetes ## **sudo named-checkconf** Si no ens mostra res és que estarà correcta la configuració ::: --- ## A continuació crearem el fitxer de configuració de la primera zona Per fer això necessitarem crear un fitxer que hem indicat abans: ![](https://i.imgur.com/YKkpgam.png) :::info Introduim la comanda: ## **sudo vim /etc/bind/db.yreyes.test** Aquesta comanda crearà un fitxer nou fitxer, ja que no hi ha ningun fitxer anomenat d'aquesta manera En aquest document introduirem el següent, **Explicat en el desplegable a baix** ![](https://i.imgur.com/5hVHXoH.png) :::spoiler Explicació :one: Introduïm el nom del nostre servidor de dominis amb un punt al final, en aquest cas -> **srv1.yreyes.test.** :two: Introduirem el nom del nostre domini acompanya de **root** al començament i un **.** al final.-> **root.yreyes.test.** :three: On està la IP, hem de col·locar la IP del nostre **client**, en el nostre cas la **10.21.64.31** :four: Aquí haurem de sustituir la IP per la IP del nostre servidor, en el nostre cas: **10.21.64.30** :yellow_heart: Les paraules en groc són com el nostre grup ha decidit possarli de nom al servidor i al client, pero es poden canviar per cualsevol altre :yellow_heart: :8ball: Tota la resta hem de copiar-ho tal com està ::: --- ## Anem a fer el fitxer invers Per fer la part inversa del nostre servidor DNS creem un fitxer invers que hem declarat abans ![](https://i.imgur.com/LDNL2c8.png) :::info ## **sudo vim /etc/bind/EL_ARXIU_MENCIONAT_ABANS** En aquest fitxer escriurem el següent, tenint en compte el**desplegable a abaix**: ![](https://i.imgur.com/4BEon5Y.jpg) :::spoiler Tingues en compte això :one: Introduïm el nostre servidor de domini amb un punt al final-> **srv1.yreyes.test.** :two: Introduirem el nom del nostre domini acompanya de **root** al començament i un **.** al final. -> **root.yreyes.test.** :three: Recordes els noms que hem assignat abans amb groc :yellow_heart:? Doncs ara hem de declarar-los aquí també amb: el_nom.EL_TEU_DOMINI -> **client01.yreyes.test** :four: Indiquem el nom de domini que hem donat al nostre servidor amb un punt al final, en el meu cas -> **srv1.yreyes.test.** :five: & :six: Posem els últims nombres de la IP: | *IP exeple* | *Resultat* | | ----------------- |:----------------------- | | 10.21.64.100 | 100 :8ball: Tota la resta hem de copiar-ho tal com està ::: :::warning Per comprovar que les zones estiguin correctament farem servir aquesta comanda **opcional** ## **sudo named-checkzone NOM_DE_LA_ZONA FITXER_DE_LA_ZONA** Recorda que tens dues zones i, per tant, ho hauràs de comprovar amb les ambdós :::spoiler Explicació . Aquest és el nostre fitxer de zones ![](https://i.imgur.com/Sh05IJs.png) Per fer aquesta comanda haurem de substituir el següent de la comanda de dalt (sudo named-checkzone...): | *Indicat a la comanda* | *Substituir per:* | | ----------------- |:----------------------- | | NOM_DE_LA ZONA | ![](https://i.imgur.com/Zra3hRC.png) La nostra zona es diu: **yreyes.test** | FITXER_DE_LA_ZONA | ![](https://i.imgur.com/rOWjqYZ.png) El nostre fitxer és: **/etc/bind/db.yreyes.test** `PER FER LA COMANDA DEL FITXER INVERS ÉS EXACTAMENT IGUAL` ::: :::success Resultats correctes de la comprovació anterior ![](https://i.imgur.com/Jtv1lkr.png) ![](https://i.imgur.com/bs2KR69.png) Si apareix **OK** es que la zona esta correcte ::: --- ## Ara configurarem el fitxer named.conf.options :::info Per configurar aquest fitxer l'obrirem amb el vi amb la següent comanda: ## **sudo vim /etc/bind/named.conf.options** ![](https://i.imgur.com/m5wSuHJ.png) A l'apartat 'forwarders' el **descomentarem traient les "//"** i el deixarem tal com està en la imatge :::warning :warning: Recorda descomentar el ""};"" :warning: ::: :::success Reiniciem el sistema amb la comanda: ## **sudo systemctl restart bind9** Si no ens apareix res, és que s'ha reiniciat correctament Per mirar l'estat del servei farem servir la comanda: ## **sudo systemctl status bind9** :::spoiler Resultat correcte ![](https://i.imgur.com/OwSbzvn.png) ::: --- # Apartat del client El client ha de tenir els següents requisits: - Tenir els dos ordinadors a la mateixa xarxa (mateix rang de IPs) - Que faci ping amb el servidor via IP ( que tingui connexió amb el servidor) :::info El primer que farem és **apagar** l'adaptador de xarxa 1, apareixerà com: **enp1s0** O si preferiu podeu canviar també el servidor DNS (no recomenat) ![](https://i.imgur.com/323uuie.png) A continuació configurarem l'adapatador de xarxa 2 amb els següents passos: - Has de tenir una IP fixa ( mitjans DHCP o IP estàtica ) - Configurar els DNS com manual i assignar la IP del teu servidor - Deixar la passarel·la en automàtic ![](https://i.imgur.com/1ZEfjzX.png) Després de fer les modificacions **apagarem i encendrem** l'adaptador de xarxa 2 ( enp2s0 ) ![](https://i.imgur.com/PW3gwSn.png) ::: :::success :::success Podem comprobar si es conecta al domini utilitzant: ## **nslookup NOM_DEL_DOMINI.test** ![](https://i.imgur.com/rozoD5a.png) ::: --- :::info ## També podem fer ping directament al servidor Amb el nom que hem definit abans: ![](https://i.imgur.com/xmHJzv0.png) ![](https://i.imgur.com/1du2ngK.png) **També podem connectarnos via SSH al servidor amb el nom** ![](https://i.imgur.com/BYGBv7o.png) :::spoiler **Com podem fer això?** Quan nosaltres substituïm la IP del nostre servidor per un nom el que realment estem fent és comunicar-nos amb el servidor DNS perquè ens digui la IP del domini. **Envia:** srv1.yreyes.test **El server DNS ho procesa** **Torna:** 10.21.64.30 ::: --- :::warning ## Fonts d'informació [sysdual.com](https://blog.sysdual.com/instalacion-y-configuracion-del-servicio-dns-en-ubuntu-server-20-04/) [redeszone.net](https://www.redeszone.net/tutoriales/servidores/configurar-servidor-dns-bind-linux/) [digitalocean.com](https://www.digitalocean.com/community/tutorials/how-to-configure-bind-as-a-private-network-dns-server-on-ubuntu-18-04-es) [zytrax.com](https://www.zytrax.com/books/dns/ch8/) Informació adicinal de companys Coneixements previs ::: > Pràctica feta per: > - Andy Paredes (cf21andy.paredes@iesjoandaustria.org) > - Adrián García (cf21adrian.garcia@iesjoandaustria.org) > - Yeray Reyes (cf21yeray.reyes@iesjoandaustria.org) > - Sergio Rodriguez (cf20sergio.rodriguez@iesjoandaustria.org)