This shows you the differences between two versions of the page.
|
uso:laboratoare:new:08-net [2018/08/31 23:29] elena.stoican [Nice to Know] |
uso:laboratoare:new:08-net [2019/11/26 06:59] (current) costin.carabas |
||
|---|---|---|---|
| Line 1: | Line 1: | ||
| - | ====== Laborator 08: Rețelistică și Internet ====== | + | ====== Laborator 09: Rețelistică și Internet ====== |
| - | ===== Înainte de laborator ===== | + | {{page>:uso:laboratoare:new:08-net:setup&nofooter&noeditbutton}} |
| - | ===== Concepte ===== | + | ===== Cuprins ===== |
| - | + | ||
| - | ===== Recapitulare ===== | + | |
| - | + | ||
| - | ===== Demo ===== | + | |
| - | + | ||
| - | ===== Basics ===== | + | |
| - | + | ||
| - | Pentru a începe acest tutorial trebuie să vă asigurați că sunteți în directorul potrivit. Rulați comanda ''cd ~/uso.git/labs/08-net/support/basics/''. | + | |
| - | + | ||
| - | ===== Need to Know ===== | + | |
| - | + | ||
| - | ===== Nice to Know ===== | + | |
| - | + | ||
| - | ==== 1. WHOIS ==== | + | |
| - | + | ||
| - | ''whois'' este o comandă de Linux folosită pentru a afla informați despre orice domeniu sau adresă IP din Internet. | + | |
| - | + | ||
| - | De exemplu dacă vrem să aflăm cine deține adresa IP ''141.85.241.51'', folosim comanda ''whois'' urmată de IP: | + | |
| - | + | ||
| - | <code bash> | + | |
| - | $ whois 141.85.241.51 | + | |
| - | ... | + | |
| - | inetnum: 141.85.0.0 - 141.85.255.255 | + | |
| - | netname: PUB-NET | + | |
| - | org: ORG-PUB1-RIPE | + | |
| - | country: RO | + | |
| - | ... | + | |
| - | org-name: Politehnica University of Bucharest | + | |
| - | ... | + | |
| - | </code> | + | |
| - | + | ||
| - | Din outputul obținut aflăm că adresa IP aparține Universității Politehnica din București, iar dacă derulați mai jos vedeți și detaliile persoanelor de contact. | + | |
| - | + | ||
| - | Putem să obține informații și despre domenii, cum ar fi: organizația, datele de contact ale administratorilor, domain server, data la care a fost creat, ultima dată când a fost actualizat, etc.: | + | |
| - | + | ||
| - | <code bash> | + | |
| - | $ whois cs.curs.pub.ro | + | |
| - | ... | + | |
| - | contact: administrative | + | |
| - | name: Ionut Eugen SANDU | + | |
| - | organisation: National Institute for R&D in Informatics | + | |
| - | ... | + | |
| - | created: 1993-02-26 | + | |
| - | changed: 2018-05-11 | + | |
| - | source: IANA | + | |
| - | ... | + | |
| - | </code> | + | |
| - | + | ||
| - | ==== 2. Autentificarea fără parolă ==== | + | |
| - | + | ||
| - | Până în acest moment ați folosit protocolul ''SSH'' pentru a vă conecta remote de nenumărate ori. | + | |
| - | ''SSH'' funcționează în modul ''client-server'', unde mașinile voastre sunt clienții iar pe mașina pe care doriți să vă autentificați există un server SSH (''daemonul sshd'') care acceptă conexiuni pe portul 22. | + | |
| - | Modul implicit de autentificare, pe care l-ați folosit până în acest moment, este cu parola utilizatorului cu care vreți să vă conectați la server. | + | |
| - | + | ||
| - | Dezavantajele acestei metode sunt: | + | |
| - | * securitatea scazută (parolele trebuie să fie puternice, dar în acest caz sunt greu de reținut) | + | |
| - | * imposibilitatea automatizării anumitor taskuri (dacă este cazul) | + | |
| - | + | ||
| - | Metoda recomandată pentru autentificarea clientului la serverul SSH este folosirea unei perechi de chei publice și private. | + | |
| - | + | ||
| - | Pentru a realiza o conexiune SSH fără parolă de pe mașina locală pe o mașină remote (în cazul nostru mașina ''tom''), trebuie să: | + | |
| - | + | ||
| - | 1. Generați o pereche de chei publice și private pe masina locală: | + | |
| - | + | ||
| - | <code bash> | + | |
| - | $ ssh-keygen -t rsa | + | |
| - | </code> | + | |
| - | + | ||
| - | Apăsați ''enter'' pentru fiecare input cerut. | + | |
| - | Pentru a verifica că cheia SSH a fost creată inspectați conținutul directorului ''~/.ssh/''. Acesta ar trebui să conțină următoarele fișiere: | + | |
| - | * ''id_rsa'' -- cheia privată | + | |
| - | * ''id_rsa.pub'' -- cheia publică | + | |
| - | + | ||
| - | <code bash> | + | |
| - | $ ls ~/.ssh/ | + | |
| - | id_rsa id_rsa.pub known_hosts | + | |
| - | </code> | + | |
| - | + | ||
| - | 2. Copiați cheia publică pe server: | + | |
| - | + | ||
| - | <code bash> | + | |
| - | ssh-copy-id -i ~/.ssh/id_rsa.pub student@<IP-tom> | + | |
| - | </code> | + | |
| - | + | ||
| - | <note> | + | |
| - | Citiți întotdeauna rezultatul comenzilor pe care le rulați. În acest exemplu ar trebui să vedeți mesajul: ''Number of key(s) added: 1''. | + | |
| - | </note> | + | |
| - | + | ||
| - | 3. Vă conectați la mașina remote. Dacă totul a funcționat corect, ar trebui să nu aveți nevoie de parolă: | + | |
| - | + | ||
| - | <code bash> | + | |
| - | $ ssh student@<IP-tom> | + | |
| - | </code> | + | |
| - | + | ||
| - | **[2a]** Acum că ați reușit să vă autentificați fără parolă pe mașina ''tom'', faceți același lucru și pe mașina vituală ''jerry''. | + | |
| - | **[2b]** Conectați-vă prin SSH pe mașina ''tom'' de pe mașina ''jerry''. După cum vedeți, se cere parola utilizatorului. Realizați autentificarea fără parolă în ambele direcții pentru cele două mașini virtuale: ''tom'' și ''jerry'' | + | |
| - | **[2c]** Conectați-vă fără parolă de pe mașina locală pe ''fep.grid.pub.ro''. Dacă ați generat deja o pereche de chei publică și privată pe mașina locală, este nevoie să generați alta? | + | |
| - | + | ||
| - | ==== 3. Hostname ==== | + | |
| - | + | ||
| - | După cum știți, hostname-ul unei mașini se poate observa din prompt-ul terminalui. Acesta se mai poate obține folosind comanda ''hostname''. | + | |
| - | Pentru a schimba hostname-ul unei mașini folosiți aceeași comandă, urmată de noul hostname. Pentru a observa modificarea hostname-ului, deschideți alt terminal. | + | |
| - | + | ||
| - | <code bash> | + | |
| - | $ hostname <new_hostame> | + | |
| - | </code> | + | |
| - | + | ||
| - | **[3a]** Schimbați hostname-ul celor două mașini virtuale ''tom'' și ''jerry'' în ''cat'' și ''mouse''. | + | |
| - | **[3b]** Realizați modificările necesare a.î. hostname-ul să fie persistent (să nu se piardă după repornirea mașinii). | + | |
| - | **[3c]** Dorim să rulăm comanda ''ping'' între mașinile virtuale ''tom'' și ''jerry'' folosind hostname-ul în loc de adresa IP. | + | |
| - | Pentru aceasta trebuie să instalați pachetul ''avahi-daemon''. | + | |
| - | + | ||
| - | <note tip> | + | |
| - | HINT: ping <hostname>.local | + | |
| - | </note> | + | |
| - | + | ||
| - | ==== 4. SSH X11 forwarding ==== | + | |
| - | + | ||
| - | X11 forwarding este folosit pentru a accesa interfața grafică a unei mașini de la distanță, prin intermediul protocolului SSH. | + | |
| - | Pentru a funcționa, X11 forwarding trebuie să fie activat atât pe client cât și pe server. | + | |
| - | + | ||
| - | Pentru acest exercițiu trebuie să vă grupați în echipe de câte doi. Vă veți conecta la calculatorul colegului și veți rula programe cu interfață grafică (firefox, xeyes, etc.). | + | |
| - | + | ||
| - | <code bash> | + | |
| - | $ ssh -X <user>@<IP> | + | |
| - | </code> | + | |
| - | + | ||
| - | ==== 5. Alias pentru conectare la un server SSH ==== | + | |
| - | + | ||
| - | Pentru a ușura conectarea prin SSH, se poate defini un alias care să înglobeze username, adresa serverului, port și diverse opțiuni. | + | |
| - | În cadrul aliasului se poate activa și X11 forwarding folosind opțiunea ''ForwardX11 yes''. | + | |
| - | + | ||
| - | <code bash> | + | |
| - | $ cat ~/.ssh/config | + | |
| - | Host coleg | + | |
| - | HostName <IP-coleg> | + | |
| - | User student | + | |
| - | XForward yes | + | |
| - | </code> | + | |
| - | + | ||
| - | Putem folosi alias-ul ''server'' ca în exemplul următor: | + | |
| - | + | ||
| - | <code bash> | + | |
| - | $ ssh coleg | + | |
| - | </code> | + | |
| - | + | ||
| - | **[5a]** Faceți modificările necesare a.î. să vă conectați prin SSH către cele două mașini virtuale folosind aliasuri în loc de numele de domeniu sau adresa IP. | + | |
| - | Pentru verificare testați folosind ''ssh tom'', respecitv ''ssh jerry''. | + | |
| - | + | ||
| - | ===== Get a Life ===== | + | |
| - | + | ||
| - | ===== Sumar. Cuvinte cheie ===== | + | |
| + | {{page>uso:laboratoare:new:08-net:nav&noheader&nofooter&noeditbutton}} | ||