Differences

This shows you the differences between two versions of the page.

Link to this comparison view

rl:teme:tema2 [2025/11/27 17:13]
florin.stancu
rl:teme:tema2 [2025/12/09 22:01] (current)
florin.stancu
Line 2: Line 2:
  
  * **Publicare**:​  * **Publicare**:​
-    * //**2025-11-30 13:00**//+    * //**2025-12-02 11:00**//
  
  * **Termen de predare**:  * **Termen de predare**:
-    * //​**2025-12-14 23:55 - <color red>​deadline HARD!</​color>​ **//+    * //​**2025-12-15 23:55 - <color red>​deadline HARD!</​color>​ **//
  
 +**Revizii: **
 +    * **//​2025-12-09 22:00//:** Checker v2025.5.1: resolvat UDP listenerul la task 5 + enable systemd lingering pt tmux ca workaround la deconectările de la SSH (vedeți forum local infrastructure pentru folosire)!
 +    * **//​2025-12-08 18:00//:** Checker v2025.4: rezolvat problema cu dimensiune arhivă prea mare dacă v-ați conectat cu vscode (yep, ocupă ceva partea auto-instalată pe server)!
 +    * **//​2025-12-05 23:00//:** Task 06 (DNAT): modificare enunț! host portul 18000+H trebuie să ducă către serverul HTTP al României (ori suntem daci ori nu mai suntem)! Checkerul deja verifica asta :D A fost schimbare de ultim moment (task-ul fiind mult mai dificil dacă se făcea DNAT spre Italy datorită rutelor multiple) și am uitat de enunț...
 +    * **//​2025-12-04 16:45//:** Checker v2025.3: another day, another bug... UPDATE toți cei de pe OpenStack, am făcut optimizări drastice asupra memoriei utilizate de checker (cleanup) + 1GB zswap!
 +    * **//​2025-12-03 22:20//:** Checker v2025.2: pus enforcement ca să nu mai funcționeze trolleala cu reboot pe OpenStack, UPDATE ASAP!
 +    * **//​2025-12-03 9:30//:** Checker v2025.1: reparat problema cu ''​t2check --save''​ pe OpenStack (crăpa conexiunea SSH din cauza cloud-init-ului care, când repornea, repornea automat și serviciul networking chiar dacă era totul OK); ACUM MERGE SAVE-ul (doamne-ajută)!
 +    * **//​2025-12-02 21:00//:** Imagine pe OpenStack //​v2025.1//:​ pus lock la password auth pe student! GATA, ne calmăm cu ASCII "​art"​-ul prin consolele altora, da?
 +    * **//​2025-12-02 11:00//:** Tema a fost lansată ;)
 <ifauth @rl> <ifauth @rl>
 **Cine vede ce este mai jos este asistent ;)** **Cine vede ce este mai jos este asistent ;)**
  
-**Revizii: ** 
-    * **//​2025-11-yy hh:mm//:** Reparat ceva 
-    * **//​2025-11-30 13:00//:** Tema a fost lansată ;) 
 </​ifauth>​ </​ifauth>​
  
-<ifauth @rl> 
 Tema constă în realizarea configurației unui set de exerciții pe o topologie (vedeți mai jos) simulată folosind containere (implementare în ContainerNet + Docker) într-o mașină virtuală (ori în cloud - OpenStack, ori descărcată și rulată local). Tema constă în realizarea configurației unui set de exerciții pe o topologie (vedeți mai jos) simulată folosind containere (implementare în ContainerNet + Docker) într-o mașină virtuală (ori în cloud - OpenStack, ori descărcată și rulată local).
  
Line 22: Line 27:
 Fiecare exercițiu are un punctaj propriu. Nota pe întreaga temă este dată de suma punctajelor acumulate în urma rezolvării fiecărui exercițiu. Fiecare exercițiu are un punctaj propriu. Nota pe întreaga temă este dată de suma punctajelor acumulate în urma rezolvării fiecărui exercițiu.
  
-Punctajul maxim care se poate obține pe întreaga temă este 100 de puncte (tot ce este peste se trunchiază strict, per temă). Acest punctaj este echivalent cu **puncte** din nota finală.+Punctajul maxim care se poate obține pe întreaga temă este 100 de puncte (tot ce este peste se trunchiază strict, per temă). Acest punctaj este echivalent cu **1.3 puncte** din nota finală.
  
 Există **și** exerciții bonus, cu ajutorul cărora puteți obține un total de 125 de puncte (remember: se trunchiază,​ dar pot fi folosite pentru a completa punctaj parțial la alte task-uri ne-esențiale -- vedeți mai jos). Există **și** exerciții bonus, cu ajutorul cărora puteți obține un total de 125 de puncte (remember: se trunchiază,​ dar pot fi folosite pentru a completa punctaj parțial la alte task-uri ne-esențiale -- vedeți mai jos).
Line 51: Line 56:
  
   * <color green>​Imaginea locală este acum disponibilă!</​color>​   * <color green>​Imaginea locală este acum disponibilă!</​color>​
-  * Pentru a rula mașina virtuală a temei local, **o puteți descărca [[https://​repository.grid.pub.ro/​cs/​rl/​TODO_RL_T2_ARHIVA.7z|de la acest URL]]** (//6GB dezarhivat//​).+  * Pentru a rula mașina virtuală a temei local, **o puteți descărca [[https://​repository.grid.pub.ro/​cs/​rl/​vm/​RL_Tema2_2025.0_Local.7z|de la acest URL]]** (//6GB dezarhivat//​).
     * Va trebui să vă autentificați cu username + parola contului de la universitate!     * Va trebui să vă autentificați cu username + parola contului de la universitate!
   * VM-ul este compatibil atât cu VirtualBox (testat cu 7.1), cât și VMWare (Workstation >= 17). Pe Linux, poate fi rulat și prin qemu+kvm.   * VM-ul este compatibil atât cu VirtualBox (testat cu 7.1), cât și VMWare (Workstation >= 17). Pe Linux, poate fi rulat și prin qemu+kvm.
Line 117: Line 122:
 </​code>​ </​code>​
  
-  * Dacă sunt probleme, puteți să postați un mesaj pe thread-ul aferent de pe [[TODO-moodle-forum|forum]];​+  * Dacă sunt probleme, puteți să postați un mesaj pe thread-ul aferent de pe [[https://​curs.upb.ro/​2025/​mod/​forum/​view.php?​id=77332|forum]];
  
 === Predarea (upload-ul) soluției === === Predarea (upload-ul) soluției ===
Line 124: Line 129:
   - Rezultatul este o arhivă semnată în directorul în care invocați comanda (''​$PWD''​).   - Rezultatul este o arhivă semnată în directorul în care invocați comanda (''​$PWD''​).
   - Folosind utilitarul ''​scp'',​ copiați acest fișier pe stația voastră locală (atenție să nu încurcați directoarele și să copiați o arhivă veche / salvată în altă parte!). Dacă sunteți conectat la OpenStack prin serverul intermediar ''​fep.grid.pub.ro'',​ va trebui să copiați mai întâi acolo, apoi s-o preluați pe stația voastră de lucru (alternativ,​ puteți folosi funcționalitatea de ''​JumpHost''​ (opțiunea ''​-J''​) a clientului ''​scp''​ pentru o conexiune directă).   - Folosind utilitarul ''​scp'',​ copiați acest fișier pe stația voastră locală (atenție să nu încurcați directoarele și să copiați o arhivă veche / salvată în altă parte!). Dacă sunteți conectat la OpenStack prin serverul intermediar ''​fep.grid.pub.ro'',​ va trebui să copiați mai întâi acolo, apoi s-o preluați pe stația voastră de lucru (alternativ,​ puteți folosi funcționalitatea de ''​JumpHost''​ (opțiunea ''​-J''​) a clientului ''​scp''​ pentru o conexiune directă).
-  - Încărcați arhiva pe [[TODO-moodle|Assignment Tema 2]] (Moodle).+  - Încărcați arhiva pe [[https://​curs.upb.ro/​2025/​mod/​assign/​view.php?​id=77330|Assignment Tema 2]] (Moodle).
  
 <note important>​Este **obligatoriu** ca rezolvarea exercițiilor să se facă în mod persistent. La o repornire a mașinii virtuale, rezolvările trebuie să rămână active, altfel puteți întâmpina dificultăți la o revenire ulterioară asupra temei. <note important>​Este **obligatoriu** ca rezolvarea exercițiilor să se facă în mod persistent. La o repornire a mașinii virtuale, rezolvările trebuie să rămână active, altfel puteți întâmpina dificultăți la o revenire ulterioară asupra temei.
Line 179: Line 184:
 ==== Discuții legate de temă ==== ==== Discuții legate de temă ====
  
-Toate discuțiile legate de probleme/​întrebări/​exerciții din tema de RL trebuie puse pe [[TODO-moodle-forum|forumul temei]].+Toate discuțiile legate de probleme/​întrebări/​exerciții din tema de RL trebuie puse pe [[https://​curs.upb.ro/​2025/​mod/​forum/​view.php?​id=77332|forumul temei]].
 Reguli de utilizare ale acestui forum: Reguli de utilizare ale acestui forum:
  
Line 238: Line 243:
 === Ex. 2 [15p] Adresare IPv6 === === Ex. 2 [15p] Adresare IPv6 ===
  
-  - Configurați adrese IPv6 pentru toate echipamentele din rețeaua ''​VLAN10''​ și ''​VLAN6''​ (notă: ​variabila ​''​$VLANID'' ​va avea valoarea 10respectiv 6, cu zero-uri în față până la completarea segmentului de 16 biți): +  - Configurați adrese IPv6 pentru toate echipamentele din rețeaua ''​VLAN10''​ și ''​VLAN6''​ (notă: ​considerați variabilele ​''​$A'', ​''​$B''​ etc. + ''​$VLANID''​ literal ​-- adică le interpolați direct ca text, i.e. considerându-le ca fiind deja scrise în hexazecimale): 
-    * Folosiți spațiul ''​2025:​B3H3:​$B:​$A:​$VLANID::/​112''​.+    * Folosiți spațiul ''​2025:​B3F3:​$B:​$A:​$VLANID::/​112''​.
     * Aceeași ordine de asignare ca la IPv4.     * Aceeași ordine de asignare ca la IPv4.
   - Configurați conectivitate IPv6 între ''​Italy''​ și ''​host'':​   - Configurați conectivitate IPv6 între ''​Italy''​ și ''​host'':​
Line 276: Line 281:
  
   * Configurați **filtrarea** de pachete pe rutere (alegeți echipamentul potrivit, după caz), astfel:   * Configurați **filtrarea** de pachete pe rutere (alegeți echipamentul potrivit, după caz), astfel:
 +    * blocați pachetele ''​telnet''​ de la ''​Dani''​ și ''​Ionut''​ spre ''​Carabinieri'';​
     * pe echipamentul ''​Italy'':​ blocați toate pachetele TCP + UDP pe porturile destinație ''​6000-7999''​ (trebuie să blocați atât pachetele destinate, cât și cele ce tranzitează ruterul!);     * pe echipamentul ''​Italy'':​ blocați toate pachetele TCP + UDP pe porturile destinație ''​6000-7999''​ (trebuie să blocați atât pachetele destinate, cât și cele ce tranzitează ruterul!);
-      * ca **excepție**,​ permiteți traficul de pe portul ''​6900 + $D''​!+      * ca **excepție**,​ permiteți traficul de pe portul ''​6900 + $C''​!
     * blocați TOATE conexiunile spre stația ''​Jilava'',​ mai puțin protocoalele ''​icmp'',​ ''​ssh''​ și ''​smtp''​ (vor fi necesare la alte exerciții);​     * blocați TOATE conexiunile spre stația ''​Jilava'',​ mai puțin protocoalele ''​icmp'',​ ''​ssh''​ și ''​smtp''​ (vor fi necesare la alte exerciții);​
       - **atenție**:​ NU blocați conexiunile inițiate de ''​Jilava''​ **și nici răspunsurile** serverelor la acestea => Folosiți reguli **stateful** (i.e. connection tracking)!       - **atenție**:​ NU blocați conexiunile inițiate de ''​Jilava''​ **și nici răspunsurile** serverelor la acestea => Folosiți reguli **stateful** (i.e. connection tracking)!
Line 283: Line 289:
 === Ex. 6 [10p] Network Address Translation === === Ex. 6 [10p] Network Address Translation ===
  
-  * Configurați reguli de **DNAT** pe sistemele ''​Napoli''​ și ''​host''​ (după caz), astfel: +  * Configurați reguli de **DNAT** pe sistemele ''​Italy''​ și ''​host''​ (după caz), astfel: 
-    * Conexiunile pe ''​host''​ la portul ''​(18000 + $H)''​ să conducă la conectarea pe serverul web al sistemului ''​Jilava''​. +    * Conexiunile pe ''​host''​ la portul ''​(18000 + $H)''​ să conducă la conectarea pe serverul web al sistemului ''​Romania''​. 
-    * Conectarea pe ''​Italy''​ la portul ''​(8000 + $J)''​ să conducă la conectarea la ''​telnet''​-ul pe sistemul ''​Carabinieri'',​ însă DOAR DE LA SISTEMUL ''​Jilava''​.+    * Conectarea pe ''​Italy''​ la portul ''​(8000 + $J)''​ să conducă la conectarea la ''​ssh''​-ul pe sistemul ''​Ionut'',​ însă DOAR DE LA SISTEMUL ''​Jilava''​.
     * **Sfat**: aveți grijă cum testați: DNAT-ul va funcționa DOAR dacă veniți dintr-o rețea externă (e.g., un ruter din altă direcție rețelei vizate)!     * **Sfat**: aveți grijă cum testați: DNAT-ul va funcționa DOAR dacă veniți dintr-o rețea externă (e.g., un ruter din altă direcție rețelei vizate)!
-  * Faceți reguli de **SNAT** astfel încât, la conectarea (expedierea mesajelor) de pe sistemul ''​Carabinieri''​ către trackerele (ascunse) ale stațiilor ''​Dani''​ și ''​Ionut'',​ IP-ul sursă ​ale acesteia ​să fie ascuns/​înlocuit (nu contează ruterul pe care faceți asta). NU faceți translatare de sursă la alte porturi decât cele vizate (i.e., ale trackerelor)!+  * Faceți reguli de **SNAT** astfel încât, la conectarea (expedierea mesajelor) de pe sistemul ''​Carabinieri''​ către trackerele (ascunse) ale stațiilor ''​Dani''​ și ''​Ionut'',​ IP-ul sursă ​al cererilor ​să fie ascuns/​înlocuit (nu contează ruterul ​de pe care faceți asta). NU faceți translatare de sursă la alte porturi decât cele vizate (i.e., ale trackerelor)!
  
 === Ex. 7 [10p] Chei SSH === === Ex. 7 [10p] Chei SSH ===
  
-  * Configurați cheile publice ale utilizatorilor ''​student''​ de pe echipamentele ''​Dani''​ și ''​Ionut'',​ astfel încât autentificarea acestora pe contul ''​facultate@Jilava''​ să se facă fără parolă;+  * Configurați cheile publice ale utilizatorilor ''​student''​ de pe echipamentele ''​Dani''​ și ''​Ionut'',​ astfel încât autentificarea acestora pe contul ''​student@Jilava''​ să se facă fără parolă;
   * Similar, faceți ca autentificarea de pe contul ''​root@Carabinieri''​ la ''​root@Dani''​ și ''​root@Ionut''​ să se facă cu chei publice, fără parolă!   * Similar, faceți ca autentificarea de pe contul ''​root@Carabinieri''​ la ''​root@Dani''​ și ''​root@Ionut''​ să se facă cu chei publice, fără parolă!
   * Folosind [[https://​collectiveidea.com/​blog/​archives/​2011/​02/​04/​how-to-ssh-aliases/​|alias-uri SSH]], configurați următoarele:​   * Folosind [[https://​collectiveidea.com/​blog/​archives/​2011/​02/​04/​how-to-ssh-aliases/​|alias-uri SSH]], configurați următoarele:​
-    * de pe ''​Dani''​ și ''​Ionut'',​ din contul ''​student''​ al fiecăruia, comanda ''​ssh facultate''​ să ducă către ''​facultate@Jilava'';​+    * de pe ''​Dani''​ și ''​Ionut'',​ din contul ''​student''​ al fiecăruia, comanda ''​ssh facultate''​ să ducă către ''​student@Jilava'';​
     * de pe sistemul ''​Carabinieri'',​ ca ''​root'',​ ''​ssh dani''​ și ''​ssh ionut''​ să ducă către ''​root@Dani'',​ respectiv ''​root@Ionut'';​     * de pe sistemul ''​Carabinieri'',​ ca ''​root'',​ ''​ssh dani''​ și ''​ssh ionut''​ să ducă către ''​root@Dani'',​ respectiv ''​root@Ionut'';​
     * pentru a primi punctaj, este necesară autentificarea fără parolă (i.e., primele sub-task-uri să fie făcute)!     * pentru a primi punctaj, este necesară autentificarea fără parolă (i.e., primele sub-task-uri să fie făcute)!
Line 305: Line 311:
  
   * Creați, pe sistemul ''​Jilava'',​ un script: ''/​root/​scripts/​request-extradition''​ care, la rulare, trimită către ''​polizia@Napoli''​ câte un email (per rulare) de forma (aproximativă):<​code>​   * Creați, pe sistemul ''​Jilava'',​ un script: ''/​root/​scripts/​request-extradition''​ care, la rulare, trimită către ''​polizia@Napoli''​ câte un email (per rulare) de forma (aproximativă):<​code>​
 +From: admin@Jilava
 To: polizia@Napoli To: polizia@Napoli
 Subject: Richiesta di estradizione #<ID> Subject: Richiesta di estradizione #<ID>
Line 319: Line 326:
     * În locul lui ''<​ID>''​ să fie un număr random unic fiecărei rulări!! (e.g., ''#​61''​).     * În locul lui ''<​ID>''​ să fie un număr random unic fiecărei rulări!! (e.g., ''#​61''​).
     * Mesajul poate fi în orice formă, atâta timp cât conține câteva fragmente din propozițiile cerute!     * Mesajul poate fi în orice formă, atâta timp cât conține câteva fragmente din propozițiile cerute!
-  * Pe stația ''​Dani'',​ faceți un script care citește toate mailurile de pe sistemul ''​Napoli''​ și trimite reply cu subiectul ''​Extradition request blocked'',​ iar în corpul mesajului, câte un link random de youtube, e.g.:+  * Pe stația ''​Dani'',​ faceți un script, ''/​root/​scripts/​mafia.sh'', ​care citește ​și apoi șterge ​toate mailurile de pe sistemul ''​Napoli''​ și trimite reply cu subiectul ''​Extradition request ​#<​ID> ​blocked'' ​(păstrându-se ID-ul original!), iar în corpul mesajului, câte un link random de youtube, e.g.:
     * [[https://​www.youtube.com/​watch?​v=3_lluKG55eU]]     * [[https://​www.youtube.com/​watch?​v=3_lluKG55eU]]
   * Pentru autentificare pe serverul de mail (atât IMAP cât și SMTP) de pe ''​Napoli'',​ folosiți credențialele:​   * Pentru autentificare pe serverul de mail (atât IMAP cât și SMTP) de pe ''​Napoli'',​ folosiți credențialele:​
Line 328: Line 335:
 === Ex. 9 [10p] Transfer Cultural === === Ex. 9 [10p] Transfer Cultural ===
  
-  * Așa cum spuneam, trebuie ​-i acomodăm pe cei 2 cât de bine putem...+  * Pentru ca Dani și Ionuț ​să aibe condiții premium ​de cazare, avem nevoie de următorul setup:
   * Așadar, pe ''​Jilava'':​ realizați un script la ''/​home/​student/​scripts/​auto-release-albums.sh''​ care să sincronizeze automat fișiere noi, cu următoarele caracteristici:​   * Așadar, pe ''​Jilava'':​ realizați un script la ''/​home/​student/​scripts/​auto-release-albums.sh''​ care să sincronizeze automat fișiere noi, cu următoarele caracteristici:​
     * Sursă, de pe ''​Jilava'':​ ''/​home/​student/​Music/'';​     * Sursă, de pe ''​Jilava'':​ ''/​home/​student/​Music/'';​
     * Destinație:​ ''​Italy:/​var/​www/​export/''​!     * Destinație:​ ''​Italy:/​var/​www/​export/''​!
     * a se păstra structura directoarelor,​ începând cu rădăcina (e.g., ''​~/​Music/​mafia/​sa_ma_feresc.mp3''​ să ajungă la ''/​var/​www/​export/​mafia/​sa_ma_feresc.mp3''​ pe ''​Italy''​);​     * a se păstra structura directoarelor,​ începând cu rădăcina (e.g., ''​~/​Music/​mafia/​sa_ma_feresc.mp3''​ să ajungă la ''/​var/​www/​export/​mafia/​sa_ma_feresc.mp3''​ pe ''​Italy''​);​
-    * ignorați la sursă (i.e., nu copiați deloc!) fișierele ascunse (cele cu ''​.''​) sau cele care conțin următoarele substring-uri în denumirea fișierului:​ ''​garda'',​ ''​politia'',​ ''​arest'';​+    * ignorați la sursă (i.e., nu copiați deloc!) fișierele ascunse (cele cu ''​.''​) sau cele care conțin următoarele substring-uri în denumirea fișierului:​ ''​garda'',​ ''​politia'',​ ''​cyka''​, ''​salam''​ (atât variante lower-case, cât și ''​C''​apitalizate);
     * NU aveți voie să modificați ownerul/​permisiunile directorului destinație (verificați-le înainte pentru a vedea cum trebuie să ajungă);     * NU aveți voie să modificați ownerul/​permisiunile directorului destinație (verificați-le înainte pentru a vedea cum trebuie să ajungă);
     * NU aveți parola de autentificare a utilizatorului țintă (defapt, nici nu are), dar tot trebuie să faceți ceva în această privință (i.e., să vă autentificați cu succes!)...     * NU aveți parola de autentificare a utilizatorului țintă (defapt, nici nu are), dar tot trebuie să faceți ceva în această privință (i.e., să vă autentificați cu succes!)...
-  * Folosi un utilitar eficient! un fișier nou apărut ar trebui să se sincronizeze în max. 3 secunde! 
   * Fișierele trebuie să rămână accesibile pe serverul web al ''​Italy''​ (''​http://​Italy/​export/​...''​),​ folosiți un client HTTP în consolă pentru a testa lucrul acesta!   * Fișierele trebuie să rămână accesibile pe serverul web al ''​Italy''​ (''​http://​Italy/​export/​...''​),​ folosiți un client HTTP în consolă pentru a testa lucrul acesta!
   * Convenția de apel a scriptului (de către checker) + restricțiile sunt similare cu cele descrise în exercițiul anterior.   * Convenția de apel a scriptului (de către checker) + restricțiile sunt similare cu cele descrise în exercițiul anterior.
Line 343: Line 349:
  
   * Dorim să conectăm stațiile ''​Dani'',​ ''​Ionut''​ și ''​Romania''​ împreună printr-un tunel Wireguard pentru a securiza comunicarea!   * Dorim să conectăm stațiile ''​Dani'',​ ''​Ionut''​ și ''​Romania''​ împreună printr-un tunel Wireguard pentru a securiza comunicarea!
-    * Serverul va fi ''​Romania'';​ 
     * Pentru adresare prin tunel, folosiți spațiul ''​10.$G.$H.0/​29'';​ ordinea adreselor va fi: ''​Romania''​ (prima), ''​Dani''​ (a 2-a) și ''​Ionut''​ (a treia);     * Pentru adresare prin tunel, folosiți spațiul ''​10.$G.$H.0/​29'';​ ordinea adreselor va fi: ''​Romania''​ (prima), ''​Dani''​ (a 2-a) și ''​Ionut''​ (a treia);
-    * Denumiți interfețele de tunel ''​wg-rele'' ​la ambele capete. +    ​* Trebuie să funcționeze:​ trafic între toți 3 direct pe IP-ul tunelului! 
-    * Tunelul wireguard trebuie să fie persistent! (folosiți hook-uri în ''​interfaces'' ​sau serviciu cu pornire automată [[https://​www.redhat.com/​en/​blog/​systemd-oneshot-service|de systemd]]).+    ​* Denumiți interfețele de tunel ''​wg-rele'' ​pe toate containerele! 
 +    * Tunelul wireguard trebuie să fie persistent! (folosiți hook-uri în ''​interfaces'' ​<- recomandat / serviciu cu pornire automată, e.g., [[https://​www.redhat.com/​en/​blog/​systemd-oneshot-service|de systemd]]).
  
 === Ex. 11 [Bonus - 15p] Dedicații anonime === === Ex. 11 [Bonus - 15p] Dedicații anonime ===
  
-  * Stația lui ''​Ionut''​ va rula un serviciu securizat pe portul UDP ''​1800+$J''​ care va asculta DOAR pe adresa wireguard creată la task-ul anterior; pentru testare, aveți ​fișierul ​''​live-dedications.py''​ în PATH (merge pornit ​ca orice utilizator).+  * Stația lui ''​Ionut''​ va rula un serviciu securizat pe portul UDP ''​1800+$J''​ care va asculta DOAR pe adresa wireguard creată la task-ul anterior; pentru testare, aveți ​un server UDP, ''​live-dedications.py''​în PATH (merge pornit ​sub orice utilizator). ​Cât despre client... vă descurcați ;) 
 +    * NU lăsați pornit acest server în timp ce rulați checkerul! Acesta își va porni singur server pe ACELAȘI port, deci va crăpa cu eroare de port deja ocupat!
   * Configurați DNAT pe ''​Romania''​ astfel încât să poată primi conexiuni pe același port menționat mai sus, pe care să le forwardeze prin tunelul Wireguard către serviciul ce ascultă pe stația ''​Ionut''​.   * Configurați DNAT pe ''​Romania''​ astfel încât să poată primi conexiuni pe același port menționat mai sus, pe care să le forwardeze prin tunelul Wireguard către serviciul ce ascultă pe stația ''​Ionut''​.
     * Accesul la serviciu prin ''​Romania:​1800+$J''​ va trebui să fie funcțional din orice rețea (inclusiv ''​Carabinieri''​ și ''​Jilava''​)!     * Accesul la serviciu prin ''​Romania:​1800+$J''​ va trebui să fie funcțional din orice rețea (inclusiv ''​Carabinieri''​ și ''​Jilava''​)!
   * **Restricție:​** este obligatoriu să folosiți DOAR iptables și/sau rutare (care ar trebui să fie deja configurată la ex. anterior) pentru a rezolva acest exercițiu, e.g., nu e voie să folosiți un serviciu auxiliar care să asculte pe un port și să redirecționeze pachetele la ''​Ionut''​!   * **Restricție:​** este obligatoriu să folosiți DOAR iptables și/sau rutare (care ar trebui să fie deja configurată la ex. anterior) pentru a rezolva acest exercițiu, e.g., nu e voie să folosiți un serviciu auxiliar care să asculte pe un port și să redirecționeze pachetele la ''​Ionut''​!
   * //Hint:// folosiți ''​tcpdump''​ pentru a vedea de ce nu se întorc reply-urile '';​))''​   * //Hint:// folosiți ''​tcpdump''​ pentru a vedea de ce nu se întorc reply-urile '';​))''​
-  * //Hint2:// <color white>​mai trebuie niște NAT!</​color>​+  * //Hint2:// <color white>​mai trebuie niște NAT ca la task 6!</​color>​
  
-</​ifauth>​ 
  
rl/teme/tema2.1764256400.txt.gz · Last modified: 2025/11/27 17:13 by florin.stancu
CC Attribution-Share Alike 3.0 Unported
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0