# asixm8-2025 [TOC] # formulari benvinguda https://forms.gle/HL3UQnJYfg5hwDmFA # meet ## meet grup a meet.google.com/wai-dwbr-vqs ## meet grup b meet.google.com/xfi-tmvq-sor # formularis evidències (treball diari) ## grup a https://forms.gle/XLuuUZKheSSTL94z8 ## grup b https://forms.gle/MCi594485TTX49cQA # wifi w08078385 - gjdgjt7c4h # normes a classe - prohibit mòbils - prohibit menjar - prohibit auriculars ## recursos ### generals https://kodekloud.com/free-week - formació gratuïta 13-20 de setembre https://elmeuescriptori.gestioeducativa.gencat.cat/ - accés IsardVDI https://isard.gitlab.io/isardvdi-docs/ca/user/viewers/viewers/#descarrega-directa-de-programari - visor spice x windows [vim-cheatsheet](https://vim.rtorr.com/) [tutorial vim](https://victorhck.gitbook.io/aprende-vim/) ### docker https://hackmd.io/@joaniznardo/docker-ubuntu-2204-setup ### RA3 - http/s - Puc gestionar un o múltiples servidors web de manera que sempre puga oferir el contingut (dades) de manera segura i saber qui ho ha demanat? https://httpd.apache.org/ https://plataforma.josedomingo.org/pledin/cursos/apache24/ https://docs.nginx.com/nginx/admin-guide/web-server/serving-static-content/ https://www.netguru.com/blog/nginx-tutorial-basics-concepts https://hpbn.co/ https://www.digitalocean.com/community/tools/nginx https://nginx-playground.wizardzines.com/ https://knockdata.github.io/Nginx-Tutorial-Step-by-Step-with-Examples/ https://medium.com/@ksaquib/nginx-zero-to-hero-your-ultimate-guide-from-beginner-to-advanced-mastery-57e2dad6a77a https://www.freecodecamp.org/news/the-nginx-handbook/ https://everything.curl.dev/http/index.html [codis http](https://http.cat/) [brutal - nginx i backends](https://itnext.io/how-to-serve-your-backends-with-nginx-a-comprehensive-guide-c8a74955c6ed) ## primer dia ### meet grup a meet.google.com/wai-dwbr-vqs ### meet grup b meet.google.com/xfi-tmvq-sor ### alta dominis (un parell per cada) crear compte a la web i després ja se pot autenticar via google potser cal connectar les dades del mòbil un cop es pensen que estem fet un "atack" - dnsexit - dynu - duckdns ### adreça xarxa per persona 10.25.X.0/24 ### incidències alta isardVDI email a > joan.iznardo[at]iticbcn.cat < ## resum sessions ### sessio 01 - apache2 via http i https entre client i servidor - més enllà - activa el protocol http2 - comprovació via curl / http (ordre http que cal instal·lar) - multiples webs (per nom) al mateix apache2 (únic servidor) - personalització de la web retornada (dades) - accés des del propi ordena via vpn - qui m'està visitant? (en el server) - quins protocols intervenen? ### sessió extra - intro a docker - 20250918 Objectius: - gestionar imatges de docker - gestionar contenidors de docker - fer servir docker compose Més enllà: - creació d'una imatge a docker hub a partir de la imatge httpd que continga una web que mostre el teu nom ;) ### sessió 02 - servidor, servidor intermediari invers (reverse proxy) i distribuidor de càrrega (load balancer) Requeriments: instància amb docker instal·lat (m08dockerdesktop) Objectius: - descobrir nginx (bàsic) - descobrir com nginx pot actuar amb els 3 roles: servidor, proxy invers i distribuidor de càrrega - recuperar les dades d'una web via curl links: https://knockdata.github.io/Nginx-Tutorial-Step-by-Step-with-Examples/ https://github.com/rockie-yang/explore-nginx [nginx bàsic - techworld-with-Nana](https://www.youtube.com/watch?v=iInUBOVeBCc) [nginx server, reverse proxy, load balancer - tech with nana](https://www.youtube.com/watch?v=q8OleYuqntY) https://www.youtube.com/watch?v=xo5V9g9joFs [com funciona internament nginx - bytemonk](https://www.youtube.com/watch?v=I6dpN0geIb4&t) ### sessió 03 - certificats (a desenvolupament), redirecció (80 > 443), mòduls (http2) i logs (access i error) objectiu: descobrir tots els elements del títol de la sessió. ``` - certificats (a desenvolupament): instal·la mkcert i accedeix a nginx amb https i observa el candall del navegador - redirecció (80 > 443): configura el fitxer http.conf perque només faça la redirecció al port 443 (i aquí ja configurem tot en el fitxer https) - mòduls (http2): configura el fitxer https.conf perque permeta les connexions amb la versió http2 del protocol http. Comprova-ho amb curl. - logs (access i error): configura els fitxers http.conf i https.conf per que guarden els fitxers de logs d'accés i d'error. (docker els envia a pantalla) ``` ### sessió 04 - autenticació bàsica i monitoratge ``` autenticació: 1) autenticació bàsica Fes que calgui posar usuari i contrassenya per accedir a serving i no a searching monitoratge: 2) https://uptime.kuma.pet/ - com el faries servir? - pots posar-me un exemple simple (en local/ en públic (aws)) - un de més avançat - pots comprovar engegant i aturant searching si avisa o no? 3) fluentd (centralització de logs) https://docs.fluentd.org/container-deployment/docker-compose link complementari - https://geekyants.com/blog/a-comprehensive-guide-to-efficient-logging-with-efk-and-td-agent ``` ### sessió 05 - consolidació i activitats complementàries objectiu: Revisar les sessions 3 i 4 amb propostes d'ampliació. ``` activitats complementàries M8 - no guiades (en aquelles activitats de docker fes ús de docker compose i allotja el codi al teu github de l'institut): - desplega un wordpress no escalable (frontal i base de dades a la mateixa instància) en docker: (via docker compose amb un únic contenidor) - desplega un wordpress que siga potencialment escalable en docker (via docker compose: en 2 contenidors - frontal (nginx+php) i backend (mysql)) - desplega un wordpress que siga potencialment escalable en docker (via docker compose: en 2 contenidors - frontal (apache2+php) i backend (mysql)) - desplega un wordpress que siga molt més escalable: (via docker compose: 1 nginx com a LB - 2 contenidors frontals (nginx+php) i backend (mysql)) - genera la configuració d'nginx amb la utilitat nginxconfig (https://www.digitalocean.com/community/tools/nginx) i aplica-ho a algun dels exemples de step5 o step6 sessió 3 - porta a aws amb certificat pels teus dominis (dnsexit/dynu) amb certificat els step5 i step6 de la sessió 02 - guiades: - https://sagardash.me/make-your-nginx-api-gateway-with-auth-validation-7efd122a18d3 - propostes: - fes la teva proposta en l'àmbit de http/https. Valida (amb mi) que la proposta siga ajustada al que hem vist a classe. ``` ### sessió 06 - Processament de codi (php) amb nginx objectiu: comprovar les directives que ens calen per poder generar pàgines dinàmiques Punt de partida https://github.com/mjstealey/wordpress-nginx-docker/tree/master https://github.com/mjstealey/wordpress-nginx-docker.git https://12factor.net/ <!-- wordpress amb docker i amb certificat: autosignat/desenvolupament(mkcert)/acme.sh/certbot (localhost/jiznardo.test/demoasix2b.freeddns.org) --> -(r1) millorar el docker-compose amb volums -(r2) millorar el certificats amb mkcert (+domini elteudomini.test ) -(r3) millorar el cert amb certificat acme.sh i domini dynu/dnsexit (atenció a les etapes de la sol·licitud del certificat via dns challenge: https://github.com/acmesh-official/acme.sh/wiki/dns-manual-mode) - millora advanced: que no calga engegar per separat: depends_on advanced - proposa millores ### sessió 07 - Alta domini .cat i validació reptes sessió 06 (r3/r2) ![Screenshot_2025-10-29_18-10-54](https://hackmd.io/_uploads/Sy6Qsp1k-e.jpg) #### LLEGEIX >>*COMPLETAMENT*<< LES INSTRUCCIONS ABANS DE COMENÇAR!!!! Nominàlia - alta dominis - (aptes per menors i que no incloguen el teu nom i cognoms!!) 1) crear compte a nominàlia - **AMB EL COMPTE DE L'INS!!!!** 1.1) Amb el compte de l'institut però sense fer l'autenticació google: **CREAR NOU COMPTE!!** 1.2) https://controlpanel.nominalia.com/registration.html 1.3) penja captura de pantalla en pdf al resum m8 (al principi d'aquest document) 1.4) rebràs un email amb el codi de registre únic per fer l'alta al següent pas 2) accedir a https://projectewapps.cat/ 3) validar amb l'ordre "whois" que el domini no existeix 3.1) exemple: whois mhoinvente.cat (no hauria d'existir) 3.2) exemple: whois demoasixcloud2025.cat existeix 4) emplenar el formulari amb les teves dades !!!! ![Screenshot 2025-10-29 at 17-50-42 Inici](https://hackmd.io/_uploads/SkFHIpJJbe.png) 6.important) Correu electrònic de contacte: >>> adreça institut <<< 7) emplena el formulari del teu domini quan rebis la confirmació per part de nominàlia https://forms.gle/4CFEaTobsK5aKBxR9 8) **extra**: incorporació al github de l'institut: > https://github.com/orgs/iticbcn/sso ### sessió 08 - web amb certificat let's encrypt: ec2 + nginx + dnsexit/dynu + certbot **Objectiu**: desplegar web simple amb certificat de letsencrypt. > etapes manuals 1) crear ec2 en subnet pública 2) actualitzar domini amb la ip pública 3) instal·lar nginx 4) instal·lar certbot 5) demanar certificat Ampliacions: - automatitzar instal·lació nginx (ec2 - userdata (a.k.a. cloudinit)) - automatitzar sol·licitud actualització de ip del domini dnsexit (via api) - automatitzar certbot (necessita de les dues etapes anteriors) - fer còpia de seguretat en local del certificat i la clau (vital per tornar a recrear una vm, posar el certificat al lb...) referencies: cloud-init - https://cloud-init.io/ - https://cloudinit.readthedocs.io/en/latest/ - https://josejuansanchez.org/iaw/taller-cloud-init/ ### sessió 09 - Delegació del domini .cat a cloudflare **objectiu**: assegurar-nos que les propagacions dels registres del nostre domini són ràpides > etapes 1) alta a cloudflare 2) alta del mateix domini a cloudflare 3) canviar els dns a nominàlia 4) observar la propagació dels canvis (lenta) https://dnschecker.org/#NS/elteudomini.cat ### sessió 10 - Servidor de noms (BIND9 part 01) Objectiu: configurar un servidor de noms per a un domini (inicial-nom+primer-cognom.test) i un rang de ips (10.X.0.0/24) recursos: https://raw.githubusercontent.com/josedom24/presentaciones/main/servicios/bind9.pdf https://howdns.works https://bind9.readthedocs.io/en/v9.20.16/ https://zytrax.com/books/dns/ https://www.sysadminok.es/blog/hosting/servidor-dns-con-bind9-configuracion-y-seguridad/ docker-compose inicial ``` services: # ------------------------------------------------------- # DNS primari (El protagonista dels 3 reptes) # ------------------------------------------------------- dns-primari: image: ubuntu/bind9:latest container_name: dns-primari hostname: ns1 # Capacitats necessàries per bind en alguns entorns cap_add: - NET_ADMIN ports: - "5353:53/udp" # Accés des del host real (localhost:5353) - "5353:53/tcp" networks: xarxa_interna: ipv4_address: 172.20.0.10 xarxa_externa: ipv4_address: 172.21.0.10 volumes: # Mapegem la configuració perquè sigui persistent i editable des de fora - ./primari/conf:/etc/bind - ./primari/zones:/var/lib/bind environment: - BIND9_USER=bind restart: always # ------------------------------------------------------- # DNS secundari (Per al Repte 2) # ------------------------------------------------------- dns-secondary: image: ubuntu/bind9:latest container_name: dns-secondari hostname: ns2 networks: xarxa_interna: ipv4_address: 172.20.0.11 volumes: - ./secondari/conf:/etc/bind - ./secondari/zones:/var/lib/bind environment: - BIND9_USER=bind depends_on: - dns-master # ------------------------------------------------------- # CLIENT INTERN (Per validar reptes 1, 2 i la vista interna del 3) # ------------------------------------------------------- client-intern: image: nicolaka/netshoot container_name: client-intern networks: xarxa_interna: ipv4_address: 172.20.0.100 # Mantenim el contenidor encès command: tail -f /dev/null # ------------------------------------------------------- # CLIENT EXTERN (Per validar la vista externa del Repte 3) # ------------------------------------------------------- client-extern: image: nicolaka/netshoot container_name: client-extern networks: xarxa_externa: ipv4_address: 172.21.0.100 command: tail -f /dev/null # ------------------------------------------------------- # DEFINICIÓ DE XARXES # ------------------------------------------------------- networks: xarxa_interna: driver: bridge ipam: config: - subnet: 172.20.0.0/24 xarxa_externa: driver: bridge ipam: config: - subnet: 172.21.0.0/24 ``` docker-compose pas a pas ``` services: # ------------------------------------------------------- # DNS primari (El protagonista dels 3 reptes) # ------------------------------------------------------- dns-primari: image: ubuntu/bind9:latest container_name: dns-primari hostname: dns1.jiznardo.test # Capacitats necessàries per bind en alguns entorns cap_add: - NET_ADMIN ports: - "5353:53/udp" # Accés des del host real (localhost:5353) - "5353:53/tcp" networks: xarxa_interna: ipv4_address: 172.20.0.10 xarxa_externa: ipv4_address: 172.21.0.10 environment: - BIND9_USER=bind restart: always # ------------------------------------------------------- # DNS secundari (Per al Repte 2) # ------------------------------------------------------- dns-secundari: image: ubuntu/bind9:latest container_name: dns-secundari hostname: ns2 networks: xarxa_interna: ipv4_address: 172.20.0.11 environment: - BIND9_USER=bind depends_on: - dns-primari # ------------------------------------------------------- # CLIENT INTERN (Per validar reptes 1, 2 i la vista interna del 3) # ------------------------------------------------------- client-intern: #image: alpinelinux/bind-tools image: nicolaka/netshoot container_name: client-intern #volumes: # - ./client-intern/conf/resolv.conf:/etc/resolv.conf networks: xarxa_interna: ipv4_address: 172.20.0.100 # Mantenim el contenidor encès #command: tail -f /dev/null command: sleep infinity # ------------------------------------------------------- # CLIENT EXTERN (Per validar la vista externa del Repte 3) # ------------------------------------------------------- client-extern: image: nicolaka/netshoot container_name: client-extern networks: xarxa_externa: ipv4_address: 172.21.0.100 command: tail -f /dev/null # ------------------------------------------------------- # DEFINICIÓ DE XARXES # ------------------------------------------------------- networks: xarxa_interna: driver: bridge ipam: config: - subnet: 172.20.0.0/24 xarxa_externa: driver: bridge ipam: config: - subnet: 172.21.0.0/24 ``` instal·lar ssh server al client ``` sudo apt update && sudo apt install openssh-server ``` eliminar elements sense ús ``` docker system prune ``` ### sessió 11 - Servidor de noms (BIND9 part 02) Objectiu: configurar servidor de recolzament (secondary) links: https://hub.docker.com/r/internetsystemsconsortium/bind9 https://kb.isc.org/ https://github.com/joaniznardo/2018smxm7 ### sessió 12 - Servidor de noms (BIND9 part 03) Objectiu: Configurar "Split-Horizon" a bind9. ![m8diagrama](https://hackmd.io/_uploads/Hyer-oh-Ze.jpg) Tractem d'aconseguir que en funció d'on ens fan la consulta repondre una ip o una altra. ``` # visió interna docker compose exec -it client-ext dig www.jiznardo.test ; <<>> DiG 9.20.10 <<>> www.jiznardo.test ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 32915 ;; flags: qr aa rd; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1 ;; WARNING: recursion requested but not available ;; OPT PSEUDOSECTION: ; EDNS: version: 0, flags:; udp: 1232 ; COOKIE: 2c7673c895eadd8801000000692f092778db0492488d9427 (good) ;; QUESTION SECTION: ;www.jiznardo.test. IN A ;; ANSWER SECTION: www.jiznardo.test. 604800 IN A 10.50.0.30 ;; Query time: 3 msec ;; SERVER: 127.0.0.11#53(127.0.0.11) (UDP) ;; WHEN: Tue Dec 02 15:43:35 UTC 2025 ;; MSG SIZE rcvd: 90 ``` ``` # visió externa docker compose exec -it client-ext dig www.jiznardo.test ; <<>> DiG 9.20.10 <<>> www.jiznardo.test ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 32915 ;; flags: qr aa rd; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1 ;; WARNING: recursion requested but not available ;; OPT PSEUDOSECTION: ; EDNS: version: 0, flags:; udp: 1232 ; COOKIE: 2c7673c895eadd8801000000692f092778db0492488d9427 (good) ;; QUESTION SECTION: ;www.jiznardo.test. IN A ;; ANSWER SECTION: www.jiznardo.test. 604800 IN A 10.50.0.30 ;; Query time: 3 msec ;; SERVER: 127.0.0.11#53(127.0.0.11) (UDP) ;; WHEN: Tue Dec 02 15:43:35 UTC 2025 ;; MSG SIZE rcvd: 90 ``` ``` # transferència de zona dig axfr @192.168.50.10 jiznardo.test -k /etc/bind/tsig.key ; <<>> DiG 9.20.11-0ubuntu0.2-Ubuntu <<>> axfr @192.168.50.10 jiznardo.test -k /etc/bind/tsig.key ; (1 server found) ;; global options: +cmd jiznardo.test. 604800 IN SOA ns1.jiznardo.test. root.jiznardo.test. 2 604800 86400 2419200 604800 jiznardo.test. 604800 IN NS ns1.jiznardo.test. jiznardo.test. 604800 IN NS ns2.jiznardo.test. jiznardo.test. 604800 IN A 192.168.50.30 ftp.jiznardo.test. 604800 IN A 192.168.50.31 mail.jiznardo.test. 604800 IN A 192.168.50.30 ns1.jiznardo.test. 604800 IN A 192.168.50.10 ns2.jiznardo.test. 604800 IN A 192.168.50.11 www.jiznardo.test. 604800 IN A 192.168.50.30 jiznardo.test. 604800 IN SOA ns1.jiznardo.test. root.jiznardo.test. 2 604800 86400 2419200 604800 tsig-key. 0 ANY TSIG hmac-sha256. 1764691126 300 32 eFQfz7ULfWLytU254+j97kG5fF0yBoDjP7EYXvUujPc= 43760 NOERROR 0 ;; Query time: 15 msec ;; SERVER: 192.168.50.10#53(192.168.50.10) (TCP) ;; WHEN: Tue Dec 02 15:58:46 UTC 2025 ;; XFR size: 10 records (messages 1, bytes 373) ``` ### sessió 13 - Servidor de noms (BIND9 part 04) **Objectiu**: Gestionar els logs de bind9 i oferir seguretat respecte a les zones (DNSSEC) repte: (partint del lab18 i modificant up.sh pq no ature el server1) ``` ## logs - com puc separar la gestió dels logs entre consultes i la resta de registres ## seguretat - com puc assegurar la integritat de la informació de les zones (dominis) amb dnssec hora final: 19:20 ``` ### sessió 14 - Servidor de DHCP (ISC-KEA-DHCP part 01) **objectiu**: Treballar el servei de configuració de paràmetres de xarxa. Clona el següent repositori a una maquina d'isard ubuntu 24.04 ``` https://github.com/joaniznardo/kea-labs.git ``` Instal·la **containerlab** :wink: ``` curl -sL https://containerlab.dev/setup | sudo -E bash -s "all" ``` #### IMPORTANT: elimina qualsevol contenidor que estiga en marxa prèviament !! ``` docker ps | awk '{ print $1 }' | grep -vi containe | xargs docker kill docker system prune -f ``` (alternativa: gràcies Javi) ``` docker ps -q | xargs docker kill docker system prune -f ``` ***Recomanacions***: 1) conserva les ordres que vas introduint a algun lloc (nou fitxer al lab, per exemple) 2) pots comprovar les modificacions que fas front a l'originat amb ordres de git ;) Lab01 - bàsic - [ ] Configura els fitxers de configuració necessaris per repartir ips del rang d'ips assignat a principi de curs 10.25.X.0/24 (on X és el numeret assignat a cada alumne) - [ ] Comprova que el client demana i rep una ip vàlida - [ ] Comprova quina és la passarel·la associada al client - [ ] Comprova en el server quines ips s'han assignat - [ ] Allibera la ip del client i verifica que no te ip assoclada Lab01 - Ampliació 01 - [ ] Incorpora un nou client i que reba una altra ip vàlida - [ ] Mostrar la seqüencia "DORA" al server amb tcpdump!!! :stuck_out_tongue_winking_eye: - [ ] fes un stress test amb perfdhcp (atenció a la instal·lació sobre linux-alpine) ### sessió 15 - Servidor de DHCP (ISC-KEA-DHCP part 02) objectiu: demostrar i domininar els apartats 2 i 3 (vlans i HA) Lab02 - bàsic - [ ] Configura els fitxers de configuració necessaris per repartir ips del rang d'ips assignat a principi de curs 10.25.X.0/24 (on X és el numeret assignat a cada alumne) - [ ] Comprova que el client demana i rep una ip vàlida - [ ] Comprova quina és la passarel·la associada al client - [ ] Comprova en el server quines ips s'han assignat - [ ] Allibera la ip del client i verifica que no te ip assoclada - [ ] afegir una nova xarxa (modificar fitxers de configuració) - [ ] que cada xarxa reba servidors de noms diferents (1.1.1.1 i 1.0.0.1, 8.8.8.8 i 8.8.4.4, 9.9.9.9 i 149.112.112.112) - [ ] afegir nous clients (i que reben ips ;) Lab02 - Ampliació 02 - [ ] Convertir el servidor KEA en un router i que tothom (routers de xarxa i clients) surtin per ell - [ ] Afegir un nou router (ubuntu linux o alpine linux o ffrouting) al switch inicial i fer que tothom surti a internet per ell - [ ] fer captures de tcpdump del DORA dels 3 clients inicials ``` # ajuda extra pel tcpdump ip netns list ip netns exec clab-kea-lab-vlans-relay-vlan20 tcpdump -nni eth1 # TLDR: sudo ip netns exec clab-kea-lab-vlans-relay-vlan20 tcpdump -U -nni eth2 -w - | sudo wireshark -k -i - ``` - [ ] fer "stress test" amb dhcperf (des d'algun client) Lab03 - bàsic - [ ] Configura els fitxers de configuració necessaris per repartir ips del rang d'ips assignat a principi de curs 10.25.X.0/24 (on X és el numeret assignat a cada alumne) - [ ] que cada xarxa reba servidors de noms diferents (1.1.1.1 i 1.0.0.1, 8.8.8.8 i 8.8.4.4, 9.9.9.9 i 149.112.112.112) - [ ] Comprova que el client demana i rep una ip vàlida - [ ] Comprova quina és la passarel·la associada al client - [ ] Comprova en el server quines ips s'han assignat - [ ] Allibera la ip del client i verifica que no te ip assoclada - [ ] Atura un server i comprova que se continuen repartint les ips - [ ] Aixeca el server i comprova els logs del server que has aixecat i el que ja estava en marxa Lab03 - Ampliació 03 - [ ] Canvia l'esquema del server: passa de load balancing a host-standby - [ ] (difícil) Afegeix un nou server - [ ] (més difícil) desplaça els servidors de kea a les subxarxes corresponents (esquema a continuació) ![esquema-divertit](https://hackmd.io/_uploads/B11TaEpHWe.jpg) ### sessió 16 - Servidor de DHCP (ISC-KEA-DHCP part 03) Objectiu: descobrir i provar les etapes 4 i 5 Lab04 - bàsic - [ ] Accedeix al tauler de control d'stork i visualitza les ips que s'han repartit. Lab04 - avançat - [ ] Fes una reserva d'ip pel client de la vlan20 a través del panell de control d'stork Lab05 - bàsic - [ ] Accedeix al tauler de control de grafana i visualitza les ips que s'han repartit. Lab05 - avançat - [ ] Modifica el rang d'ips que poden donar els servers per tal que salte una alarma a grafana com a que no queden ips disponibles a una de les subxarxes ### Repte d'avaluació de DNS (fora d'hores de classe) **Objectiu**: Configurar els servidors de dns i de http/s per mostrar una o dues webs d'un o dos subdominis. Data màxima: - grup A > **dimarts 17 de febrer** - grup B > **dimecres 18 de febrer** Demostra que domines ***BIND9*** i el protocol ***HTTP/S i NGINX*** per posar una web (algú ha dit currículum? :upside_down_face: ) a una **ec2** de aws (subxarxa pública amb ip fixa) i que l'accés a aquesta se resolgui mitjançant de la delegació del subdomini **m08** del teu domini ***xxxxxxx.cat*** gestionat a **cloudflare**. Els dos servidors de noms estaràn a zones de disponibilitat diferents (volem alta disponibilitat) i també amb **ips fixes**. Un dels servidors actiuarà com a **principal** i l'altre com a ***secundari***. Inclou el ***certificat HTTPS*** a la web (cerbot/acme.sh/...). Exemple de nom de domini del servidor web: ***www.m08.demoasixcloud.cat*** ***Ampliació/Nota màxima***: els teus servidors gestionen 2 subdominis (m08 i m09) i exposes un **proxy invers** (ip fixa) que reenvia a **dos servidors en subxarxes privades** on cadascun d'ells gestiona una de les webs. **Inclou el certificat** de totes dues webs **al proxy invers**. Exemple dels noms de dominis: ***www.m08.demoasixcloud.cat / www.m09.demoasixcloud.cat.*** Se demana la **implementació** a aws academy, **screencast (compartit amb mi)** de la demo amb narració explicativa (max 4 min) i **documentació** (captures de pantalla amb breu explicació): **pdf** penjat a **M8-DNS**. ***Diagrama de la solució esperada*** ![m8dns](https://hackmd.io/_uploads/r1e0TOLUbe.jpg) ### sessió 17 - Servidor de DHCP (ISC-KEA-DHCP part 04 - troubleshooting) Objectiu: realitzar un procés sistemàtic en la resolució d'errors sobre dns i dhcp als labs de containerlab https://hackmd.io/@joaniznardo/containerlab-labs-troubleshooting