Diferència entre revisions de la pàgina «ASIX/M08/UF1/P11»
m (Guillem ha mogut M08/UF1/P11 a ASIX/M08/UF1/P11 sense deixar una redirecció: Crear subnivell ASIX) |
|||
(Hi ha 28 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 11: | Línia 10: | ||
<source>yum install nano -y</source> | <source>yum install nano -y</source> | ||
− | També | + | També instal·larem ''wget'' per a poder descarregar arxius des de la xarxa, necessari per instal·lar Webmin. |
+ | <source>yum install wget -y</source> | ||
+ | |||
+ | 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> | ||
==Procediment== | ==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: | 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==== | ||
+ | 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> | ||
+ | |||
+ | 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> | ||
+ | |||
+ | 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 | ||
+ | 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 | ||
+ | <source> | ||
+ | [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: | ||
+ | </source> | ||
+ | |||
+ | 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}} | ||
+ | |||
+ | 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}} | ||
+ | |||
+ | El mòdul necessari és <code>perl-digest-md5</code> i el podem instal·lar amb ''yum'' | ||
+ | <source>yum install perl-digest-md5</source> | ||
+ | |||
+ | Actualitzem la pàgina de Webmin i veurem, ara sí, el ''dashboard'' amb informació sobre el servidor | ||
+ | {{imatge|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'' | ||
+ | {{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''' | ||
+ | {{imatge|m08uf1a01pt1-5.png}} | ||
+ | |||
+ | Omplirem el ''domain name'' amb el nostre cognom+''.cat'' com es demana i posarem també un correu electrònic (obligatori) | ||
+ | {{imatge|m08uf1a01pt1-6.png}} | ||
+ | |||
+ | Cliquem ''Create zone'' i automàticament ens portarà a la pantalla de control de la nova zona creada | ||
+ | {{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
Contingut
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
Una vegada dins, veurem la pàgina principal/dashboard del Webmin
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
Configuració de BIND mitjançant Webmin
Des del panell de l'esquerra de Webmin podem desplegar Servers i obrir BIND DNS Server
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
Omplirem el domain name amb el nostre cognom+.cat com es demana i posarem també un correu electrònic (obligatori)
Cliquem Create zone i automàticament ens portarà a la pantalla de control de la nova zona creada
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
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.
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.
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
- a02.boeck.cat
- IP: 192.168.56.52
- DNS: 192.168.56.50
Prova de resolució de noms
- El host a01 pot fer ping a fedora, a a02 i a dns
- El host a02 pot fer ping a fedora, a a01 i a dns