Diferència entre revisions de la pàgina «ASIX/M08/UF1/P11»

De Lordwektabyte Wiki
Salta a la navegació Salta a la cerca
m (Guillem ha mogut M08/UF1/P11 a ASIX/M08/UF1/P11 sense deixar una redirecció: Crear subnivell ASIX)
 
(Hi ha 14 revisions intermèdies del mateix usuari que no es mostren)
Línia 2: Línia 2:
 
==Enunciat==
 
==Enunciat==
 
Crea un servidor DNS a la maquina virtual CentOS amb la zona boeck.cat.
 
Crea un servidor DNS a la maquina virtual CentOS amb la zona boeck.cat.
 
 
Les proves en local NO SERVEIXEN. El client que farà servir el servidor serà l'amfitrió.
 
Les proves en local NO SERVEIXEN. El client que farà servir el servidor serà l'amfitrió.
  
Línia 10: Línia 9:
 
Primer de tot instal·laré l'editor de text que estic acostumat en comptes del que ve instal·lat amb la ''minimal'' de CentOS
 
Primer de tot instal·laré l'editor de text que estic acostumat en comptes del que ve instal·lat amb la ''minimal'' de CentOS
 
<source>yum install nano -y</source>
 
<source>yum install nano -y</source>
 +
 
També instal·larem ''wget'' per a poder descarregar arxius des de la xarxa, necessari per instal·lar Webmin.
 
També instal·larem ''wget'' per a poder descarregar arxius des de la xarxa, necessari per instal·lar Webmin.
 
<source>yum install wget -y</source>
 
<source>yum install wget -y</source>
  
També deshabilitarem SELinux per evitar problemes amb directives de seguretat
+
Deshabilitarem SELinux per evitar problemes amb directives de seguretat
 
<source>setenforce 0</source>
 
<source>setenforce 0</source>
 +
 
Per a fer-ho permanent, entre ''reboots'', podem editar <code>/etc/selinux/config</code> i editar la línia corresponent amb el valor <code>disabled</code>
 
Per a fer-ho permanent, entre ''reboots'', podem editar <code>/etc/selinux/config</code> i editar la línia corresponent amb el valor <code>disabled</code>
  
Línia 22: Línia 23:
 
Haurem d'instal·lar els paquets necessaris per al servidor DNS. En el meu cas, instal·laré el servidor BIND:
 
Haurem d'instal·lar els paquets necessaris per al servidor DNS. En el meu cas, instal·laré el servidor BIND:
 
<source>yum install bind bind-utils -y</source>
 
<source>yum install bind bind-utils -y</source>
 +
 
Veurem que se'ns instal·len altres dependències necessàries.
 
Veurem que se'ns instal·len altres dependències necessàries.
 
Una vegada instal·lat el podem engegar i habilitar l'inici ''on boot'' amb
 
Una vegada instal·lat el podem engegar i habilitar l'inici ''on boot'' amb
 
<source>systemctl start named
 
<source>systemctl start named
 
systemctl enable named</source>
 
systemctl enable named</source>
 +
 
Després haurem d'obrir el port corresponent al Firewall de manera que màquines de la xarxa puguin enviar peticions DNS en aquest servidor
 
Després haurem d'obrir el port corresponent al Firewall de manera que màquines de la xarxa puguin enviar peticions DNS en aquest servidor
 
<source>firewall-cmd --permanent --add-service=dns
 
<source>firewall-cmd --permanent --add-service=dns
 
firewall-cmd --reload</source>
 
firewall-cmd --reload</source>
 +
 
====Webmin====
 
====Webmin====
 
Des de la [http://www.webmin.com pàgina oficial de Webmin] anirem a la secció de [http://www.webmin.com/download.html descàrregues] i copiarem el link de l'arxiu RPM i el descarregarem al CentOS utilitzant ''wget''
 
Des de la [http://www.webmin.com pàgina oficial de Webmin] anirem a la secció de [http://www.webmin.com/download.html descàrregues] i copiarem el link de l'arxiu RPM i el descarregarem al CentOS utilitzant ''wget''
 
<source>wget https://prdownloads.sourceforge.net/webadmin/webmin-1.890-1.noarch.rpm</source>
 
<source>wget https://prdownloads.sourceforge.net/webadmin/webmin-1.890-1.noarch.rpm</source>
 +
 
Una vegada descarregat, podríem instal·lar-lo amb <code> rpm -i</code> però ho farem amb <code>yum install</code> per tal de resoldre dependències (si n'hi ha)
 
Una vegada descarregat, podríem instal·lar-lo amb <code> rpm -i</code> però ho farem amb <code>yum install</code> per tal de resoldre dependències (si n'hi ha)
 
<source>yum install ./webmin-1.890-1.noarch.rpm</source>
 
<source>yum install ./webmin-1.890-1.noarch.rpm</source>
 +
 
En efecte, s'instal·len moltes dependències (sobretot de ''perl''). Esperem que acabi la instal·lació. Quan acabi, podrem accedir a la interfície de webmin a través del port 10000 del CentOS (per HTTPS auto-signat); per tant, haurem d'afegir-lo a la configuració del Firewall
 
En efecte, s'instal·len moltes dependències (sobretot de ''perl''). Esperem que acabi la instal·lació. Quan acabi, podrem accedir a la interfície de webmin a través del port 10000 del CentOS (per HTTPS auto-signat); per tant, haurem d'afegir-lo a la configuració del Firewall
 
<source>firewall-cmd --add-port=10000/tcp --permanent
 
<source>firewall-cmd --add-port=10000/tcp --permanent
 
firewal-cmd --reload</source>
 
firewal-cmd --reload</source>
 +
 
Podem llistar els ports oberts al firewall per comprovar que almenys el corresponent al servei DNS i el 10000 per a webmin estiguin oberts
 
Podem llistar els ports oberts al firewall per comprovar que almenys el corresponent al servei DNS i el 10000 per a webmin estiguin oberts
 
<source>
 
<source>
Línia 57: Línia 64:
 
Si és correcte, podem navegar a https://192.168.56.50:10000 i veurem la pantalla de ''login'' del webmin acabat d'instal·lar
 
Si és correcte, podem navegar a https://192.168.56.50:10000 i veurem la pantalla de ''login'' del webmin acabat d'instal·lar
 
{{imatge|m08uf1a01pt1-1.png||thumb|Entrarem amb l'usuari del sistema ''root'' i la seva contrasenya}}
 
{{imatge|m08uf1a01pt1-1.png||thumb|Entrarem amb l'usuari del sistema ''root'' i la seva contrasenya}}
 +
 
Una vegada dins, veurem la pàgina principal/''dashboard'' del Webmin
 
Una vegada dins, veurem la pàgina principal/''dashboard'' del Webmin
 
{{imatge|m08uf1a01pt1-2.png||thumb|Ens surt un error d'un mòdul que no s'ha instal·lat}}
 
{{imatge|m08uf1a01pt1-2.png||thumb|Ens surt un error d'un mòdul que no s'ha instal·lat}}
 +
 
El mòdul necessari és <code>perl-digest-md5</code> i el podem instal·lar amb ''yum''
 
El mòdul necessari és <code>perl-digest-md5</code> i el podem instal·lar amb ''yum''
 
<source>yum install perl-digest-md5</source>
 
<source>yum install perl-digest-md5</source>
 +
 
Actualitzem la pàgina de Webmin i veurem, ara sí, el ''dashboard'' amb informació sobre el servidor
 
Actualitzem la pàgina de Webmin i veurem, ara sí, el ''dashboard'' amb informació sobre el servidor
 
{{imatge|m08uf1a01pt1-3.png}}
 
{{imatge|m08uf1a01pt1-3.png}}
Línia 67: Línia 77:
 
Des del panell de l'esquerra de Webmin podem desplegar ''Servers'' i obrir ''BIND DNS Server''
 
Des del panell de l'esquerra de Webmin podem desplegar ''Servers'' i obrir ''BIND DNS Server''
 
{{imatge|m08uf1a01pt1-4.png}}
 
{{imatge|m08uf1a01pt1-4.png}}
 +
 
Veiem diverses opcions per a configurar el servidor DNS i també les zones existents: ''localhost'', ''127.0.0.1'', etc. Per a crear la nova zona amb el nostre cognom (boeck.cat) farem clic a '''Create master zone'''
 
Veiem diverses opcions per a configurar el servidor DNS i també les zones existents: ''localhost'', ''127.0.0.1'', etc. Per a crear la nova zona amb el nostre cognom (boeck.cat) farem clic a '''Create master zone'''
 
{{imatge|m08uf1a01pt1-5.png}}
 
{{imatge|m08uf1a01pt1-5.png}}
 +
 
Omplirem el ''domain name'' amb el nostre cognom+''.cat'' com es demana i posarem també un correu electrònic (obligatori)
 
Omplirem el ''domain name'' amb el nostre cognom+''.cat'' com es demana i posarem també un correu electrònic (obligatori)
 
{{imatge|m08uf1a01pt1-6.png}}
 
{{imatge|m08uf1a01pt1-6.png}}
 +
 
Cliquem ''Create zone'' i automàticament ens portarà a la pantalla de control de la nova zona creada
 
Cliquem ''Create zone'' i automàticament ens portarà a la pantalla de control de la nova zona creada
 
{{imatge|m08uf1a01pt1-7.png}}
 
{{imatge|m08uf1a01pt1-7.png}}
 +
 +
Clicarem el primer botó de la primera fila ''Adresses (0)'' per a afegir registres A (nom{{fletxadreta}}adreça IP) i afegirem quatre registres de prova:
 +
:*a01.boeck.cat serà un CentOS minimal que servirà de client i tindrà IP 192.168.56.51
 +
:*a02.boeck.cat serà un CentOS minimal que servirà de client i tindrà IP 192.168.56.52
 +
:*dns.boeck.cat serà el registre que apuntarà aquest domini al servidor mateix que estic treballant (IP 192.168.56.50)
 +
:*fedora.boeck.cat correspon a la IP de la màquina anfitriona de les màquines virtuals, que comparteixen xarxa virtual i té IP 192.168.56.1
 +
{{imatge|m08uf1a01pt1-8.png}}
 +
 +
Una vegada afegits els registres, haurem de modificar la configuració del servidor DNS de manera que escolti i s'anuncïi com a tal a través de la xarxa ja que, per defecte, només escolta a ell mateix.
 +
{{imatge|m08uf1a01pt1-9.png||thumb|Des de la zona ''boeck.cat'' clicarem ''Edit config file''}}
 +
 +
{{imatge|m08uf1a01pt1-10.png}}
 +
 +
Webmin ens mostra un editor de l'arxiu via web on haurem de modificar la línia 13 i la 19 de manera que en comptes de ''127.0.0.1'' i ''localhost'' i figuri ''any''.
 +
{{imatge|m08uf1a01pt1-11.png||thumb|Canvis fets}}
 +
 +
Reiniciarem el servei de DNS
 +
<source>systemctl reload named</source>
 +
 +
==Prova de funcionament==
 +
===Local===
 +
Primer de tot, provaré de resoldre noms des del mateix servidor DNS fent servir <code>dig</code> i <code>ping</code>. Per a utilitzar el DNS que s'està executant al CentOS, hauré de modificar la configuració de la interfície de xarxa virtual corresponent a la <code>192.168.56.0/24</code> de manera que el servidor DNS sigui <code>192.168.56.50</code> (ell mateix). Puc fer-ho amb la comanda <code>nmtui</code>.
 +
Provaré de fer un ping a fedora.boeck.cat:
 +
<source>
 +
[root@m08uf1dns ~]# ping fedora.boeck.cat
 +
PING fedora.boeck.cat (192.168.56.1) 56(84) bytes of data.
 +
64 bytes from 192.168.56.1 (192.168.56.1): icmp_seq=1 ttl=64 time=0.316 ms
 +
64 bytes from 192.168.56.1 (192.168.56.1): icmp_seq=2 ttl=64 time=0.442 ms
 +
</source>
 +
 +
Efectivament, el nom de host es resol cap a la IP que he definit anteriorment. El següent pas és comprovar que aquesta resolució l'hagi fet el mateix CentOS on s'executa el BIND: 192.168.56.50
 +
<source>
 +
[root@m08uf1dns ~]# dig fedora.boeck.cat
 +
 +
; <<>> DiG 9.9.4-RedHat-9.9.4-61.el7_5.1 <<>> fedora.boeck.cat
 +
;; global options: +cmd
 +
;; Got answer:
 +
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 16603
 +
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 1
 +
 +
;; OPT PSEUDOSECTION:
 +
; EDNS: version: 0, flags:; udp: 4096
 +
;; QUESTION SECTION:
 +
;fedora.boeck.cat.              IN      A
 +
 +
;; ANSWER SECTION:
 +
fedora.boeck.cat.      38400  IN      A      192.168.56.1
 +
 +
;; AUTHORITY SECTION:
 +
boeck.cat.              38400  IN      NS      m08uf1dns.
 +
 +
;; Query time: 0 msec
 +
;; SERVER: 192.168.56.50#53(192.168.56.50)
 +
;; WHEN: dg nov 04 13:25:37 CET 2018
 +
;; MSG SIZE  rcvd: 84
 +
</source>
 +
De la mateixa manera, podem llegir en aquest ''output'' que el servidor 192.168.56.50 té un ''A Record'' per al nom ''fedora.boeck.cat'' que apunta a l'adreça ''192.168.56.1''. Per tant, és correcte.
 +
 +
Seria d'esperar, aleshores, que si poso en marxa 2 màquines més a la mateixa xarxa (corresponents a a01.boeck.cat i a02.boeck.cat) i les configuro per usar 192.168.56.50 com a DNS, també haurien de poder resoldre noms i connectar entre elles usant aquests noms de host.
 +
Les captures següents són simplement captures de pantalla de dues noves màquines CentOS minimal a les que he configurat la IP d'acord als registres A que corresponen als servidor DNS i la prova que cada una pot resoldre els noms de host existents al BIND
 +
===Xarxa virtual===
 +
====Configuració de xarxa dels hosts extres====
 +
:*a01.boeck.cat
 +
::'''IP''': 192.168.56.51
 +
::'''DNS''': 192.168.56.50
 +
{{imatge|m08uf1a01pt1-12.png}}
 +
 +
:*a02.boeck.cat
 +
::'''IP''': 192.168.56.52
 +
::'''DNS''': 192.168.56.50
 +
{{imatge|m08uf1a01pt1-13.png}}
 +
 +
====Prova de resolució de noms====
 +
:*El host a01 pot fer ping a fedora, a a02 i a dns
 +
{{imatge|m08uf1a01pt1-14.png}}
 +
 +
:*El host a02 pot fer ping a fedora, a a01 i a dns
 +
{{imatge|m08uf1a01pt1-15.png}}

Revisió de 11:21, 15 abr 2020

Enunciat

Crea un servidor DNS a la maquina virtual CentOS amb la zona boeck.cat. Les proves en local NO SERVEIXEN. El client que farà servir el servidor serà l'amfitrió.

Preliminar

Partirem d'una màquina virtual CentOS 7 minimal amb la IP 192.168.56.50. L'administració es farà a través d'SSH des de l'amfitrió de la MV.

Primer de tot instal·laré l'editor de text que estic acostumat en comptes del que ve instal·lat amb la minimal de CentOS

yum install nano -y

També instal·larem wget per a poder descarregar arxius des de la xarxa, necessari per instal·lar Webmin.

yum install wget -y

Deshabilitarem SELinux per evitar problemes amb directives de seguretat

setenforce 0

Per a fer-ho permanent, entre reboots, podem editar /etc/selinux/config i editar la línia corresponent amb el valor disabled

Procediment

Instal·lació de paquets

Servidor DNS

Haurem d'instal·lar els paquets necessaris per al servidor DNS. En el meu cas, instal·laré el servidor BIND:

yum install bind bind-utils -y

Veurem que se'ns instal·len altres dependències necessàries. Una vegada instal·lat el podem engegar i habilitar l'inici on boot amb

systemctl start named
systemctl enable named

Després haurem d'obrir el port corresponent al Firewall de manera que màquines de la xarxa puguin enviar peticions DNS en aquest servidor

firewall-cmd --permanent --add-service=dns
firewall-cmd --reload

Webmin

Des de la pàgina oficial de Webmin anirem a la secció de descàrregues i copiarem el link de l'arxiu RPM i el descarregarem al CentOS utilitzant wget

wget https://prdownloads.sourceforge.net/webadmin/webmin-1.890-1.noarch.rpm

Una vegada descarregat, podríem instal·lar-lo amb rpm -i però ho farem amb yum install per tal de resoldre dependències (si n'hi ha)

yum install ./webmin-1.890-1.noarch.rpm

En efecte, s'instal·len moltes dependències (sobretot de perl). Esperem que acabi la instal·lació. Quan acabi, podrem accedir a la interfície de webmin a través del port 10000 del CentOS (per HTTPS auto-signat); per tant, haurem d'afegir-lo a la configuració del Firewall

firewall-cmd --add-port=10000/tcp --permanent
firewal-cmd --reload

Podem llistar els ports oberts al firewall per comprovar que almenys el corresponent al servei DNS i el 10000 per a webmin estiguin oberts

[root@m08uf1dns ~]# firewall-cmd --list-all
public (active)
  target: default
  icmp-block-inversion: no
  interfaces: enp0s3 enp0s8
  sources: 
  services: ssh dhcpv6-client dns
  ports: 10000/tcp
  protocols: 
  masquerade: no
  forward-ports: 
  source-ports: 
  icmp-blocks: 
  rich rules:

Si és correcte, podem navegar a https://192.168.56.50:10000 i veurem la pantalla de login del webmin acabat d'instal·lar

Entrarem amb l'usuari del sistema root i la seva contrasenya


Una vegada dins, veurem la pàgina principal/dashboard del Webmin

Ens surt un error d'un mòdul que no s'ha instal·lat


El mòdul necessari és perl-digest-md5 i el podem instal·lar amb yum

yum install perl-digest-md5

Actualitzem la pàgina de Webmin i veurem, ara sí, el dashboard amb informació sobre el servidor

M08uf1a01pt1-3.png


Configuració de BIND mitjançant Webmin

Des del panell de l'esquerra de Webmin podem desplegar Servers i obrir BIND DNS Server

M08uf1a01pt1-4.png


Veiem diverses opcions per a configurar el servidor DNS i també les zones existents: localhost, 127.0.0.1, etc. Per a crear la nova zona amb el nostre cognom (boeck.cat) farem clic a Create master zone

M08uf1a01pt1-5.png


Omplirem el domain name amb el nostre cognom+.cat com es demana i posarem també un correu electrònic (obligatori)

M08uf1a01pt1-6.png


Cliquem Create zone i automàticament ens portarà a la pantalla de control de la nova zona creada

M08uf1a01pt1-7.png


Clicarem el primer botó de la primera fila Adresses (0) per a afegir registres A (nom →adreça IP) i afegirem quatre registres de prova:

  • a01.boeck.cat serà un CentOS minimal que servirà de client i tindrà IP 192.168.56.51
  • a02.boeck.cat serà un CentOS minimal que servirà de client i tindrà IP 192.168.56.52
  • dns.boeck.cat serà el registre que apuntarà aquest domini al servidor mateix que estic treballant (IP 192.168.56.50)
  • fedora.boeck.cat correspon a la IP de la màquina anfitriona de les màquines virtuals, que comparteixen xarxa virtual i té IP 192.168.56.1
M08uf1a01pt1-8.png


Una vegada afegits els registres, haurem de modificar la configuració del servidor DNS de manera que escolti i s'anuncïi com a tal a través de la xarxa ja que, per defecte, només escolta a ell mateix.

S'ha produït un error en crear la miniatura: No es pot desar la miniatura a la destinació
Des de la zona boeck.cat clicarem Edit config file


M08uf1a01pt1-10.png


Webmin ens mostra un editor de l'arxiu via web on haurem de modificar la línia 13 i la 19 de manera que en comptes de 127.0.0.1 i localhost i figuri any.

S'ha produït un error en crear la miniatura: No es pot desar la miniatura a la destinació
Canvis fets


Reiniciarem el servei de DNS

systemctl reload named

Prova de funcionament

Local

Primer de tot, provaré de resoldre noms des del mateix servidor DNS fent servir dig i ping. Per a utilitzar el DNS que s'està executant al CentOS, hauré de modificar la configuració de la interfície de xarxa virtual corresponent a la 192.168.56.0/24 de manera que el servidor DNS sigui 192.168.56.50 (ell mateix). Puc fer-ho amb la comanda nmtui. Provaré de fer un ping a fedora.boeck.cat:

[root@m08uf1dns ~]# ping fedora.boeck.cat
PING fedora.boeck.cat (192.168.56.1) 56(84) bytes of data.
64 bytes from 192.168.56.1 (192.168.56.1): icmp_seq=1 ttl=64 time=0.316 ms
64 bytes from 192.168.56.1 (192.168.56.1): icmp_seq=2 ttl=64 time=0.442 ms

Efectivament, el nom de host es resol cap a la IP que he definit anteriorment. El següent pas és comprovar que aquesta resolució l'hagi fet el mateix CentOS on s'executa el BIND: 192.168.56.50

[root@m08uf1dns ~]# dig fedora.boeck.cat 

; <<>> DiG 9.9.4-RedHat-9.9.4-61.el7_5.1 <<>> fedora.boeck.cat
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 16603
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;fedora.boeck.cat.              IN      A

;; ANSWER SECTION:
fedora.boeck.cat.       38400   IN      A       192.168.56.1

;; AUTHORITY SECTION:
boeck.cat.              38400   IN      NS      m08uf1dns.

;; Query time: 0 msec
;; SERVER: 192.168.56.50#53(192.168.56.50)
;; WHEN: dg nov 04 13:25:37 CET 2018
;; MSG SIZE  rcvd: 84

De la mateixa manera, podem llegir en aquest output que el servidor 192.168.56.50 té un A Record per al nom fedora.boeck.cat que apunta a l'adreça 192.168.56.1. Per tant, és correcte.

Seria d'esperar, aleshores, que si poso en marxa 2 màquines més a la mateixa xarxa (corresponents a a01.boeck.cat i a02.boeck.cat) i les configuro per usar 192.168.56.50 com a DNS, també haurien de poder resoldre noms i connectar entre elles usant aquests noms de host. Les captures següents són simplement captures de pantalla de dues noves màquines CentOS minimal a les que he configurat la IP d'acord als registres A que corresponen als servidor DNS i la prova que cada una pot resoldre els noms de host existents al BIND

Xarxa virtual

Configuració de xarxa dels hosts extres

  • a01.boeck.cat
IP: 192.168.56.51
DNS: 192.168.56.50
M08uf1a01pt1-12.png


  • a02.boeck.cat
IP: 192.168.56.52
DNS: 192.168.56.50
M08uf1a01pt1-13.png


Prova de resolució de noms

  • El host a01 pot fer ping a fedora, a a02 i a dns
M08uf1a01pt1-14.png


  • El host a02 pot fer ping a fedora, a a01 i a dns
M08uf1a01pt1-15.png