This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
school:rl:labs:recapitulare [2009/09/13 10:30] razvan |
school:rl:labs:recapitulare [2020/07/20 09:16] (current) |
||
---|---|---|---|
Line 1: | Line 1: | ||
- | = Laborator de recapitulare = | + | ====== Laborator de recapitulare |
- | == Elemente importante == | + | ===== Elemente importante |
- | * mașini virtuale, OpenVZ | + | |
- | * DMZ | + | * DMZ |
- | * configurări de rețea | + | * configurări de rețea |
- | * firewall | + | * firewall |
- | * NAT | + | * NAT |
- | * iptables | + | * iptables |
- | * DNS, Bind | + | * DNS, Bind |
- | * web, Apache2 | + | * web, Apache2 |
- | * e-mail, Postfix | + | * e-mail, Postfix |
- | * proxy, Squid | + | * proxy, Squid |
- | == Topologia folosită == | + | ===== Topologia folosită |
Topologia folosită în cadrul acestui laborator este prezentată în imaginea de mai jos, unde: | Topologia folosită în cadrul acestui laborator este prezentată în imaginea de mai jos, unde: | ||
- | * E (external) reprezintă o stație din exteriorul rețelei (din Internet); | + | |
- | * F (firewall) reprezintă firewall-ul și gateway-ul; filtrează cererile către rețeaua locală (L) și către DMZ (D); face NAT pentru stația L; | + | * F (firewall) reprezintă firewall-ul și gateway-ul; filtrează cererile către rețeaua locală (L) și către DMZ (D); face NAT pentru stația L; |
- | * D (DMZ) este o [[http:// | + | * D (DMZ) este o [[http:// |
- | * L (local) reprezintă o stație din rețeaua locală; stația este protejată de firewall (F) de accesele directe din exterior; stația folosește o adresă privată și utilizează NAT-ul pus la dispoziție de firewall; L rulează SSH și serverul de e-mail. | + | * L (local) reprezintă o stație din rețeaua locală; stația este protejată de firewall (F) de accesele directe din exterior; stația folosește o adresă privată și utilizează NAT-ul pus la dispoziție de firewall; L rulează SSH și serverul de e-mail. |
{{ : | {{ : | ||
- | == Task-uri == | + | ===== Task-uri |
- | === Configurarea rețelei și asigurarea conectivității === | + | ==== Configurarea rețelei și asigurarea conectivității |
- | ==== Enunț | + | === Enunț === |
- | * Configurați în mod permanent adresele specificate în figură pe cel 4 stații. | + | |
- | * Activați rutarea pe stația **F** și adăugați rutele corespunzătoare pentru a asigura conectivitatea între cele 4 stații. | + | * Activați rutarea pe stația **F** și adăugați rutele corespunzătoare pentru a asigura conectivitatea între cele 4 stații. |
- | ==== Pași ajutători | + | === Pași ajutători === |
- | * Folosiți fișierul {{{/ | + | |
- | * Folosiți fișierul {{{/ | + | * Folosiți fișierul {{{/ |
- | * Folosiți fișierul {{{/ | + | * Folosiți fișierul {{{/ |
- | * Folosiți fișierul {{{/ | + | * Folosiți fișierul {{{/ |
- | ** adresa 6.7.8.9/24 pe interfața {{{eth0}}} | + | * adresa 6.7.8.9/24 pe interfața {{{eth0}}} |
- | ** adresa 6.7.7.1/24 pe interfața {{{eth1}}} | + | * adresa 6.7.7.1/24 pe interfața {{{eth1}}} |
- | ** adresa 10.0.0.1/24 pe interfața {{{eth2}}} | + | * adresa 10.0.0.1/24 pe interfața {{{eth2}}} |
- | * Folosiți comanda {{{sysctl}}} și fișierul {{{/ | + | * Folosiți comanda {{{sysctl}}} și fișierul {{{/ |
- | * Folosiți fișierul {{{/ | + | * Folosiți fișierul {{{/ |
- | * Folosiți fișierul {{{/ | + | * Folosiți fișierul {{{/ |
- | * Pe stația **E** folosiți fișierul {{{/ | + | * Pe stația **E** folosiți fișierul {{{/ |
- | * Testați conectivitatea între cele 4 stații folosind comanda {{{ping}}}. Stația **E** nu trebuie să aibă conectivitate cu stația **L**. | + | * Testați conectivitatea între cele 4 stații folosind comanda {{{ping}}}. Stația **E** nu trebuie să aibă conectivitate cu stația **L**. |
- | === Configurarea firewall-ului === | + | ==== Configurarea firewall-ului |
- | ==== Enunț | + | === Enunț === |
- | * Configurați firewall-ul (stația **F**) pentru a face SNAT pentru stația **L** în momentul accesării Internet-ului (stația **E**), dar nu și pentru accesul DMZ-ului (stației **D**). | + | |
- | * Configurați pe firewall (stația **F**) reguli de filtrare astfel: | + | * Configurați pe firewall (stația **F**) reguli de filtrare astfel: |
- | ** **E** -> **I**: se permite doar traficul de răspuns la cereri inițiate de **I** | + | * **E** -> **L**: se permite doar traficul de răspuns la cereri inițiate de **L** |
- | ** **E** -> **D**: se permite doar SSH, SMTP, DNS, WWW și cereri de răspuns la cereri inițiate de **D** | + | * **E** -> **D**: se permite doar SSH, SMTP, DNS, WWW și cereri de răspuns la cereri inițiate de **D** |
- | ** **D** -> **F**: se permite doar SSH și traficul de răspuns la cereri inițiate de **F** | + | * **D** -> **E**: se permite orice trafic |
- | ** **D** -> **E**: se permite orice trafic | + | * **D** -> **L**: se permite doar traficul SSH și WWW și cereri de răspuns la cereri inițiate de **L** |
- | ** **D** -> **I**: se permite doar traficul SSH și WWW și cereri de răspuns la cereri inițiate de **I** | + | * **L** -> **D**: se permite orice trafic |
- | ** **I** -> **F**: se permite doar SSH și traficul de răspuns la cereri inițiate de **F** | + | * **L** -> **E**: se permite orice trafic |
- | ** **I** -> **D**: se permite orice trafic | + | * de la firewall (**F**) poate pleca orice trafic către orice stație |
- | ** **I** -> **E**: se permite orice trafic | + | * către firewall (**F**) se permite doar trafic SSH și cereri de răspuns la cereri inițiate |
- | ** de la firewall (**F**) poate pleca orice trafic către orice stație | + | |
- | ** către firewall (**F**) se permite doar trafic SSH și cereri de răspuns la cereri inițiate | + | |
- | ==== Pași ajutători | + | === Pași ajutători === |
- | * Folosiți iptables, tabela nat și lanțul POSTROUTING pentru configurarea SNAT. | + | |
- | * Folosiți iptables, tabela filter și lanțul INPUT pentru a configura traficul către firewall. | + | * Folosiți iptables, tabela filter și lanțul INPUT pentru a configura traficul către firewall. |
- | * Folosiți iptables, tabela filter și lanțul OUTPUT pentru a configura traficul de la firewall. | + | * Folosiți iptables, tabela filter și lanțul OUTPUT pentru a configura traficul de la firewall. |
- | * Folosiți iptables, tabela filter și lanțul FORWARD pentru a configura traficul rutat de firewall. | + | * Folosiți iptables, tabela filter și lanțul FORWARD pentru a configura traficul rutat de firewall. |
- | === Configurarea DNS === | + | ==== Configurarea DNS ==== |
- | ==== Enunț | + | === Enunț === |
Instalați și configurați Bind9 pe DMZ pentru a fi autoritar pe domeniul {{{example.com}}} și pentru a răspunde următoarelor cereri: | Instalați și configurați Bind9 pe DMZ pentru a fi autoritar pe domeniul {{{example.com}}} și pentru a răspunde următoarelor cereri: | ||
- | * ns.example.com are adresa 6.7.7.2 | + | |
- | * example.com are adresa 6.7.7.2 | + | * mail.example.com este serverul de e-mail pentru domeniul example.com |
- | * www.example.com este alias la example.com | + | * adresa de e-mail administratorului domeniului este nsmaster.example.com |
- | * test.example.com este alias la example.com | + | * |
- | * mail.example.com este alias la example.com | + | * example.com are adresa 6.7.7.2 |
- | * gw.example.com are adresa 6.7.8.9 | + | * www.example.com este alias la example.com |
- | * fw.example.com este alias la gw.example.com | + | * test.example.com este alias la example.com |
+ | * mail.example.com este alias la example.com | ||
+ | * gw.example.com are adresa 6.7.8.9 | ||
+ | * fw.example.com este alias la gw.example.com | ||
Configurați serverul DNS pentru a fi autoritar pe domeniul {{{7.7.6.in-addr.arpa}}} și pentru a răspunde următoarelor cereri | Configurați serverul DNS pentru a fi autoritar pe domeniul {{{7.7.6.in-addr.arpa}}} și pentru a răspunde următoarelor cereri | ||
- | * 6.7.7.1 are numele fw.example.com | + | |
- | * 6.7.7.2 are numele ns.example.com | + | * adresa de e-mail administratorului domeniului este nsmaster.example.com |
+ | * | ||
+ | * 6.7.7.2 are numele ns.example.com | ||
- | ==== Pași ajutători | + | === Pași ajutători === |
- | * Instalați pachetul {{{bind9}}}. | + | |
- | * Verificați că serverul este pornit folosind {{{netstat}}} și inspectând portul {{{53}}}. | + | * Verificați că serverul este pornit folosind {{{netstat}}} și inspectând portul {{{53}}}. |
- | * Folosiți fișierul {{{/ | + | * Folosiți fișierul {{{/ |
- | * Creați fișierul {{{/ | + | * Creați fișierul {{{/ |
- | * Creați fișierul {{{/ | + | * Creați fișierul {{{/ |
- | * Reporniți serviciul DNS. | + | * Reporniți serviciul DNS. |
- | * Verificați fișierul de log ({{{/ | + | * Verificați fișierul de log ({{{/ |
- | * Folosiți {{{host}}} pe stația **E** pentru a testa funcționarea serverului DNS. | + | * Folosiți {{{host}}} pe stația **E** pentru a testa funcționarea serverului DNS. |
- | === Configurarea web === | + | ==== Configurarea web ==== |
- | ==== Enunț | + | === Enunț === |
Instalați și configurați pe DMZ serverul Apache2 pentru a răspunde următoarelor URL-uri: | Instalați și configurați pe DMZ serverul Apache2 pentru a răspunde următoarelor URL-uri: | ||
- | * http:// | + | |
- | * http:// | + | * http:// |
URL-urile de mai sus trebuie să răspundă și pentru portul {{{8080}}} (în afara portului implicit {{{80}}}). | URL-urile de mai sus trebuie să răspundă și pentru portul {{{8080}}} (în afara portului implicit {{{80}}}). | ||
- | ==== Pași ajutători | + | === Pași ajutători === |
- | * Instalați pachetul {{{apache2}}}. | + | |
- | * Folosiți fișierul {{{/ | + | * Folosiți fișierul {{{/ |
- | * Creați două fișiere de tip vhost în directorul {{{/ | + | * Creați două fișiere de tip vhost în directorul {{{/ |
- | ** o gazdă virtuală va răspunde cererilor pentru www.example.com; | + | * o gazdă virtuală va răspunde cererilor pentru www.example.com; |
- | ** o gazdă virtuală va răspunde cererilor pentru test.example.com; | + | * o gazdă virtuală va răspunde cererilor pentru test.example.com; |
- | * Activați gazdele virtuale folosind {{{a2ensite}}}. | + | * Activați gazdele virtuale folosind {{{a2ensite}}}. |
- | * Reporniți serverul. | + | * Reporniți serverul. |
- | * Testați serverul folosind {{{wget}}} de pe stația **E**. | + | * Testați serverul folosind {{{wget}}} de pe stația **E**. |
- | * Folosiți fișierele de jurnalizare {{{/ | + | * Folosiți fișierele de jurnalizare {{{/ |
- | === Configurarea split-view DNS === | + | ==== Configurarea split-view DNS ==== |
- | ==== Enunț | + | === Enunț === |
Configurați {{http:// | Configurați {{http:// | ||
- | * gw.example.com are adresa | + | |
- | * fw.example.com este alias la gw.example.com | + | * ns.example.com are adresa |
- | * mail.example.com are adresa 10.0.0.2 | + | * |
+ | * server de e-mail pentru domeniul | ||
+ | * mail.example.com are adresa 10.0.0.2 | ||
+ | * gw.example.com are adresa 10.0.0.1 | ||
+ | * fw.example.com este alias la gw.example.com | ||
În view-ul asociat rețelei {{{10.0.0.0/ | În view-ul asociat rețelei {{{10.0.0.0/ | ||
- | * adresa 10.0.0.1 corespunde numelui gw.example.com | + | |
- | * adresa 10.0.0.2 corespunde numelui mail.example.com | + | * ns.example.com are adresa 6.7.7.1 |
+ | * adresa de e-mail a administratorului pentru domeniul example.com este nsmaster.example.com | ||
+ | * | ||
+ | * adresa 10.0.0.2 corespunde numelui mail.example.com | ||
- | ==== Pași ajutători | + | === Pași ajutători === |
- | * Folosiți informațiile de la {{http:// | + | |
- | * În cadrul fișierul {{{/ | + | * În cadrul fișierul {{{/ |
- | * Folosiți directiva {{{match-clients}}} pentru a face selecția între cele două view-uri. | + | * Folosiți directiva {{{match-clients}}} pentru a face selecția între cele două view-uri. |
- | * Creați directoarele {{{/ | + | * Creați directoarele {{{/ |
- | ** fișierele {{{/ | + | * fișierele {{{/ |
- | ** fișierele {{{/ | + | * fișierele {{{/ |
- | * Reporniți serverul DNS. | + | * Reporniți serverul DNS. |
- | * Verificați fișierul de log {{{/ | + | * Verificați fișierul de log {{{/ |
- | * Testați folosind {{{host}}} de pe stația **E**, respectiv stația **I**. | + | * Testați folosind {{{host}}} de pe stația **E**, respectiv stația **L**. |
- | === Configurarea e-mail === | + | ==== Configurarea e-mail |
- | ==== Enunț | + | === Enunț === |
- | * Instalați pe DMZ Postfix ca {{http:// | + | |
- | * Instalați pe stația **L** Postfix ca server SMTP. Mesajele primite vor fi livrate către căsuțe poștale de tip {{{Maildir}}} ale utilizatorilor. | + | * Instalați pe stația **L** Postfix ca server SMTP. Mesajele primite vor fi livrate către căsuțe poștale de tip {{{Maildir}}} ale utilizatorilor. |
- | * Creați utilizatorii {{{sorina}}} și {{{traian}}} pentru a testa livrarea mesajelor. | + | * Creați utilizatorii {{{sorina}}} și {{{traian}}} pentru a testa livrarea mesajelor. |
- | ==== Pași ajutători | + | === Pași ajutători === |
- | * Instalați pachetul {{{postfix}}} pe DMZ și stația **L**. | + | |
- | * Pe stația DMZ, Postfix trebuie configurat ca {{http:// | + | * Pe stația DMZ, Postfix trebuie configurat ca {{http:// |
- | ** Folosiți directiva {{http:// | + | * Folosiți directiva {{http:// |
- | * Pe stația **L** configurați Postfix ca server SMTP pentru domeniul {{{example.com}}}. | + | * Pe stația **L** configurați Postfix ca server SMTP pentru domeniul {{{example.com}}}. |
- | * Mesajele livrate către domeniul {{{example.com}}} vor fi stocate în directoarele {{{Maildir}}} din home-urile utilizatorilor. | + | * Mesajele livrate către domeniul {{{example.com}}} vor fi stocate în directoarele {{{Maildir}}} din home-urile utilizatorilor. |
- | * Pe stația **L**, folosiți {{{adduser}}} pentru a adăuga utilizatorii {{{sorina}}} și {{{traian}}}. | + | * Pe stația **L**, folosiți {{{adduser}}} pentru a adăuga utilizatorii {{{sorina}}} și {{{traian}}}. |
- | * De pe stația **E**, folosiți {{{mailx}}} pentru a transmite mesaje către {{{sorina@example.com}}}, | + | * De pe stația **E**, folosiți {{{mailx}}} pentru a transmite mesaje către {{{sorina@example.com}}}, |
- | === Configurarea proxy === | + | ==== Configurarea proxy ==== |
- | ==== Enunț | + | === Enunț === |
- | * Configurați Squid pe DMZ (stația **D**) pentru a acționa ca {{http:// | + | |
- | * Configurați firewall-ul pentru ca cererile web venite din rețeaua {{{10.0.0.0/ | + | * Configurați firewall-ul pentru ca cererile web venite din rețeaua {{{10.0.0.0/ |
- | ==== Pași ajutători | + | === Pași ajutători === |
- | * Instalați pachetul {{{squid}}} pe DMZ. | + | |
- | * Configurați Squid ca {{http:// | + | * Configurați Squid ca {{http:// |
- | * Folosiți {{{iptables}}}, | + | * Folosiți {{{iptables}}}, |
- | * Pentru testare folosiți {{{wget}}} pe stația **L**. Inspectați jurnalul Squid ({{{/ | + | * Pentru testare folosiți {{{wget}}} pe stația **L**. Inspectați jurnalul Squid ({{{/ |