Differences

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

Link to this comparison view

saisp:labs:05:contents:02 [2014/03/02 18:03]
alexandru.carp
saisp:labs:05:contents:02 [2014/03/23 21:48] (current)
Line 1: Line 1:
-==== 01. LVS-DR (direct routing) ====+==== 02[20p] LVS-TUN (tunneling) ====
  
-Serviciul pentru care vom face load-balancing este **HTTP**Serverul ​de web Apache2 este deja instalat pe realservere. Directorul va imparti cererile venite din partea clientului catre cele 2 realservere.+In continuare, ​vom configura directorul pentru a folosi modul LVS-TUNApoi, vom observa diferentele fata de LVS-DR.
  
-Mai intai vom configura adresa virtuala ​pe director. ​Adaugam adresa **10.0.0.1/​24** pe subinterfata **eth0:1** de pe **saisp-vm-1**:+Analog punctului anterior, definiti serviciul HTTP pe director, apoi cele doua realservere in modul tunneling (folositi parametrul ''​-i''​). 
 +<​solution ​-hidden>
 <​code>​ <​code>​
-root@saisp-vm-1:​~# ​ip addr add dev eth0 10.0.0.1/24 label eth0:1+root@saisp-vm-1:​~# ​ipvsadm -A -t 10.0.0.1:80 
 +root@saisp-vm-1:~# ipvsadm -a -t 10.0.0.1:80 -r 10.0.0.20:​80 -i 
 +root@saisp-vm-1:​~#​ ipvsadm -a -t 10.0.0.1:80 -r 10.0.0.30:​80 -i
 </​code>​ </​code>​
 +</​solution>​
  
-Vom configura HTTP ca serviciu virtual. Trebuie să specificăm adresa si portul server-ului virtual și protocolul ​de nivel transport (TCPîn cazul nostru):+Pentru ​ca realserverele sa poata interpreta corect pachetele primite ​de la directortrebuie sa configuram cate o interfata tunel, de tip **ipip**, pe fiecare dintre acestea. 
 + 
 +Interfata tunel trebuie sa aiba aceeasi adresa IP cu adresa virtuala a directorului.
 <​code>​ <​code>​
-root@saisp-vm-1:~# ipvsadm ​--10.0.0.1:80+root@saisp-vm-2:~# ip tunnel add tun0 mode ipip local 10.0.0.20 
 +root@saisp-vm-2:~# ip addr add 10.0.0.1/24 dev tun0 
 +root@saisp-vm-2:~# ip link set tun0 up
 </​code>​ </​code>​
  
-Serviciul virtual a fost configurat, dar trebuie să adăugăm și servere reale: 
 <​code>​ <​code>​
-root@saisp-vm-1:~# ipvsadm -a -t 10.0.0.1:80 -r 10.0.0.20:​80 -g +root@saisp-vm-3:~# ip tunnel add tun0 mode ipip local 10.0.0.30 
-root@saisp-vm-1:~# ipvsadm -a -t 10.0.0.1:80 -r 10.0.0.30:80 -g+root@saisp-vm-3:~# ip addr add 10.0.0.1/24 dev tun0 
 +root@saisp-vm-3:~# ip link set tun0 up
 </​code>​ </​code>​
  
-Parametrul ​**-g** semnifică folosirea ​LVS-DR.+Porniti, din nou, Wireshark si realizati o captura pe interfata ​**br0** a masinii fizice. Observati pachetele incapsulate si diferentele fata de LVS-DR.
  
-Trebuie, de asemenea, să "​convingem"​ RS-urile să răspundă la cereri ​pe adresa VS-uluiExistă cel puțin două posibilități pentru acest lucru: +Stergeti resursa HTTP definita anterior ​pe director
-  * configurarea adresei VS pe o interfață de loopback a RS. Această metodă are neajunsul că un RS ar putea răspunde unei cereri ARP pentru VS. Problema astfel creată se numește, în LVS, //[[http://​www.austintek.com/​LVS/​LVS-HOWTO/​HOWTO/​LVS-HOWTO.arp_problem.html|The ARP Problem]]//​. + 
-  * utilizarea unei reguli iptables care face RS-ul să accepte pachete, chiar dacă adresa VS-ului nu este configurată pe nicio interfață. **Vom folosi această abordare**. ​<​code>​ +Stergeti interfetele tunel create ​pe realservere
-root@saisp-vm-2:​~# ​iptables -t nat -A PREROUTING -d 10.0.0.1 -j REDIRECT +<​code>​ 
-root@saisp-vm-3:​~# ​iptables -t nat -A PREROUTING -d 10.0.0.1 -j REDIRECT+root@saisp-vm-2:​~# ​ip tunnel del tun0 
 +</​code>​ 
 +<​code>​ 
 +root@saisp-vm-3:​~# ​ip tunnel del tun0
 </​code>​ </​code>​
saisp/labs/05/contents/02.1393776206.txt.gz · Last modified: 2014/03/02 18:03 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