This shows you the differences between two versions of the page.
systems:uso:laboratoare:laborator-08 [2012/09/20 23:04] paul.vlase [5. Folosirea iproute2. Configurarea de adrese IPv6] |
— (current) | ||
---|---|---|---|
Line 1: | Line 1: | ||
- | ====== Laborator 08 - Configurări de rețea ====== | ||
- | ====== Descriere ====== | ||
- | |||
- | * adresă MAC, adresă IP, mască de rețea (subnet mask), default gateway, nameserver | ||
- | * ifconfig, route, resolv.conf, ping | ||
- | * configurare dinamică, DHCP, dhclient | ||
- | * configurare statică | ||
- | |||
- | * configurări permanente | ||
- | * ifup, ifdown | ||
- | * /etc/hosts | ||
- | |||
- | Referințe din urmă: | ||
- | * vim (lab 03) | ||
- | |||
- | |||
- | ====== Materiale ajutătoare ====== | ||
- | |||
- | ====== Tutorial ====== | ||
- | |||
- | <hidden> | ||
- | * Pe scurt, despre adrese MAC, IP, netmask, DNS, și ping. | ||
- | * Prezentarea este o scurtă recapitulare de la curs, nu înlocuim cursul. Dacă studenții par în pom, trebuie să îi convingem să ia și să citească, nu pot înțelege conceptele în doar 5 minute. | ||
- | * Despre comenzile și fișierele asociate: ifconfig, route, resolv.conf. | ||
- | * Conceptul de interfață de rețea și ce înseamnă nume ca eth0, wlan0. | ||
- | </hidden> | ||
- | |||
- | |||
- | ===== 1. Configurări dinamice temporare de rețea ===== | ||
- | |||
- | * Configurați dinamic, temporar, interfața de rețea **''eth0''** a mașinii fizice: | ||
- | |||
- | <code bash> | ||
- | dhclient eth0 | ||
- | </code> | ||
- | |||
- | * Pentru că această comandă modifică parametrii de rețea, trebuie lansată cu privilegii **''root''**. | ||
- | * Testați conectivitatea cu google.com, trimițând 5 mesaje ICMP succesive: | ||
- | |||
- | <code bash> | ||
- | ping -c 5 www.google.com | ||
- | </code> | ||
- | |||
- | ===== 2. Descoperirea configurărilor de rețea ===== | ||
- | |||
- | Inspectați configurările de rețea curente de pe mașina fizică. Afișați informațiile: | ||
- | * de nivel 2 - legatură de date (adresa MAC) | ||
- | * de nivel 3 - rețea (adresa IP, masca de rețea și gateway-ul implicit) | ||
- | * de nivel 7 - aplicații (server DNS). | ||
- | |||
- | <note important>pentru a //schimba// configurările de rețea, trebuie să fim **''root''**. Pentru a le inspecta, în general, nu este nevoie.</note> | ||
- | |||
- | Folosiți **''ifconfig''** pentru a afla adresa MAC, adresa IP, și masca de rețea. Ce interfață este cea relevantă? | ||
- | * Adresa MAC se mai numește și adresă fizică sau adresă hardware. | ||
- | |||
- | |||
- | <code bash> | ||
- | ifconfig | ||
- | </code> | ||
- | |||
- | Folosiți **''route''** pentru a afla gateway-ul implicit. | ||
- | |||
- | |||
- | <code bash> | ||
- | route -n | ||
- | </code> | ||
- | |||
- | * **Pentru acasă**: de ce este nevoie de parametrul **''-n''**? | ||
- | |||
- | Inspectați fișierul **''/etc/resolv.conf''** pentru a descoperi adresa serverului DNS. | ||
- | |||
- | <code bash> | ||
- | cat /etc/resolv.conf | ||
- | </code> | ||
- | |||
- | |||
- | ===== 3. Configurări statice temporare de rețea ===== | ||
- | |||
- | **Acest exercițiu se desfășoară pe mașina virtuală ''sheldon''.** | ||
- | |||
- | **Configurarea rețelei este o operațiune critică sistemului, deci are nevoie de privilegii de ''root''** | ||
- | |||
- | Configurați **static temporar** mașina virtuală cu următorii parametri: | ||
- | * adresa IP 192.168.102.10 | ||
- | * masca de rețea 255.255.255.0. Câți biți aparțin adresei de rețea în cazul acesta? | ||
- | * interfața nu este pornită. Va trebui să o puneți în starea **''UP''**. | ||
- | |||
- | <code bash> | ||
- | ifconfig eth0 192.168.102.10 netmask 255.255.255.0 up | ||
- | </code> | ||
- | |||
- | * gateway-ul implicit va fi 192.168.102.2 | ||
- | |||
- | <code bash> | ||
- | route add default gw 192.168.102.2 | ||
- | </code> | ||
- | |||
- | * serverul DNS va fi 8.8.8.8. Suprascrieți orice server existent. | ||
- | |||
- | <code bash> | ||
- | echo nameserver 8.8.8.8 > /etc/resolv.conf | ||
- | </code> | ||
- | |||
- | Testați conectivitatea cu google.com, trimițând 5 mesaje ICMP succesive: | ||
- | |||
- | <code bash> | ||
- | ping -c 5 www.google.com | ||
- | </code> | ||
- | |||
- | Reporniți mașina virtuală. S-au păstrat configurările? | ||
- | |||
- | |||
- | ===== 4. Descoperirea configurărilor de rețea folosind iproute2 ===== | ||
- | |||
- | ifconfig, route și arp sunt comenzi clasice de configurarea rețelei, dar fac parte dintr-un pachet ce nu mai este menținut în prezent. **''iproute2''** este pachetul modern ce vine să înlocuiască utilitarele clasice | ||
- | |||
- | Folosiți comanda **''ip''** pentru a descoperi configurațiile mașinii fizice. | ||
- | |||
- | Listați interfețele și IP-urilor lor folosind: | ||
- | |||
- | <code bash> | ||
- | ip address show | ||
- | </code> | ||
- | |||
- | Afișați tabela de rutare folosind: | ||
- | |||
- | <code bash> | ||
- | ip route show | ||
- | </code> | ||
- | |||
- | Comenzile precedente pot fi prescurtate astfel: | ||
- | |||
- | <code bash> | ||
- | ip a s | ||
- | ip r s | ||
- | </code> | ||
- | |||
- | ===== 5. Configurări persistente de rețea ===== | ||
- | |||
- | Setările făcute până acum sunt temporare deoarece se pierd la repornirea sistemului. Pentru a face configurări persistente, ne folosim de fișierul '''/etc/network/interfaces'''. | ||
- | |||
- | Vizualizați structura fișierlui de configurări persistente de rețea: | ||
- | |||
- | <code bash> | ||
- | cat /etc/network/interfaces | ||
- | </code> | ||
- | |||
- | |||
- | ====== Exerciții ====== | ||
- | |||
- | ===== 1. Configurări dinamice permanente ===== | ||
- | |||
- | **Acest exercițiu se desfășoară pe mașina virtuală ''sheldon''.** | ||
- | |||
- | * Inspectați configurația de pe mașina **''sheldon''**. Este interfața **''eth0''** activă? | ||
- | * Configurați interfața **''eth0''** astfel încât ea să fie activă la boot-are și să fie configurată prin DHCP. | ||
- | * Ce fișier conține configurarea interfețelor de rețea? | ||
- | * Reporniți mașina **''sheldon''**. Testați conectivitatea. | ||
- | |||
- | <solution> | ||
- | <code bash> | ||
- | $ cat /etc/network/interfaces | ||
- | [...] | ||
- | auto eth0 # activează interfața la boot-are | ||
- | iface eth0 inet dhcp | ||
- | [...] | ||
- | </code> | ||
- | </solution> | ||
- | |||
- | |||
- | ===== 2. Configurări statice permanente ===== | ||
- | |||
- | **Acest exercițiu se desfășoară pe mașina virtuală ''leonard''.** | ||
- | |||
- | * Inspectați configurația interfeței **''eth0''**. Este interfața activă? | ||
- | * Configurați interfața **''eth0''**: | ||
- | * adresa 192.168.102.80 | ||
- | * netmask 255.255.255.0 | ||
- | * gateway 192.168.102.2 | ||
- | * Folosiți 8.8.8.8 ca nameserver. **Atenție**: nu folosiți același fișier în care ați configurat adresa IP și gateway-ul. | ||
- | * Porniți interfața **''eth0''** folosind **''ifup''**. Cu ce diferă **''ifup''** de **''ifconfig''**? | ||
- | * Testați conectivitatea. | ||
- | |||
- | <solution> | ||
- | <code bash> | ||
- | $ cat /etc/network/interfaces | ||
- | [...] | ||
- | auto eth0 | ||
- | iface eth0 inet static | ||
- | address 192.168.102.80 | ||
- | netmask 255.255.255.0 | ||
- | gateway 192.168.102.2 | ||
- | [...] | ||
- | $ cat /etc/resolv.conf | ||
- | nameserver 8.8.8.8 | ||
- | $ ifup eth0 # ifup folosește informațiile din /etc/network/interfaces | ||
- | </code> | ||
- | </solution> | ||
- | |||
- | |||
- | ===== 3. Vizualizarea tabelei ARP ===== | ||
- | |||
- | Listați pe mașina fizică tabela ARP (neighbour table) folosind două comenzi diferite (o comandă clasică și o comandă din cadru iproute2). | ||
- | |||
- | <solution> | ||
- | <code bash> | ||
- | arp | ||
- | arp -a | ||
- | ip neighbour show | ||
- | ip n s | ||
- | </code> | ||
- | </solution> | ||
- | |||
- | |||
- | ==== 4. Configurarea statică a unui nume ===== | ||
- | |||
- | **Acest exercițiu se desfășoară pe mașina fizică.** | ||
- | |||
- | * Aflați adresa serverului http://wikipedia.org/. Cel mai simplu mod este a folosi ''ping''. | ||
- | * Adăugați o intrare în fișierul ''/etc/hosts'' astfel încât serverul Wikipedia să poată fi accesat cu numele ''wiki''. | ||
- | * Testați conectivitatea folosind ''ping''. | ||
- | |||
- | <solution> | ||
- | <code bash> | ||
- | $ host wikipedia.org # alternativ, se putea folosi ping | ||
- | wikipedia.org has address 208.80.152.2 | ||
- | $ echo "208.80.152.2 wiki" >> /etc/hosts | ||
- | $ ping wiki | ||
- | </code> | ||
- | </solution> | ||
- | |||
- | |||
- | <note info> | ||
- | **Nicio întrebare de examen sau test practic nu va conține noțiuni despre IPv6.** | ||
- | </note> | ||
- | |||
- | ===== 5. Folosirea iproute2. Configurarea de adrese IPv6 ===== | ||
- | |||
- | Folosiți iproute2 (comanda corespunzătoare se numește ''ip'') pentru a configura următoarele adrese: | ||
- | * 2000::1/64 pe interfața vmnet8 a mașinii fizice | ||
- | * 2000::2/64 pe interfața eth0 a mașinii virtuale sheldon | ||
- | |||
- | Inspectați rutele din tabela de rutare IPv6 de pe fiecare mașină (folosiți tot ''ip'') și testați conectivitatea folosind comanda ''ping6''. | ||
- | |||
- | <note tip> | ||
- | Pentru configurarea adreselor IPv6 în Linux, trebuie folosită suita iproute2, deoarece ifconfig nu are suport pentru adrese IPv6. | ||
- | </note> | ||
- | |||
- | |||
- | ===== 6. Nameserver Switch ===== | ||
- | Adaugati in **''/etc/hosts''** urmatoarea intrare **''127.0.0.1 google.com''**. In acest moment comanda **''ping google.com''** va da ping la **''127.0.0.1''**. Fără a realiza alte modificări în **''/etc/hosts''**, configurati sistemul astfel incat **''ping google.com''** sa va raspunda cu adresa IP reala a google.com. | ||
- | <note tip> | ||
- | Cautati informatii despre nsswitch | ||
- | </note> | ||
- | |||
- | |||
- | ===== 7. Configurarea unui tunel IPv6 peste IPv4 ===== | ||
- | |||
- | Configurați un tunel IPv6 peste IPv4 între mașina Sheldon și Leonard. Mașina Leonard are doar o adresă IPv4 pe interfața eth0 (nu adăugați o adresă IPv6). | ||
- | |||
- | Tunetul se va crea între interfețele eth0 cu adresele IPv4 de pe fiecare dintre cele două mașini. Capetele celor două tunele vor avea adresele 2001::1/64, respectiv 2001::2/64. | ||
- | |||
- | http://tldp.org/HOWTO/Linux+IPv6-HOWTO/conf-ipv6-in-ipv4-point-to-point-tunnels.html | ||
- | |||
- | |||
- | FIXME |