This shows you the differences between two versions of the page.
saisp:labs:05:contents:02 [2014/03/02 18:00] 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-TUN. Apoi, 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 director, trebuie 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 -A -t 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. |
+ | |||
+ | Stergeti resursa HTTP definita anterior pe director. | ||
+ | |||
+ | Stergeti interfetele tunel create pe realservere: | ||
+ | <code> | ||
+ | root@saisp-vm-2:~# ip tunnel del tun0 | ||
+ | </code> | ||
+ | <code> | ||
+ | root@saisp-vm-3:~# ip tunnel del tun0 | ||
+ | </code> |