Differences

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

Link to this comparison view

saisp:labs:08:contents:06 [2014/02/08 18:25]
alexandru.carp
saisp:labs:08:contents:06 [2015/05/04 16:56] (current)
alexandru.carp [06. [15p] Interconectare mașini virtuale]
Line 2: Line 2:
 ==== 06. [15p] Interconectare mașini virtuale ==== ==== 06. [15p] Interconectare mașini virtuale ====
  
-Creați 2 imagini de disk pornind de la imaginea de baza ''​sda.qcow2''​ cu numele ''​sda-vm1.qcow2''​ și ''​sda-vm2.qcow2''​.+Creați 2 imagini de disk pornind de la imaginea de baza ''​base.qcow2''​ cu numele ''​sda-vm1.qcow2''​ și ''​sda-vm2.qcow2''​.
 <​solution -hidden> <​solution -hidden>
 <code bash> <code bash>
-root@saisp:​~#​ qemu-img create -f qcow2 -b sda.qcow2 sda-vm1.qcow2 +root@saisp:​~#​ qemu-img create -f qcow2 -b base.qcow2 sda-vm1.qcow2 
-root@saisp:​~#​ qemu-img create -f qcow2 -b sda.qcow2 sda-vm2.qcow2+root@saisp:​~#​ qemu-img create -f qcow2 -b base.qcow2 sda-vm2.qcow2
 </​code>​ </​code>​
 </​solution>​ </​solution>​
Line 38: Line 38:
 Logați-vă din nou ca ''​root''​ pentru a se modifica prompt-ul. Logați-vă din nou ca ''​root''​ pentru a se modifica prompt-ul.
  
-În acest moment am creat 2 legături virtuale între instanțele KVM și mașina fizică. În mod uzual se dorește ca mașinile virtuale și mașina fizică să aparțină aceleiași rețele. Pentru acest lucru avem nevoie de un //switch virtual// în care să conectăm legăturile create anterior (''​tap-vm1''​ și ''​tap-vm2''​) împreună cu mașina fizică. //Switch-ul virtual// poate fi emulat folosind conceptul de  //bridge// din kernelul de Linux. Vom crea bridge-ul/​switch-ul virtual ​uzual denumit ''​brX'',​ unde ''​X''​ va fi ''​0''​ (//br// urmat de un index):<​code bash>+În acest moment am creat 2 legături virtuale între instanțele KVM și mașina fizică. În mod uzual se dorește ca mașinile virtuale și mașina fizică să aparțină aceleiași rețele. Pentru acest lucru avem nevoie de un //switch virtual// în care să conectăm legăturile create anterior (''​tap-vm1''​ și ''​tap-vm2''​) împreună cu mașina fizică. //Switch-ul virtual// poate fi emulat folosind conceptul de  //bridge// din kernelul de Linux. ​ 
 + 
 +Vom crea bridge-ul/​switch-ul virtual denumit ''​brX'',​ unde ''​X''​ va fi ''​0''​ (//br// urmat de un index):<​code bash>
 root@saisp:​~#​ brctl addbr br0 root@saisp:​~#​ brctl addbr br0
 root@saisp:​~#​ ip link set dev br0 up root@saisp:​~#​ ip link set dev br0 up
 </​code>​ </​code>​
 <note important>​Întotdeauna,​ nu uitați să ridicați nivelul 2 al bridge-ului</​note>​ <note important>​Întotdeauna,​ nu uitați să ridicați nivelul 2 al bridge-ului</​note>​
-Vom conecta cele două interfețe virtuale ''​tap-vm1''​ și ''​tap-vm2'':<​code bash>+Vom conecta cele două interfețe virtuale ''​tap-vm1''​ și ''​tap-vm2'' ​in bridge:<code bash>
 root@saisp:​~#​ brctl addif br0 tap-vm1 root@saisp:​~#​ brctl addif br0 tap-vm1
 root@saisp:​~#​ brctl addif br0 tap-vm2 root@saisp:​~#​ brctl addif br0 tap-vm2
 </​code>​ </​code>​
  
-Configurați pe interfața ''​br0''​ adresa IP ''​192.168.1.1/​24'',​ iar pe mașinile virtuale ​adresa ​IP ''​192.168.1.2/​24'',​ respectiv ''​192.168.1.3/​24''​. Verificați conectivitatea între cele 3 adrese IP folosind comanda ''​ping''​.+Configurați pe interfața ''​br0''​ adresa IP ''​192.168.1.1/​24'',​ iar pe mașinile virtuale ​adresele ​IP ''​192.168.1.2/​24'',​ respectiv ''​192.168.1.3/​24''​. Verificați conectivitatea între cele 3 adrese IP folosind comanda ''​ping''​.
 <​solution -hidden> <​solution -hidden>
 <code bash> <code bash>
Line 64: Line 66:
 În acest moment avem conectivitate între toate cele host-uri (''​saisp'',​ ''​VM1'',​ ''​VM2''​). Pentru a asigura conectivitatea la Internet trebuie să activăm rutarea și translatarea de adrese (NAT) pe mașina fizică:<​code bash> În acest moment avem conectivitate între toate cele host-uri (''​saisp'',​ ''​VM1'',​ ''​VM2''​). Pentru a asigura conectivitatea la Internet trebuie să activăm rutarea și translatarea de adrese (NAT) pe mașina fizică:<​code bash>
 root@saisp:​~#​ echo 1 > /​proc/​sys/​net/​ipv4/​ip_forward root@saisp:​~#​ echo 1 > /​proc/​sys/​net/​ipv4/​ip_forward
-root@saisp:​~#​ iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE+root@saisp:​~#​ iptables -t nat -A POSTROUTING -o ethX -j MASQUERADE
 </​code>​ </​code>​
 +unde ''​ethX''​ este placa de retea de pe masina fizica.
  
 Ne mai rămâne să configurăm ruta implicită și serverul de DNS pe mașinile virtuale. Conectați-vă folosind SSH la mașinile virtuale și adăugați ca rută implicită adresa ''​192.168.1.1''​ (mașina fizică) și ca server de DNS ''​8.8.8.8''​. Verificați cu ajutorul comenzii ''​ping''​ că site-ul ''​www.google.ro''​ răspunde la cereri. Ne mai rămâne să configurăm ruta implicită și serverul de DNS pe mașinile virtuale. Conectați-vă folosind SSH la mașinile virtuale și adăugați ca rută implicită adresa ''​192.168.1.1''​ (mașina fizică) și ca server de DNS ''​8.8.8.8''​. Verificați cu ajutorul comenzii ''​ping''​ că site-ul ''​www.google.ro''​ răspunde la cereri.
Line 72: Line 75:
 root@saisp:​~#​ ssh root@192.168.1.2 root@saisp:​~#​ ssh root@192.168.1.2
 root@VM1:~# ip route add default via 192.168.1.1 root@VM1:~# ip route add default via 192.168.1.1
-root@VM1:~# echo nameserver 8.8.8.8 > /​etc/​resolv.conf+root@VM1:~# echo "nameserver 8.8.8.8" ​> /​etc/​resolv.conf
 root@VM1:~# ping www.google.ro root@VM1:~# ping www.google.ro
 </​code>​ </​code>​
saisp/labs/08/contents/06.1391876710.txt.gz · Last modified: 2014/02/08 18:25 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