Differences

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

Link to this comparison view

rl:teme:tema2 [2025/11/27 16:54]
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 max3 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!
   * 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.
  
-=== Ex. 10 [Bonus - 10p] Wireguard tunnel ​===+=== Ex. 10 [Bonus - 10p] VPN ===
  
-  * Dorim să conectăm ​rețelele ''​Milano-Leonardo''​ și ''​Paris-Croissant''​ împreună printr-un tunel Wireguard: +  * Dorim să conectăm ​stațiile ''​Dani'',​ ''​Ionut''​ și ''​Romania''​ împreună printr-un tunel Wireguard ​pentru a securiza comunicarea! 
-    * Pentru ​rețeaua din tunel, folosiți spațiul ''​10.$H.$J.96/30'';​ prima adresă asignabilă este a lui Milanoiar ce-de-a doua a lui ''​Paris'';​ +    * Pentru ​adresare prin tunel, folosiți spațiul ''​10.$G.$H.0/29''; ​ordinea adreselor va fi: ''​Romania''​ (prima)''​Dani''​ (2-a) și ''​Ionut'' ​(a treia)
-    * Va trebui ​să puteți accesa adresele IP ale capetelor de tunel și de pe ''​Leonardo''​ și ''​Croissant''​+    * Trebuie ​să funcționeze:​ trafic între toți 3 direct ​pe IP-ul tunelului
-    * Denumiți interfețele de tunel ''​wg-rl'' ​la ambele capete. +    * Denumiți interfețele de tunel ''​wg-rele'' ​pe toate containerele! 
-    * Tunelul wireguard trebuie să fie persistent! (folosiți hook-uri în ''​interfaces''​).+    * 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] Pin your hair ===+=== Ex. 11 [Bonus - 15p] Dedicații anonime ​===
  
-  * Pe stația ''​Milano''​ va rula un serviciu securizat pe portul ​TCP ''​1000+$K''​ care va asculta DOAR pe adresa wireguard creată la task-ul anterior ​(checkerul îl va porni automat; pentru testare ​puteți folosi ''​nc''​ cu argumentul ​''​-l'' ​și IP-ul WireGuard ​(+ desigur, portul), trebuie să puteți trimite mesaje bidirecționale prin portul forwardat). +  * 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 ;) 
-  * Configurați DNAT pe ''​Paris''​ astfel încât să poată primi conexiuni pe portul ''​1000+$K'' ​și să le forwardeze prin tunelul Wireguard către ''​Milano''​, același port+    * 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! 
-    * Accesul la serviciu prin ''​Paris:1000+$K''​ va trebui să fie funcțional din orice rețea! +  * 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''​. 
-  * **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 portul ''​1000+$K'' ​și să redirecționeze pachetele la ''​Milano''​! +    * Accesul la serviciu prin ''​Romania:1800+$J''​ va trebui să fie funcțional din orice rețea ​(inclusiv ''​Carabinieri''​ și ''​Jilava''​)
-  * //Hint: folosiți ''​tcpdump'' ​cu încredere când nu funcționează ceva ;)+  * **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 ''​;))''​ 
 +  * //Hint2:// <color white>​mai trebuie niște NAT ca la task 6!</​color>​
  
-</​ifauth>​ 
  
rl/teme/tema2.1764255257.txt.gz · Last modified: 2025/11/27 16:54 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