Need to Know

Pe parcursul acestei secțiuni și a următoarelor vom folosi următoarele termene pentru a identifica sistemul pe care rulăm comenzi:

  • sistemul fizic sau mașina fizică sau stația locală se referă la sistemul din laborator
  • sistemul tom sau mașina virtuală tom se referă la mașina virtuală tom
  • sistemul tom sau mașina virtuală jerry se referă la mașina virtuală jerry

1. Dezactivare interfețe. DHCP

Sunt situații în care am realizat o configurare greșită și vrem să dezactivăm acea configurare de pe o interfață. În mod normal, resetarea completă a configurației unei interfețe presupune doi pași:

  • eliberarea (flush) configurației acelei interfețe
  • dezactivarea acelei interfețe

Nu rulați comenzile de mai jos pe o conexiune SSH pe mașina virtuală tom. Vă veți dezactiva legătura fizică și veți pierde și conexiune SSH. Rulați comenzile direct în interfața CLI (alb pe negru) a aplicației VirtualBox.

Dacă vă rămâne o conexiune SSH “agățată” (nu mai primește comenzi) înseamnă că s-a pierdut conexiunea și terminalul rămâne blocat. Pentru a debloca terminalul folosiți secvența <Enter> ~ ., adică apăsați pe rând tasta Enter> apoi tasta tildă (~) apoi tasta punct (.)

Vedeți și răspunsul de aici.

Mai jos eliberăm și dezactivăm interfața enp0s8 de pe mașina virtuală tom:

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
student@tom:~$ sudo ip address flush enp0s8
[sudo] password for student:
student@tom:~$ sudo ip link set dev enp0s8 down
student@tom:~$ ip a s enp0s8
3: enp0s8: <BROADCAST,MULTICAST> mtu 1500 qdisc fq_codel state DOWN group default qlen 1000
    link/ether 08:00:27:71:db:21 brd ff:ff:ff:ff:ff:ff

Mai sus am folosit:

  • comanda ip a s enp0s8 ca să vedem starea interfeței. La început are adresă IP și este activată (state UP). La sfârșit nu are adresă IP și este dezactivată (state DOWN).
  • comanda ip address flush enp0s8 ca să eliberăm (flush) configurația interfeței
  • comanda ip link set dev enp0s8 down ca să dezactivăm interfața

[1a] Folosiți comanda dhclient pentru a reface configurația de rețea pe interfața enp0s8 pe mașina virtuală tom. Verificați folosind ping de pe sistemul fizic.

[1b] Dezactivați configurația interfeței enp0s8 de pe mașina virtuală jerry.

[1c] Folosiți comanda dhclient pentru a reface configurația de rețea pe interfața enp0s8 pe mașina virtuală jerry. Verificați folosind ping de pe sistemul fizic și de pe mașina virtuală tom,

2. SSH

Această secțiune recapitulează noțiuni și comenzi din secțiunea Basics pe care vrem să le exersăm.

Folosim protocolul SSH și comanda ssh pentru a ne conecta la distanță, folosind o comandă de forma:

ssh <username>@<hostname>

unde <username> este numele de utilizator iar <hostname> este numele de stație (sau adresa IP) a stației la care vrem să ne conectăm.

[2a] Realizați, prin SSH, folosind comanda ssh toate formele de conexiune (6 în total) între sistemul fizic, mașina virtuală tom și mașina virtuală jerry.

[2b] Conectați-vă la sistemul unui coleg din stânga sau dreapta voastră, după ce îl întrebați de adresa sa IP.

[2c] Conectați-va la sistemul fep.grid.pub.ro folosind numele de utilizator de pe acs.curs.pub.ro și parola de acolo.

3. scp

Utilitarul scp (secure copy) este folosit pentru a copia fișiere de pe o stație pe alta în mod sigur folosind protocolul SSH. Există și 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 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 virtuală tom aflăm adresa IP a interfeței enp0s8 adresa de legătură între sistemul fizic și mașina virtuală tom:

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

Folosim apoi adresa IP găsită mai sus a mașinii tom (în cazul de față 192.168.56.101) pe mașina fizică:

student@uso:~$ echo "my first scp" > file.txt
student@uso:~$ cat file.txt
my first scp
student@uso:~$ scp file.txt student@192.168.56.101:
student@192.168.56.101's password: 
file.txt                                      100%   13     9.1KB/s   00:00 

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, nu avem nimic, ceea ce înseamnă că se copiază fișierul în directorul curent care va fi /home/student.

Apoi pe stația tom verificăm existența fișierului:

student@tom:~$ ls file.txt
file.txt
student@tom:~$ cat file.txt
my first scp

[3a] Pe mașina virtuală jerry creați un fișier la calea /home/student. Copiați acest fișier pe mașina virtuală tom și verificați că a avut loc copierea.

[3b] Fiind pe sistemul fizic, copiați fișierul de mai sus de pe mașina virtuală jerry în directorul ~/uso.git/labs/08-net/.

[3c] Fiind pe sistemul fizic, copiați același fișier de mai devreme de pe mașina fizică pe fep.grid.pub.ro, folosind contul vostru de pe acs.curs.pub.ro.

4. Comenzi prin SSH

În mod obișnuit, folosirea comenzii ssh duce la deschiderea unui shell la distanță (remote shell) unde putem rula comenzi. Dacă ne interesează, putem însă rula direct comenzi fără a mai deschide un shell, dând un parametru comenzii ssh, ca în exemplele de mai jos:

razvan@jotunn:~$ ssh -l student 192.168.56.101 hostname
student@192.168.56.101's password:
tom
razvan@jotunn:~$ ssh -l student 192.168.56.101 df -h
student@192.168.56.101's password:
Filesystem      Size  Used Avail Use% Mounted on
udev            211M     0  211M   0% /dev
tmpfs            49M  956K   48M   2% /run
/dev/sda2       9.8G  5.0G  4.4G  54% /
tmpfs           241M     0  241M   0% /dev/shm
tmpfs           5.0M     0  5.0M   0% /run/lock
tmpfs           241M     0  241M   0% /sys/fs/cgroup
/dev/loop0       88M   88M     0 100% /snap/core/5328
/dev/loop1       87M   87M     0 100% /snap/core/4917
/dev/loop2       89M   89M     0 100% /snap/core/5897
tmpfs            49M     0   49M   0% /run/user/1000

În cele două exemple de mai sus am rulat pe mașina virtuală tom, fără a deschide un shell la distanță, comanda hostname (care afișează numele sistemului) și comanda df -h (care afișează) un sumar al sistemelor de fișiere montate.

[4a] Afișați informații despre utilizatorul student pe mașinile virtuale tom și jerry folosind comanda finger fără a deschide un shell la distanță.

[4b] Creați pe mașina virtuală jerry un fișier numit subzero.txt având conținutul saibot. Folosiți conexiune la distanță fără a deschide un shell, comanda echo și redirectare. Plasați comanda între ghilimele ca să fie transmisă complet la distanță; altfel, redirectarea va fi făcută pe sistemul local. Verificați conținutul fișierului subzero.txt creat la distanță folosind comanda cat fără a deschide un shell la distanță.

[4c] Porniți câte o sesiune shell la distanță către mașina virtuală tom și către mașina virtuală jerry. Apoi folosiți în acel shell comanda reboot pentru a reporni sistemul; este modul de repornire de la distanță.

5. Refacere configurație

După repornirea celor două sisteme s-a pierdut configurația interfețelor enp0s8 pe mașinile virtuale tom și jerry. Folosiți dhclient pentru a reface configurația pentru cele două interfețe. Apoi creați câte o conexiune SSH de pe sistemul fizic către fiecare dintre cele două mașini virtuale.

uso/laboratoare/new/08-net/need-to-know.txt · Last modified: 2018/11/26 09:36 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