Differences

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

Link to this comparison view

uso:laboratoare:new:08-net:basics [2018/11/21 00:32]
liza_elena.babu
uso:laboratoare:new:08-net:basics [2018/11/25 18:04] (current)
elena.stoican [5. Conexiune SSH]
Line 1: Line 1:
-===== Need to Know =====+===== Basics ​=====
  
-==== ssh ====+Dacă nu se precizează altfel, în această secțiune veți rula comenzile pe **stația fizică** (sau pe mașina virtuală ''​uso''​ dacă lucrați acasă).
  
-Având la dispoziție mașinile virtuale ''​tom''​ și ''​jerry'',​ ne propunem, ca după  +==== 1Interfețde rețea ====
-pornirea amândurora să aflăm adresele IPPentru a importa cele două mașini  +
-virtuale urmăriți pașii ​de [[ https://​ocw.cs.pub.ro/​courses/​uso/​resurse/​mv#​procedura_import_fisier_ova_in_virtualbox | aici]].+
  
-După importarea mașinilor, deschideți în paralel mașinile virtuale ​''​tom'' ​și ''​jerry''​. +''​ip'' ​este o comandă de Linux folosită pentru a afișa interfețele de rețea disponibile pe sistemul curent de operareDe aici putem afla informații esențiale legate de conectivitatea la internet.
- +
-Vrem să aflăm adresele IP ale celor 2 mașini virtualePentru a face acest lucru folosim comanda  +
-''​ip a s''​ sau comanda ''​ifconfig''​.+
  
 +Pentru a afla adresa IP și masca de rețea a interfețelor sistemului folosim comanda
 <code bash> <code bash>
-student@tom:~$ ifconfig +student@uso:~$ ip a s 
-enp0s3flags=4163<UP,BROADCAST,​RUNNING,​MULTICAST mtu 1500 +1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000 
-        inet 192.168.56.101 ​ netmask 255.255.255.0 ​ broadcast 192.168.56.255 +    ​link/​loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 
-        inet6 fe80::a00:27ff:febf:7477  prefixlen 64  scopeid 0x20<​link>​ +    inet 127.0.0.1/8 scope host lo 
-        ether 08:00:27:bf:74:77  txqueuelen 1000  (Ethernet) +       valid_lft forever preferred_lft forever 
-        RX packets 6284  bytes 8587309 (8.5 MB) +    inet6 ::1/128 scope host  
-        RX errors ​ ​dropped 0  overruns ​ frame 0 +       valid_lft forever preferred_lft forever 
-        TX packets 3536  bytes 245502 (245.5 KB) +2: enp0s3: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc fq_codel state DOWN group default qlen 1000 
-        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0 +    link/ether 08:00:27:49:1d:cd brd ff:ff:​ff:​ff:​ff:​ff 
- +3: enp0s8: <​BROADCAST,​MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000 
-enp0s8flags=4163<UP,BROADCAST,RUNNING,MULTICAST mtu 1500 +    link/ether 08:00:27:b1:36:c8 brd ff:​ff:​ff:​ff:​ff:​ff 
-        inet 10.0.2.5 ​ netmask 255.255.255.0 ​ broadcast 10.0.2.255 +    inet 10.0.2.4/24 brd 10.0.2.255 scope global dynamic noprefixroute enp0s8 
-        inet6 fe80::​a00:​27ff:​fe84:​cd0a ​ prefixlen 64  scopeid 0x20<link+       valid_lft 666sec preferred_lft 666sec 
-        ​ether 08:00:27:84:cd:0a  txqueuelen 1000  (Ethernet) +    ​inet6 fe80::9927:​3d0d:​77b5:​8ca9/​64 scope link noprefixroute ​ 
-        RX packets 49745  bytes 74514906 (74.5 MB) +       valid_lft forever preferred_lft forever
-        RX errors 0  dropped 0  overruns 0  frame 0 +
-        TX packets 32084  bytes 1935578 (1.9 MB) +
-        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0 +
- +
-enp0s9flags=4163<UP,BROADCAST,RUNNING,MULTICAST mtu 1500 +
-        inet6 fe80::​a00:​27ff:​fe94:​2ff3 ​ prefixlen 64  scopeid 0x20<link+
-        ​ether 08:00:27:94:2f:f3  txqueuelen 1000  (Ethernet) +
-        RX packets 0  bytes 0 (0.0 B) +
-        RX errors 0  dropped 0  overruns 0  frame 0 +
-        TX packets ​36  bytes 9194 (9.1 KB) +
-        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0 +
- +
-loflags=73<​UP,​LOOPBACK,​RUNNING> ​ mtu 65536 +
-        inet 127.0.0.1  netmask 255.0.0.0 +
-        inet6 ::1  prefixlen 128  scopeid 0x10<​host>​ +
-        ​loop ​ txqueuelen 1000  (Local Loopback) +
-        RX packets 945  bytes 88159 (88.1 KB) +
-        RX errors 0  dropped 0  overruns 0  frame 0 +
-        TX packets 945  bytes 88159 (88.1 KB) +
-        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0+
 </​code>​ </​code>​
  
-- Luați adresa IP de pe mașina ​''​tom''​ și dați ping la acea adresă de pe mașina ''​jerry''​.+Parametrii ​''​a''​ și ''​s''​ sunt prescurtările de la ''​address'' ​ș''​show''​. Astfel, semnificația comenzii ''​ip a s''​ se traduce în ''​ip address show''​. 
 + 
 +Interfața **loopback** (cu numele ''​lo''​) este o interfață virtuală (**nu** una fizică). Scopul acestei interfețe este de a întoarce pachetele trimise către sistemul local, de obicei cu rol în testare.
  
-Vrem să ne conectăm prin ''​ssh''​ de pe mașina fizică pe una dintre mașinile virtualePrimul pas este  +Putem trimite comenzii ​''​ip a s'' ​ca parametru numele unei interfețe ​de rețea pentru a afișa informații doar despre acea interfață de rețeaComanda de mai jos afișează informații despre interfațde loopback (''​lo''​):​
-să aflăm adresa IP mașinii virtuale.+
  
 <code bash> <code bash>
-student@tom:~$ ip a s+student@uso:~$ ip a s lo
 1: lo: <​LOOPBACK,​UP,​LOWER_UP>​ mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000 1: lo: <​LOOPBACK,​UP,​LOWER_UP>​ mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
     link/​loopback 00:​00:​00:​00:​00:​00 brd 00:​00:​00:​00:​00:​00     link/​loopback 00:​00:​00:​00:​00:​00 brd 00:​00:​00:​00:​00:​00
Line 62: Line 39:
        ​valid_lft forever preferred_lft forever        ​valid_lft forever preferred_lft forever
     inet6 ::1/128 scope host      inet6 ::1/128 scope host 
-       ​valid_lft forever preferred_lft forever 
-2: enp0s3: <​BROADCAST,​MULTICAST,​UP,​LOWER_UP>​ mtu 1500 qdisc fq_codel state UP group default qlen 1000 
-    link/ether 08:​00:​27:​bf:​74:​77 brd ff:​ff:​ff:​ff:​ff:​ff 
-    inet 192.168.56.101/​24 brd 192.168.56.255 scope global dynamic enp0s3 
-       ​valid_lft 962sec preferred_lft 962sec 
-    inet6 fe80::​a00:​27ff:​febf:​7477/​64 scope link  
-       ​valid_lft forever preferred_lft forever 
-3: enp0s8: <​BROADCAST,​MULTICAST,​UP,​LOWER_UP>​ mtu 1500 qdisc fq_codel state UP group default qlen 1000 
-    link/ether 08:​00:​27:​84:​cd:​0a brd ff:​ff:​ff:​ff:​ff:​ff 
-    inet 10.0.2.5/24 brd 10.0.2.255 scope global enp0s8 
-       ​valid_lft forever preferred_lft forever 
-    inet6 fe80::​a00:​27ff:​fe84:​cd0a/​64 scope link  
-       ​valid_lft forever preferred_lft forever 
-4: enp0s9: <​BROADCAST,​MULTICAST,​UP,​LOWER_UP>​ mtu 1500 qdisc fq_codel state UP group default qlen 1000 
-    link/ether 08:​00:​27:​94:​2f:​f3 brd ff:​ff:​ff:​ff:​ff:​ff 
-    inet6 fe80::​a00:​27ff:​fe94:​2ff3/​64 scope link  
        ​valid_lft forever preferred_lft forever        ​valid_lft forever preferred_lft forever
 </​code>​ </​code>​
 +
 +La câmpul ''​inet''​ din rezultatul rulării comenzii, putem observa adresa IP ''​127.0.0.1''​. De obicei, aceasta este adresa interfaței de loopback.
  
 <​note>​ <​note>​
-Observăm faptul că adresa IP a mașinii ''​tom'' este ''​192.168.56.101''​.+De aici și glumele de pe internet cu ''​There's no place like 127.0.0.1''​. ​Pentru că fiecare sistem are propria interfață virtuală loopback, pe care o numim "​acasă"​
 </​note>​ </​note>​
  
-După ce am făcut acest lucru, deschidem un terminal pe mașina fizică. Să zicem că vrem să ne conectăm ​ +=== Conectivitatea la Internet === 
-drept utilizatorul ​''​student'' ​pe mașina virtuală. Pentru a face acest lucru urmăriți pașii de mai jos + 
-Vi se va cere parola utilizatorului ''​student''​ de pe mașina virtuală ​care este ''​student''​.+Putem verifica conectivitatea la internet folosind utilitarul ​''​ping''​. Acesta transmite pachete către o anumită adresa (dată ca parametru)Acest utilitar ne arată dacă pachetele trimise ajung la destinație și în cât timpO adresă ​pe care o putem folosi întotdeauna ​este ''​8.8.8.8'' ​(o adresă de la Google).
  
 <code bash> <code bash>
-student@uso:​~$ ​ssh student@192.168.56.101 +student@uso:​~$ ​ping 8.8.8.8 
-The authenticity of host '192.168.56.101 (192.168.56.101)' can't be established. +PING 8.8.8.(8.8.8.8): 56 data bytes 
-ECDSA key fingerprint is SHA256:sqi88F/​jVZ+RiHMMkLGXidACSAHlfXHos2d+gwWcqoY+64 bytes from 8.8.8.8icmp_seq=0 ttl=121 time=17.324 ms 
-Are you sure you want to continue connecting (yes/no)? yes +64 bytes from 8.8.8.8: icmp_seq=1 ttl=121 time=18.513 ms 
-Warning: Permanently added '192.168.56.101' (ECDSA) to the list of known hosts+^C 
-student@192.168.56.101's password: ​ +--- 8.8.8.8 ping statistics --- 
-Welcome to Ubuntu 18.04.1 LTS (GNU/Linux 4.15.0-33-generic x86_64)+2 packets transmitted,​ 2 packets received, 0.0% packet loss 
 +round-trip min/​avg/​max/​stddev = 17.324/17.919/18.513/0.594 ms 
 +</​code>​
  
- * Documentation: ​ https://​help.ubuntu.com +Putem observa ca pachetele noastre au ajuns la destinație în 17msDe aici putem trage concluzia că avem o conexiune la internet funcțională.
- * Management: ​    ​https://​landscape.canonical.com +
- * Support: ​       https://​ubuntu.com/​advantage+
  
-  System information as of Tue Nov 20 21:36:36 UTC 2018+**[1a]** Aflați adresa IP a sistemului fizic (**nu** ''​lo''​) și dați un ping către adresa IP.
  
-  System load:  0.07              Processes: ​            94 +**[1b]** Aflați adresele ​IP ale colegilor (minim 2) și dați ping către acele adrese ​IP.
-  Usage of /:   50.4% of 9.78GB ​  Users logged in:       1 +
-  Memory usage: 35%               IP address for enp0s3: 192.168.56.101 +
-  Swap usage: ​  ​0% ​               ​IP address for enp0s8: 10.0.2.5+
  
- * Read about Ubuntu updates for L1 Terminal Fault Vulnerabilities +==== 2Urmărirea pachetelor ====
-   ​(L1TF).+
  
-   https://ubu.one/L1TF+Atunci când apelăm utilitarul ''​ping''​ cu o anumită adresă din internet, se trimit pachete până la aceasta. Dacă acestea nu ajung la destinație,​ ce concluzie putem trage? Că nu avem interfața configurată corespunzător?​ Dar dacă furnizorul de Internet (să spunem RDS) are o problemă sau nu ne-am plătit factura la internet? Trebuie să putem afla unde este problemaCare este punctul în care pachetele noastre se pierd. Putem afla această informație folosind utilitarul ''​traceroute'',​ la fel ca mai jos:
  
- * Check out great IDEs now available on UbuntuThere may even be +<code bash> 
-   something worthwhile there for those crazy EMACS fans ;)+student@uso:​~$ traceroute 8.8.8.8 
 +traceroute to 8.8.8.8 (8.8.8.8), 64 hops max, 52 byte packets 
 + ​1 ​ danubiu12.lan (192.168.255.1) ​ 3.677 ms  0.870 ms  0.808 ms 
 + ​2 ​ 10.0.0.1 (10.0.0.1) ​ 1.991 ms  2.075 ms  1.908 ms 
 + ​3 ​ 10.30.1.209 (10.30.1.209) ​ 3.720 ms  2.215 ms  1.959 ms 
 + ​4 ​ 10.220.137.28 (10.220.137.28) ​ 21.973 ms 
 +    10.220.137.30 (10.220.137.30) ​ 15.755 ms 
 +    10.220.128.72 (10.220.128.72) ​ 15.574 ms 
 + ​5 ​ 213-154-130-234.rdsnet.ro (213.154.130.234) ​ 17.572 ms  16.963 ms  18.208 ms 
 +  74.125.242.241 (74.125.242.241) ​ 17.910 ms  18.196 ms  16.700 ms 
 + 7  108.170.238.135 (108.170.238.135 ​15.377 ms 
 +    108.170.225.23 (108.170.225.23) ​ 18.141 ms 
 +    209.85.142.19 (209.85.142.19) ​ 19.790 ms 
 + ​8 ​ google-public-dns-a.google.com (8.8.8.8) ​ 16.774 ms  16.613 ms  15.950 ms 
 +</​code>​
  
-   https://bit.ly/​6-cool-IDEs+Putem observa calea pachetelor de la gateway-ul local (''​192.168.255.1'',​ va fi altul în cazul vostru) până la serverele Google.
  
-139 packages can be updated+Putem apela același utilitar și cu un nume de domeniu: 
-40 updates are security updates.+<code bash> 
 +student@uso:​~$ traceroute google.com 
 +traceroute to google.com (216.58.209.174),​ 64 hops max, 52 byte packets 
 + ​1 ​ danubiu12.lan (192.168.255.1) ​ 1.115 ms  0.817 ms  0.835 ms 
 + ​2 ​ 10.0.0.1 (10.0.0.1) ​ 2.068 ms  2.027 ms  1.991 ms 
 + ​3 ​ 10.30.1.209 (10.30.1.209) ​ 2.134 ms  3.027 ms  2.515 ms 
 + ​4 ​ 10.220.132.8 (10.220.132.8) ​ 16.611 ms 
 +    10.220.128.66 (10.220.128.66) ​ 14.901 ms 
 +    10.220.128.62 (10.220.128.62) ​ 16.787 ms 
 + ​5 ​ 213-154-130-234.rdsnet.ro (213.154.130.234) ​ 17.705 ms  16.165 ms  17.994 ms 
 + ​6 ​ 74.125.242.241 (74.125.242.241) ​ 16.531 ms  18.200 ms  17.689 ms 
 + ​7 ​ 66.249.94.123 (66.249.94.123) ​ 18.622 ms 
 +    66.249.94.163 (66.249.94.163) ​ 17.212 ms  16.840 ms 
 + ​8 ​ bud02s21-in-f14.1e100.net (216.58.209.174) ​ 15.921 ms  16.906 ms  16.412 ms 
 +</​code>​
  
 +Ieșirea comenzii afișează și adresa publică a site-ului ''​google.com''​.  ​
  
-Last login: Tue Nov 20 21:28:13 2018 +**[2a]** Afișați calea urmată de mașina virtuală către numele de domeniu ''​realitatea.net'',​ către ''​gandul.info''​ și către ''​bbc.com''​. Observați care este mai apropiată (către care sunt mai puține ​//​hop//​-uri).
-student@tom:​~$  +
-</code>+
  
-<​note>​ +==== 3Default gateway ====
-Atenție, adresa IP de mai sus va fi diferită în funcție de rețeaua în care se află vă aflați. +
-</​note>​+
  
-- Conectați-vă în același fel de pe mașina fizică pe cealaltă mașină virtuală+Atunci când pachetele pleacă către Internet, sistemul trebuie să știe cui îi va trimite pachetele în mod implicit, adică să știe ''​gateway-ul''​. Această configurare se poate vedea folosind utilitarul ​''​ip'' ​cu opțiunea ​''​route show''​, ca mai jos: 
-Conectați-vă de pe mașina ​''​tom'' ​pe mașina ​''​jerry'' ​folosind ​''​ssh''​.+<code bash> 
 +student@uso:​~$ ip r s 
 +default via 10.0.2.1 dev enp0s8 proto dhcp metric 100  
 +[...] 
 +</​code>​ 
 +Mai sus am folosit forma prescurtată a comenzii ''​ip route show'',​ adică ​''​ip r s''​.
  
-==== scp ====+Putem observa că implicit pachetele se duc către adresa IP ''​10.0.2.1''​.
  
-Utilitarul ​''​scp'' ​(secure copy) este folosit pentru a copia fișiere de pe o stație pe alta. Există ​și  +**[3a]** Afișați gateway-ul de pe mașina virtuală ​''​tom''​ șde pe mașina virtuală ''​jerry''​.
-alte utilitare cu care putem face acest lucru, însă aceasta are avantajul că datele sunt transmise sigur,  +
-folosind ​''​ssh''​.+
  
-''​scp''​ are o sintaxă asemănătoare cu ''​cp'',​ și anume ''​scp sursă destinație''​. Folosind ''​scp''​ putem  +==== 4DNS ====
-copia fișiere de pe mașina noastră pe o altă mașină, fie de pe o altă mașină direct în mașina noastră.  +
-Urmăriți pașii de mai jos pentru a copia un fișier de pe mașina fizică pe mașina virtuală ''​tom''​.+
  
-Pe mașina ''​tom'':​+Destinațiile din Internet sunt întotdeauna adrese IP. Pentru ca ne este greu sa reținem aceste adrese, se face o mapare între un nume și o adresă IP folosind seviciul DNS (//Domain Name System//). Dacă destinația este un nume, se face o cerere DNS pentru a afla adresa IP. 
 + 
 +Putem vedea adresa serverului DNS in ''​/​etc/​resolv.conf''​, folosind comanda:
 <code bash> <code bash>
-student@tom:~$: ip a s +student@uso:~$ cat /etc/resolv.conf 
-1: lo: <​LOOPBACK,​UP,​LOWER_UP>​ mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000 +[...] 
-    link/loopback 00:​00:​00:​00:​00:​00 brd 00:​00:​00:​00:​00:​00 +nameserver 127.0.0.53
-    inet 127.0.0.1/8 scope host lo +
-       valid_lft forever preferred_lft forever +
-    inet6 ::1/128 scope host  +
-       ​valid_lft forever preferred_lft forever +
-2: enp0s3: <​BROADCAST,​MULTICAST,​UP,​LOWER_UP>​ mtu 1500 qdisc fq_codel state UP group default qlen 1000 +
-    link/ether 08:​00:​27:​bf:​74:​77 brd ff:​ff:​ff:​ff:​ff:​ff +
-    inet 192.168.56.101/24 brd 192.168.56.255 scope global dynamic enp0s3 +
-       valid_lft 650sec preferred_lft 650sec +
-    inet6 fe80::​a00:​27ff:​febf:​7477/​64 scope link  +
-       ​valid_lft forever preferred_lft forever +
-3: enp0s8: <​BROADCAST,​MULTICAST,​UP,​LOWER_UP>​ mtu 1500 qdisc fq_codel state UP group default qlen 1000 +
-    link/ether 08:​00:​27:​84:​cd:​0a brd ff:​ff:​ff:​ff:​ff:​ff +
-    inet 10.0.2.5/24 brd 10.0.2.255 scope global enp0s8 +
-       ​valid_lft forever preferred_lft forever +
-    inet6 fe80::​a00:​27ff:​fe84:​cd0a/​64 scope link  +
-       ​valid_lft forever preferred_lft forever +
-4: enp0s9: <​BROADCAST,​MULTICAST,​UP,​LOWER_UP>​ mtu 1500 qdisc fq_codel state UP group default qlen 1000 +
-    link/ether 08:​00:​27:​94:​2f:​f3 brd ff:​ff:​ff:​ff:​ff:​ff +
-    inet6 fe80::​a00:​27ff:​fe94:​2ff3/​64 scope link  +
-       ​valid_lft forever preferred_lft forever+
 </​code>​ </​code>​
  
-Luăm adresa IP a mașinii ​''​tom''​ și apoi pe mașina fizică:+Putem face interogări la serverul DNS folosind utilitarul ​''​host''​. Interogare directă este atunci când folosind numele de domeniu ​și obținem adresa IP; interogare inversă este atunci când folosim adresa IP ca să aflăm numele de domeniu. Mai jos sunt două exemple de interogare directă urmate de două exemple de interogare inversă:
 <code bash> <code bash>
-student@uso:​~$ ​echo "my first scp" > file.txt +student@uso:​~$ ​host fsf.org 
-student@uso:​~$ ​cat file.txt +fsf.org has address 208.118.235.174 
-my first scp +fsf.org has IPv6 address 2001:​4830:​134:​4::​a 
-student@tom:~$ scp file.txt student@TOTO:​+fsf.org mail is handled by 10 mail.fsf.org
-student@192.168.56.101's password: ​ +student@uso:​~$ ​host kernel.org 
-file.txt                                      100%   ​13 ​    9.1KB/s   ​00:​00 ​+kernel.org has address 198.145.29.83 
 +kernel.org mail is handled by 10 mail.kernel.org
 + 
 +student@uso:~$ host swarm.cs.pub.ro 
 +swarm.cs.pub.ro has address 141.85.227.118 
 +swarm.cs.pub.ro mail is handled by 10 swarm.cs.pub.ro
 +student@uso:~$ host 209.132.180.180 
 +180.180.132.209.in-addr.arpa domain name pointer proxy01.gnome.org.
 </​code>​ </​code>​
  
-<​note>​ 
-Atenție, după construcția ''​student@192.168.56.101''​ urmează '':​.''​. Așa specificăm unde pe mașina ''​tom''​ să fie  
-copiat fișierul ''​file.txt''​. Dupa '':''​ treceți calea din sistemul de fișiere al mașinii ''​tom''​ la care  
-vreți ca fișierul să fie copiat. În cazul exemplului de mai sus, ''​.''​ ține loc de **directorul curent** ​ 
-care va fi ''/​home/​student''​. 
-</​note>​ 
  
-Ca să ne asigurăm că fișierul fost transmis corect, inspectăm ​mașina ''​tom''​:+**[4a]** Afișați serverul DNS de pe mașina ​virtuală ​''​tom''​.
  
 +**[4b]** Dați ping în ''​facebook.com''​ folosind numele și apoi folosind adresa IP.
 +
 +**[4c]** Aflați adresa IP pentru numele de domeniu ''​ocw.cs.pub.ro'',​ ''​studenti.pub.ro'',​ ''​insecure.org'',​ ''​eu.org''​.
 +
 +==== 5. Conexiune SSH ====
 +
 +Un mod semnificativ mai ușor de a folosi o mașina virtuală este următorul: având un terminal pe mașina fizică ne conectăm prin SSH la mașina virtuală. Astfel, trecerea de la mașina fizică la cea virtuală se reduce la schimbarea de tab-uri in terminal. Un alt avantaj este că putem folosi copy-paste fără probleme din terminal.
 +
 +Pentru a ne conecta la mașina virtuală avem nevoie de 2 informații:​
 +  * numele utilizatorului (//​username//​) cu care vrem să fim autentificați pe mașina virtuală
 +  * adresa mașinii virtuale (putem folosi ''​ip a s''​ pentru a afla adresa IP)
 +Sintaxa este de forma ''​%%ssh <​user>​@<​IP>​%%'',​ unde ''​%%<​user>​%%''​ este numele de utilizator iar ''​%%<​IP>​%%''​ este numele de domeniu sau adresa IP corespunzătoare.
 +
 +Vom face o conexiune SSH între stația fizică și mașina virtuală ''​tom''​.
 +
 +<note important>​
 +Pentru a face o conexiune SSH între stația fizică și mașina virtuală ''​tom''​ va trebui să avem interfața activată, pe mașina virtuală ''​tom''​. Pentru aceasta rulați comanda
 <code bash> <code bash>
-student@tom:​~$ ​ls +student@tom:​~$ ​sudo dhclient enp0s8
-file.txt ​ uso.git ​ utils  vm-actions-log.txt +
-student@tom:​~$ cat file.txt +
-my first scp+
 </​code>​ </​code>​
 +care va asigura obținerea, prin DHCP, a parametrilor de rețea pentru interfața ''​enp0s8''​.
  
-- Pe mașina virtuală ''​jerry''​ creați un fișier la calea ''/​home/​student''​. Fiind pe mașina fizicăcopiați acest fișier în directorul ''​~/uso/​labs/​05-cli/​support/​need-to-know''​.(Hintfiți atenți sintaxa utilitarului ''​scp''​) +Folosind comanda 
-- Copiați același fișier de mai devreme, ''​file.txt''​ de pe mașina fizică pe ''​fep.grid.pub.ro''​Username-ul ​și parola sunt cele de pe platforma ​''​acs.curs.pub.ro''​. ​(Hint: aici nu mai avem nevoie ​de adresa IP pentru ​''​fep.grid.pub.ro''​)+<code bash> 
 +student@tom:~$ ip a s enp0s8 
 +3: enp0s8: <​BROADCAST,MULTICAST,​UP,​LOWER_UP>​ mtu 1500 qdisc fq_codel state UP group default qlen 1000 
 +    link/ether 08:00:27:71:db:21 brd ff:​ff:​ff:​ff:​ff:​ff 
 +    inet 192.168.56.101/24 brd 192.168.56.255 scope global enp0s8 
 +       ​valid_lft forever preferred_lft forever 
 +    inet6 fe80::​a00:​27ff:​fe71:​db21/​64 scope link 
 +       ​valid_lft forever preferred_lft forever 
 +</​code>​ 
 +aflăm adresa IP a mașinii virtuale ​''​tom''​. ​În cazul de față este vorba de ''​192.168.56.101''​.
  
-Conectați-vă prin ''​ssh'' ​pe ''​fep.grid.pub.ro''​. Vrem să aflăm utilizatorii care sunt contectați pe ''​fep.grid.pub.ro''​.  +Este posibil ca adresa IP pentru mașina virtuală ''​tom''​ să fie alta în rularea voastră. Folosiți în continuare adresa IP obținută din rularea voastră
-Pentru a face acest lucru vom folosi comanda ''​who''​.+</​note>​
  
 +Pentru a ne conecta de pe stația fizică la mașina virtuală ''​tom''​ folosim comanda:
 <code bash> <code bash>
-student@uso:​~$ ssh mr_perfect.perfection@fep.grid.pub.ro+student@uso:​~$ ssh student@192.168.56.101 
 +The authenticity of host '​192.168.56.101 (192.168.56.101)'​ can't be established. 
 +ECDSA key fingerprint is SHA256:​sqi88F/​jVZ+RiHMMkLGXidACSAHlfXHos2d+gwWcqoY. 
 +Are you sure you want to continue connecting (yes/no)? yes 
 +Warning: Permanently added '​192.168.56.101'​ (ECDSA) to the list of known hosts. 
 +student@192.168.56.101'​s password: 
 +[...] 
 +student@tom:​~$ 
 +</code bash> 
 +Ne-am conectat prin SSH la mașina virtuală ''​tom'',​ lucru pe care îl vedem în prompt.
  
-* IMPORTANT - PLEASE READ CAREFULLY:​ +Pentru ​ne deconecta de la mașina virtuală folosim comanda ''​exit''​ sau comanda ''​logout''​ sau folosim combinația ​de taste ''​Ctrl+d'​': 
-* Spatiul de stocare ​ajuns la limita maxima din cauza neglijentei dvoastra. Acesta nu este un spatiu ​de stocare personal. +<​code ​bash> 
-  In data de 1.08.2018 se vor arhiva toate datele iar pe 1.09.2018 se vor sterge. +student@tom:~$ logout 
-* If you are using GPU computing and TensorFlow technology, please use CUDA_VISIBLE_DEVICES +Connection to 192.168.56.101 closed
-  to limit the number of GPUs. Otherwise, you will be banned. +student@uso:~$
-* Your sessions will be disconnected automatically after 60min on inactivity. +
-  You can use "-o ServerAliveInterval 10" option if you need longer sessions.* +
-mr_perfect.perfection@fep.grid.pub.ro's password:  +
-Last login: Tue Nov 20 22:23:44 2018 from 192.168.6.10 +
--bash: warning: setlocale: LC_CTYPE: cannot change locale (UTF-8): No such file or directory +
-[mr_perfect.perfection@fep7-1 ​~]who +
-mihai.niculescu1606 pts/0        Nov 20 20:03 (192.168.6.10) +
-mihai.niculescu1606 pts/1        Nov 20 20:01 (192.168.6.10) +
-george.pirtoaca pts/2        Nov 20 21:20 (192.168.6.10) +
-mihai.niculescu1606 pts/3        Nov 20 20:05 (192.168.6.10) +
-liviu.muresanu pts/​10 ​      Nov 20 22:04 (192.168.6.10) +
-mihai.niculescu1606 pts/​14 ​      Nov 20 19:05 (192.168.6.10) +
-laurentiu.stefan97 pts/​15 ​      Nov 20 20:55 (192.168.6.10) +
-bianca_mihaela.cauc pts/​18 ​      Nov 20 21:47 (192.168.6.10) +
-andrei.stancu1608 pts/​19 ​      Nov 20 22:05 (192.168.6.10) +
-cstaniloiu pts/​20 ​      Nov 20 22:14 (192.168.6.10) +
-liza_elena.babu pts/​21 ​      Nov 20 22:23 (192.168.6.10) +
-gheorghe.visinescu pts/​23 ​      Nov 20 22:16 (192.168.6.10) +
-tudor_antonio.barbu pts/​25 ​      Nov 20 22:24 (192.168.6.10) +
-root     ​pts/​79 ​      Nov 20 18:19 (192.168.6.41)+
 </​code>​ </​code>​
  
-Folosim comanda ''​exit''​ pentru ​ne deconecta.+**[5a]** Conectația la stația locală (conexiune pe interfațde loopback)Apoi deconectați-vă,​
  
- ==== DNS ====+**[5b]** Adăugați un utilizator nou pe mașina ''​tom''​. Conectați-vă de pe mașina locală pe mașina ''​tom''​ cu noul utilizator creat.
  
-Ne propunem să aflăm serverul DNS al sistemului ​fizic. ​Pentru a obține această informație inspectăm fișierul  +**[5c]** Conectați-vă la mașina virtuală ''​jerry''​ de pe sistemul ​fizic. 
-''​/etc/resolv.conf''​.+ 
 +**[5d]** Conectați-vă de pe mașina virtuală ''​tom''​ la mașina virtuală ''​jerry''​. 
 + 
 +==== 6. wget ==== 
 + 
 +Utilitarul ​''​wget''​ descarcă conținutul unei pagini webUn exemplu de folosire este:
  
 <code bash> <code bash>
-student@uso:​~$ ​cat /etc/resolv.conf +student@uso:​~$ ​wget http://ipecho.net/plain 
-# This file is managed by man:systemd-resolved(8). Do not edit. +--2018-09-02 16:08:55--  http://​ipecho.net/​plain 
-+Resolving ipecho.net ​(ipecho.net)... 146.255.36.1 
-# This is a dynamic resolv.conf file for connecting local clients to the +Connecting ​to ipecho.net (ipecho.net)|146.255.36.1|:80... connected
-# internal DNS stub resolver of systemd-resolvedThis file lists all +HTTP request sent, awaiting response... 200 OK 
-# configured search domains+Length: unspecified [text/plain] 
-+Saving to: ‘plain.1’
-# Run "​systemd-resolve --status" ​to see details about the uplink DNS servers +
-# currently in use. +
-+
-# Third party programs must not access this file directly, but only through the +
-# symlink at /etc/resolv.confTo manage man:resolv.conf(5) in a different way, +
-# replace this symlink by a static file or a different symlink+
-+
-# See man:​systemd-resolved.service(8) for details about the supported modes of +
-# operation for /etc/​resolv.conf.+
  
-nameserver 192.168.255.1 +plain.1                                    [ <​=> ​                                                                       ]      13  --.-KB/s    in 0s       
-search BlinkAP+ 
 +2018-09-02 16:08:55 (1,48 MB/s) - ‘plain.1’ saved [13] 
 + 
 +student@uso:​~$ ls plain 
 +plain 
 +student@uso:​~$ cat plain 
 +188.26.36.205
 </​code>​ </​code>​
  
-Intrarea ''​nameserver 141.85.0.82''​ ne arată ca DNS-ul sistemului nostru are adresa IP ''​141.85.0.82''​.  + 
-Putem folosi comanda ''​nslookup'' ​să  +Dacă vrem să descărcăm direct
-vedem că adresa este într-adevăr cea din fișierul editat mai devreme.+
  
 <code bash> <code bash>
-student@uso:​~ $ nslookup www.google.com +student@uso:​~$ ​wget -qO- http://ipecho.net/plain ; echo 
-Server:​ 192.168.255.1 +188.26.36.205
-Address:​ 192.168.255.1#​53 +
-  +
-Non-authoritative answer: +
-Name: www.google.com +
-Address: 172.217.19.68+
 </​code>​ </​code>​
  
-- Aduceți modificări asupra fișierului ​''/​etc/resolv.conf''​ în așa fel încât adresa DNS-ului să fie ''​8.8.8.8''​Verificați faptul că adresa serverului DNS a fost modificată. (Hint: aveți nevoie ​de drepturi privilegiate să modificați fișierul ''​/etc/resolv.conf''​) +**[6a]** Descărcați arhiva folosind ''wget'' de la link-ul [[http://www.openss7.org/​repos/​tarballs/​strx25-0.9.2.1.tar.bz2]]. 
-- Folosind comanda ''​host'',​ aflați adresa IP pentru ''​www.facebook.com''​. + 
-- Rulați scriptul ''​script.sh''​ de la calea ''​~/uso/labs/05-cli/support/​need-to-know''​. Încercați să reluați exercițiul 2. Ce se întâmplă?​ Inspectați sistemul și rezolvați problema.+**[6b]** Descărcați capitolul 11 din cartea ​de USO de la link-ul [[http://elf.cs.pub.ro/uso/res/carte/]].
uso/laboratoare/new/08-net/basics.1542753138.txt.gz · Last modified: 2018/11/21 00:32 by liza_elena.babu
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