Servicii, procese ================= Operatiile din retea sunt asigurate de catre serviciile de retea. Un serviciu este definit de combinatia intre un protocol de transport si un port. Porturile utilizate de serviciile uzuale sunt definite in /etc/services Numerele de protocoale atribuite protocoalelor din familia TCP/IP sunt definite in /etc/protocols Un exemplu de portiune din fisierul services este # 21 is registered to ftp, but also used by fsp ftp 21/tcp ftp 21/udp fsp fspd ssh 22/tcp # SSH Remote Login Protocol ssh 22/udp # SSH Remote Login Protocol telnet 23/tcp telnet 23/udp # 24 - private mail system smtp 25/tcp mail smtp 25/udp mail Explicatia secventei de mai sus: serviciul ftp foloseste portul 21 si pentru transmisiile cu protocolul tcp si pentru cele cu protocolul udp. Serviciul ssh foloseste portul 22, etc. Pe sistemul Linux, serviciile sunt oferite de catre demoni (programe care ruleaza permanent, in background). Demonii mai importantui sunt: inetd sau xinetd Internet services daemon, care este cel mai important serviciu TCP/IP. Serveste ca gazda pentru alti demoni, cum ar fi ftp, finger, talk, etc. Serviciile administrate de inetd sunt definite in fisierul /etc/inetd.conf lpd sau cups servere de tiparire, pot primi cereri de tiparire locale sau de la alte masini named serverul DNS, care rezolva domeniile DNS sendmail, postfix sau qmail servere de distribuire a e-mailurilor Cum se activeaza, respectiv dezactiveaza serviciile ati vazut la laboratorul trecut Procesele sunt programe care in general ruleaza doar pe durata sesiunii curente de lucru, spre deosebire de procese, care sunt pornite automat la pornirea calculatorului. Cu ajutorul comenzii ps se pot vedea ce procese ruleaza la un moment dat pe un calculator. a) ps returneaza procesele utilizatorului curent b) ps -f face acelasi lucru, dar afiseaza mai multe detalii c) ps -A sau ps -e afiseaza toate procesele care ruleaza d) ps -U root -u root afiseaza toare procesele care ruleaza ca root (rulate de catre root sau cele carre sunt marcate cu SUID si sunt rulate de alti utilizatori, dar au drepturile lui root) e) ps -U root -u root -N opusa comenzii de mai sus To see every process with a user-defined format: f) ps -eo pid,tt,user,fname,tmout,f,wchan afiseaza toate procesele, dar intr-un format definit de utilizator g) ps -ef | grep root afiseaza toate procesele, ii transmite output-ul comenzii grep care il filtreaza si afiseaza doar cele in a caror linie apare cuvantul root. Se poate presupune cu sanse mari de a avea si dreptate ca vom obtine acelasi rezultat ca si la punctul d) h) alte utilizari ale comenzii ps se pot citi din manualul comenzii ----------------------------------------------------------------------- Configurarea atributelor masinii -------------------------------- 1) Fisierul /etc/hosts contine informatii despre numele de calculatoare cunoscute de catre sistemul local. Acesta era sistemul care era folosit inainte de DNS, dezavantajul era ca se puteau accesa doar calculatoarele care erau descrise in fisierul hosts, daca vreunul isi schimba IP-ul sau atunci trebuiau modificate fisierele hosts pe fiecare dintre celelalte. Are sintaxa IP_address canonical_hostname aliases unde IP_address este adresa IP a calculatorului descris canonical_hostname este numele complet aliases sunt alte nume pentru acest calculator 2) Fisierul /etc/hosts.allow precizeaza numele calculatoarelor care pot folosi procesele inetd sintaxa unei linii din acest fisier este daemon_list : client_list [ : shell_command ] unde daemon_list este lista formata din unul sau mai multe procese demon client_list lista cu clientii care pot lansa serviciile demon enumerate mai sus Cautati explicatii suplimentare in paginile de manual pentru hosts.allow 3) Fisierul /etc/hosts.deny are utilizare opusa lui hosts.allow 4) Fisierul /etc/hosts.config cu linia order=hosts,bind stabileste ordinea in care vor fi rezolvate numele de calculatoare, mai intai folosind fisierul hosts, apoi apeland la un server DNS 5) Fisierul /etc/resolv.conf contine lista de servere DNS 6) Fisierul /etc/sysconfig/network contine specificatii despre numele complet al calculatorului, gateway, domeniu. NETWORKING=yes HOSTNAME='linux1' GATEWAY=194.102.62.1 NISDOMAIN=linux ----------------------------------------------------------------------- Comenzi utile ------------- 1) hostname - arata sau modifica numele calculatorului 2) domainname - afiseaza sau modifica numele domeniului calculatorului 3) dnsdomainname - afiseaza numele domeniului DNS al calculatorului 4) nisdomainname si ypdomainname - afiseaza sau modifica numele de domeniu NIS 5) ifconfig - afiseaza sau modifica adresa IP a calculatorului a) ifconfig afiseaza informatii despre interfetele de retea (placile de retea ale calculatorului) b) ifconfig eth0 194.102.62.41 stabileste ca adresa IP a calculatorului sa fie 194.102.62.41 c) ifconfig eth0 194.102.62.41 netmask 255.255.255.0 broadcast 194.102.62.255 up configureaza toti parametrii necesari placii de retea si o activeaza Configurarea caracteristicilor placii de retea se mai poate face si cu programul setup, care ruleaza in mod semigrafic. ----------------------------------------------------------------------- Optiuni de rutare ----------------- 1) daca reteaua nu contine subretele, nu este necesara nici o rutare explicita 2) rutari statice, folosite pentru retele de dimensiuni mici sau medii, avand calea origine-destinatie relativ simpla 3) rutari dinamice, in care caile spre destinatie sunt determinate la momentul trimiterii pachetelor, prin protocoale de rutare, care folosesc demonii routed si gated Rutarile statice pot fi gestionate folosind comanda route a) route [-v] [-n] afiseaza tabela de rutare, optiunea -v da si informatii suplimentare, -n afiseaza adrese numerice in loc de nume b) route [-v] [-A familie] add [-net | -host] dest [optiuni] adauga rutari statice c) route [-v] [-A familie] del [-net | -host] dest [optiuni] sterge rutari statice optiunile: -v afiseaza informatii suplimentare -A familie specifica o familie de adrese -net specifica faptul ce dest este o retea -host dest este un calculator dest adresa calculatorului sau retelei destinatie, fie numerica, fie prin nume netmask adresa utilizeaza aceasta masca atunci cand se adauga o rutare default stabileste rutarea implicita care va fi utilizata, atunci cand nu exista o alta ruta catre destinatie gw gateway ruteaza pachetele printr-un gateway. Calea catre acesta trebuie definita ijn prealabil printr-o rutare statica dev dispozitiv asociaza rutarea cu dispozitivul specificat (acest parametru nu e necesar) Ex: a) route add -net 192.130.21.0 netmask 255.255.255.0 dev eth1 adauga o rutare catre reteaua 192.130.21.0 prin placa de retea eth1 b) route add default gw 194.102.62.8 adauga o rutare implicita (care va fi utilizata cand nu exista o alta rutare) prin masina 194.102.62.8 (goliat.info.uvt.ro) ----------------------------------------------------------------------- Testarea accesibilitatii unei alte masini ----------------------------------------- se face cu comanda ping, care are sintaxa ping host unde host este numele masinii destinatie, sau IP-ul sau Comanda traceroute afiseaza si ruta pe care circula pachetul catre destinatie. Sintaxa traceroute destinatie ex: ping goliat.info.uvt.ro traceroute www.cinemagia.ro ----------------------------------------------------------------------- Activarea interfetei de retea se face cu comanda ifup nume_interfata (nu incercati aceasta comanda, nici pe urmatoarea, pentru ca veti fi deconectati toti si activarea placii de retea, sau altfel spus a interfetei de retea, nu se poate face decat de la consola statiei respective) Comanda ifdown nume_interfata dezactiveaza interfata de retea specificata.