Différences entre versions de « Ucarp »
Ligne 98 : | Ligne 98 : | ||
= Configuration = | = Configuration = | ||
+ | == eth0== | ||
On va maintenant éditer le fichier ''/etc/ucarp/vip-001.conf'' pour y mettre les lignes suivantes : | On va maintenant éditer le fichier ''/etc/ucarp/vip-001.conf'' pour y mettre les lignes suivantes : | ||
{|align="center" border="1" | {|align="center" border="1" | ||
Ligne 138 : | Ligne 139 : | ||
</pre> | </pre> | ||
|} | |} | ||
+ | ==Les options== | ||
La partie ''OPTIONS'' permet de définir plus finement le comportement du groupe : | La partie ''OPTIONS'' permet de définir plus finement le comportement du groupe : | ||
* -k : permet de définir une priorité. Celui avec la plus base est ''master'', cette option rend ''--preempt'' caduque. | * -k : permet de définir une priorité. Celui avec la plus base est ''master'', cette option rend ''--preempt'' caduque. | ||
* --shutdown : déclenche l'exécution du script de fermeture à l'extinction de la machine | * --shutdown : déclenche l'exécution du script de fermeture à l'extinction de la machine | ||
* --preempt : si le ''master'' revient, le ''slave'' toujours debout garde la main (évite de faire tomber les tunnels SSL, VPN, etc...) | * --preempt : si le ''master'' revient, le ''slave'' toujours debout garde la main (évite de faire tomber les tunnels SSL, VPN, etc...) | ||
− | + | ==eth1== | |
Enfin, on va éditer le fichier ''/etc/ucarp/vip-002.conf'' pour y mettre les lignes suivantes : | Enfin, on va éditer le fichier ''/etc/ucarp/vip-002.conf'' pour y mettre les lignes suivantes : | ||
{|align="center" border="1" | {|align="center" border="1" |
Version du 22 septembre 2015 à 16:51
Introduction
"UCARP est un programme de haute-disponibilité pour système d'exploitation Unix et dérivés qui permet le partage par plusieurs hôtes d'une même adresse IP afin d'assurer la continuité du service en cas de défaillance d'un hôte. Ce programme implémente en espace utilisateur le protocole Common Address Redundancy Protocol (CARP) disponible sous OpenBSD et s'oppose au protocole propriétaire Virtual Router Redundancy Protocol (VRRP)." wikipedia
Fonctionnement
Le principe est simple, on va utiliser une adresse IP virtuelle entre plusieurs machines qui délivrent le même service. De la sorte, peut importe la machine physique qui a l'adresse IP virtuelle, le service est délivré aux utilisateur sans discontinuité.
Prenons le cas de deux machines avec deux cartes réseaux :
Voici le plan d'adressage qui sera utilisé :
Machine | Réseau 1 (eth0) | Réseau 2 (eth1) |
---|---|---|
FW1 | 192.168.1.200/24 | 192.168.2.200/24 |
FW2 | 192.168.1.201/24 | 192.168.2.201/24 |
VIP | 192.168.1.202/24 | 192.168.2.202/24 |
On a bien une adresse IP par machine sur chaque réseau et, en plus, une adresse IP virtuelle qui sera utilisée par le master.
Préparation
Dans un premier temps, il faudra avoir une connexion à Internet, utiliser un serveur DNS et désactiver SELinux.
Pour ceux qui auraient manqué des étapes, les voici:
Une fois ces étapes effectuées, entrons dans le vif du sujet !
Assurez-vous d'avoir installé le dépôt EPEL car UCARP vient de cette source !
On se retrouve avec la configuration réseau suivante:
FW1 | FW2 |
[root@fw1 ~]# ip a 1: lo: <LOOPBACK,UP,LOWER_UP> mtu 16436 qdisc noqueue state UNKNOWN link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 inet 127.0.0.1/8 scope host lo inet6 ::1/128 scope host valid_lft forever preferred_lft forever 2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000 link/ether 00:0c:29:26:70:80 brd ff:ff:ff:ff:ff:ff inet 192.168.1.200/24 brd 192.168.1.255 scope global eth0 inet6 fe80::20c:29ff:fe26:7080/64 scope link valid_lft forever preferred_lft forever 3: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UNKNOWN qlen 1000 link/ether 00:0c:29:26:70:8a brd ff:ff:ff:ff:ff:ff inet 192.168.2.200/24 brd 192.168.2.255 scope global eth1 inet6 fe80::20c:29ff:fe26:708a/64 scope link valid_lft forever preferred_lft forever |
[root@fw2 ~]# ip a 1: lo: <LOOPBACK,UP,LOWER_UP> mtu 16436 qdisc noqueue state UNKNOWN link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 inet 127.0.0.1/8 scope host lo inet6 ::1/128 scope host valid_lft forever preferred_lft forever 2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000 link/ether 00:0c:29:4e:50:32 brd ff:ff:ff:ff:ff:ff inet 192.168.1.201/24 brd 192.168.1.255 scope global eth0 inet6 fe80::20c:29ff:fe4e:5032/64 scope link valid_lft forever preferred_lft forever 3: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UNKNOWN qlen 1000 link/ether 00:0c:29:4e:50:3c brd ff:ff:ff:ff:ff:ff inet 192.168.2.201/24 brd 192.168.2.255 scope global eth1 inet6 fe80::20c:29ff:fe4e:503c/64 scope link valid_lft forever preferred_lft forever |
Installation
Installons UCARP depuis le dépôt EPEL :
# yum -y install ucarp
Configuration
eth0
On va maintenant éditer le fichier /etc/ucarp/vip-001.conf pour y mettre les lignes suivantes :
FW1 | FW2 |
# ID du cluster ID=001 # Network Interface BIND_INTERFACE="eth0" # IP de fw1 SOURCE_ADDRESS="192.168.1.200" # IP Virtuel VIP_ADDRESS="192.168.1.202" # Mot de passe PASSWORD="password" # Fréquence des paquets de synchro ADVBASE=1 # Pour voir toutes les options: ucarp --help OPTIONS="--shutdown --preempt" |
# ID du cluster ID=001 # Network Interface BIND_INTERFACE="eth0" # IP de fw1 SOURCE_ADDRESS="192.168.1.201" # IP Virtuel VIP_ADDRESS="192.168.1.202" # Mot de passe PASSWORD="password" # Fréquence des paquets de synchro ADVBASE=1 # Pour voir toutes les options: ucarp --help OPTIONS= "--shutdown --preempt" |
Les options
La partie OPTIONS permet de définir plus finement le comportement du groupe :
- -k : permet de définir une priorité. Celui avec la plus base est master, cette option rend --preempt caduque.
- --shutdown : déclenche l'exécution du script de fermeture à l'extinction de la machine
- --preempt : si le master revient, le slave toujours debout garde la main (évite de faire tomber les tunnels SSL, VPN, etc...)
eth1
Enfin, on va éditer le fichier /etc/ucarp/vip-002.conf pour y mettre les lignes suivantes :
FW1 | FW2 |
# ID du cluster ID=001 # Network Interface BIND_INTERFACE="eth1" # IP de fw1 SOURCE_ADDRESS="192.168.2.200" # IP Virtuel VIP_ADDRESS="192.168.2.202" # Mot de passe PASSWORD="password" # Fréquence des paquets de synchro ADVBASE=1 # Pour voir toutes les options: ucarp --help OPTIONS="--shutdown --preempt" |
# ID du cluster ID=001 # Network Interface BIND_INTERFACE="eth0" # IP de fw1 SOURCE_ADDRESS="192.168.2.201" # IP Virtuel VIP_ADDRESS="192.168.2.202" # Mot de passe PASSWORD="password" # Fréquence des paquets de synchro ADVBASE=1 # Pour voir toutes les options: ucarp --help OPTIONS= "--shutdown --preempt" |