This is an old revision of the document!


Laborator 03: Serviciile de DHCP si SSH

01. Pregatirea infrastructurii virtuale (OpenStack)

Incepand cu acest laborator vom lucra si pe topologia virtuala OpenStack. Aceeasi topologie va fi folosita si la proiect. Acest task are ca scop crearea infrastructurii virtuale.

Fiecare student va avea propriul subnet, din care va aloca adrese pentru masinile virtuale. Puteti gasi alocarea aici: https://docs.google.com/spreadsheets/d/14QgTyn41hzinWqHaUQ16kf9_UeUcwXNQ__MR5C6Q70U/pubhtml

Pentru crearea contului, a masinilor virtuale si a legaturilor dintre ele, urmati pasii de aici: http://ocw.cs.pub.ro/courses/gsr/resurse/proiect

02. DHCP

a) Demo: Funcționarea dhclient

Executati acest demo pe masina fizica din laborator.

Clientul de DHCP este reprezentat în Linux de comanda dhclient. La o rulare a comenzii dhclient este interogat serverul DHCP pentru transmiterea unei adrese.

Pentru a testa această funcționalitate, vom dezactiva configurația curentă și apoi vom face o nouă configurație.

Pentru dezactivare identificăm interfața activă prin rularea comenzii

ip a s

Apoi dezactivăm configurația interfeței:

sudo ip a f dev <interface>

unde <interface> este numele interfeței.

Apoi solicităm o nouă adresă IP pentru interfață folosind comanda

sudo dhclient <interface>

unde <interface> este numele interfeței.

Putem urmări în /var/log/syslog mesajele afișate de clientul DHCP.

Dacă dorim să dăm release la configurație, putem folosi comanda

sudo dhclient -r <interace>

unde <interface> este numele interfeței.

b) Configurare server de DHCP

Acest task se va executa pe infrastructura virtuala. Masina Sn-R va are rol de server DHCP, iar masina D va avea rol de client DHCP.

Instalati serverul isc-dhcp-server pe masina Sn-R.

Creati configurația serverului de DHCP în /etc/default/isc-dhcp-server și în /etc/dhcp/dhcpd.conf. Verificați că serverul este pornit și ascultă conexiuni pe portul 68 UDP.

Urmăriți în fișierele de tip jurnal de pe fiecare sistem (/var/log/syslog) mesaje afișate de clientul și serverul DHCP.

Folosiți, pe client, comanda

sudo dhclient eth0

pentru reinterogarea serverului DHCP, care duce la conduce la generarea de noi mesaje de jurnalizare.

Configurare server de DHCP

Modificați configurația serverului DHCP astfel încât acesta să furnizeze adrese în subnet-ul 1.1.1.0/24, în range-ul 1.1.1.2-1.1.1.50. Adresa IP a serverului DHCP pe interfața eth2 trebuie să fie 1.1.1.1.

Va trebui ca pe serverul DHCP să modificați și configurația interfeței eth2 în fișierul /etc/network/interfaces.

Pentru aceasta, dezactivați interfața:

sudo ip link set dev eth2 down
sudo ip add flush dev eth2

faceți modificarea în fișierul /etc/network/interfaces și apoi refaceți configurația

sudo ifup eth2

Conectarea pe SSH la mașina virtuală

Setup

Pentru acest exercițiu porniți în VirtualBox mașina virtuală.

Pentru pornirea acesteia deschideți VirtualBox, apoi folosiți File → Import Appliance și navigați în /mnt/sda5/uso/lab07/puccini-lab7.ova de unde să importați mașina virtuală.

Mașina virtuală are pentru acces contul student cu parola student și este conectabilă la sistemul fizic pe interfața sa eth1. Ar trebui ca pe interfața eth1 a mașinii virtuale sa aveți o adresă din rețeaua 192.168.56.0/24, de obicei 192.168.56.101.

Interfața pereche a interfeței eth1 de pe mașina virtuală este interfața vboxnet0 pe sistemul fizic. Aceasta are adresa 192.168.56.1.

Conectare prin SSH între mașina virtuală și sistemul fizic

Încercați acum să vă conectați prin SSH de pe mașina virtuală pe sistemul fizic folosind comanda ssh folosind o comandă de forma

ssh student@192.168.56.1

Parola este student.

Acum încercați și invers, să vă conectați de la sistemul fizic la mașina virtuală. Veți întâmpina diverse tipuri de probleme. Rezolvați-le.

Apoi configurați autentificarea fără parolă (pe bază de chei) de la utilizatorul student de pe sistemul fizic la utilizatorul student și la utilizatorul root de pe mașina virtuală. Va trebui să ajungă cheia publică a utilizatorului student de pe sistemul fizic în fișierul ~/.ssh/authorized_keys din directorul home al utilizatorilor student și root pe mașina virtuală.

Dacă simțiți că “scârțâiți”, pentru documentare despre folosirea SSH recomandăm să urmariți laboratorul 8 de RL: Securizarea unui server.

Adăugarea cheii asistentului pentru conectare la mașina virtuală

Obiectivul acestui exercițiu este ca asistentul să ajungă pe mașina voastră virtuală de pe laptop-ul său. Pentru aceasta trebuie să faceți două lucruri:

  1. Să adăugați cheia publică a asistentului (vă va da el link la cheie) în contul utilizatorului student de pe mașina virtuală.
  2. Să folosiți DNAT (port forwarding) pe sistemul fizic astfel încât conexiunile pe portul 2222 pe sistemul fizic să ajungă pe portul 22 pe mașina virtuală.

Pentru pasul 2, pe sistemul fizic folosiți o comandă de forma

sudo iptables -t nat -A PREROUTING -i ethX -p tcp --dport 2222 -j DNAT --to-destination <IP-vm>:22
sudo sysctl -w net.ipv4.ip_forward=1

unde:

  • ethX este eth0 sau eth1 sau eth2 este interfața de Internet a sistemului fizic, cu o adresă din spațiul 172.16.4.0/22
  • <IP-vm> este adresa IP a mașinii virtuale (adresa din rețeaua 192.168.56.0/24

Iar pe mașina virtuală rulați comanda de mai jos pentru a crea o rută din mașina virtuală către rețeaua fizică

sudo ip route add 172.16.4.0/22 via 192.168.56.1

Cu această rută veți permite pachetelor să se întoarcă din mașina virtuală către cheia SSH a asistentului.

Asistentul va încerca conexiunea la adresa IP a sistemului vostru fizic pe portul 2222 și, dacă e totul bine, va ajunge pe mașina voastră virtuală.

Dacă simțiți că scârțâiți legat de NAT/DNAR, informații despre folosirea iptables pentru DNAT găsiți în laboratorul 9 de RL: Translatarea de adrese.

Dacă greșiți ceva în configurarea iptables, curățați regulile folosind comanda

sudo iptables -t nat -F

Configurare remote logging pentru SSH

Configurați daemon-ul syslog de pe mașina virtuală să livreze mesajele de jurnalizare emise de SSH (de facilitatea auth) către daemonul de syslog de pe sistemul fizic. Adică daemonul de syslog de pe sistemul fizic va fi listener pentru mesajele livrate de pe mașina virtuală.

Realizați conexiuni SSH de pe mașina fizică spre mașina virtuală pentru a declanșa mesaje de jurnalizare.

Bonus: Conectare cu X Forwarding

Realizați o conexiune SSH care folosește X Forwarding de la sistemul fizic la mașina virtuală. Porniți utilitarul xterm. Instalați orice pachete sunt necesare pentru a permite rularea utilitarului xterm.

Bonus: Pornirea manuală a sshd

Porniți manual, pe mașina virtuală, folosind executabilul /usr/sbin/sshd ca să asculte conexiuni pe portul 22. Încercați conexiuni către server de pe sistemul fizic.

Rulați serverul de SSH sub strace (eventual folosind opțiunea -f) și urmăriți ce se întâmplă atunci când se încearcă noi conexiuni.

gsr/laboratoare/laborator-03.1477562882.txt.gz · Last modified: 2016/10/27 13:08 by alexandru.carp
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