Ejemplo de configuración de VRRP en Vyatta – HA con Vyatta
Tras el manual, tutorial o guía de configuración de VRRP en Vyatta vamos a pasar a la acción y vamos a configurar un entorno ejemplo redundante con VRRP entre dos máquinas Vyatta. En el ejemplo de configuración de VRRP en Vyatta vamos a crear un cluster entre las interfaces de dos routers Vyatta conectadas a una LAN , así, ante cualquier fallo HW (un switch, la NIC de un router Vyatta, un cable, etc), la red LAN seguirá siendo operativa, con lo que conseguimos failover o tolerancia a fallos con Vyatta.
En entornos virtuales VRRP con Vyatta también tiene sentido ya que si por algún motivo cae una de las VMs que contienen Vyatta y no levanta, la otra del cluster se hará cargo de ser la puerta de enlace o router de nuestra LAN.
Para llevar a cabo el ejemplo de configuración de VRRP en Vyatta vamos a partir de la siguiente topología a modo de ejemplo:
Nota: utilizamos direcciones IPv4 TEST-NET-1
Tal y como se ve en la topología ejemplo VRRP, las interfaces de los routers Vyatta (R1 y R2) que conectan con la LAN son eth0 en ambos casos, cada una de ellas ha de configurarse con una IP de la red privada (192.0.2.0/24 en este caso ejemplo) y finalmente agregar cada una de ellas al mismo grupo VRRP, dicho grupo VRRP ha de configurarse con una IP y dicha IP será la IP virtual del grupo y la que actuara en la LAN como puerta de enlace determinada o router. Con esto se consigue un enlace redundante para una única IP y en el supuesto caso de que caiga alguno de los routers Vyatta (físico o virtual) el otro se hará cargo de actuar como router de la LAN sin que se aprecien cortes o caídas de servicio de red en la LAN.
Para configurar R1 y R2 para que sus interfaces eth0 trabajen en cluster y formen una sola interfaz virtual VRRP los pasos a seguir son los siguientes:
-
En R1:
vyatta@R1:~$ configure [edit] vyatta@R1# set interfaces ethernet eth0 address 192.0.2.251/24 [edit] vyatta@R1# set interfaces ethernet eth0 vrrp vrrp-group 10 priority 150 [edit] vyatta@R1# set interfaces ethernet eth0 vrrp vrrp-group 10 virtual-address 192.0.2.254 [edit] vyatta@R1# set interfaces ethernet eth0 vrrp vrrp-group 10 description "LAN VRRP" [edit] vyatta@R1# set interfaces ethernet eth0 vrrp vrrp-group 10 advertise-interval 1 [edit] vyatta@R1# set interfaces ethernet eth0 vrrp vrrp-group 10 authentication type ah [edit] vyatta@R1# set interfaces ethernet eth0 vrrp vrrp-group 10 authentication password mipass [edit] vyatta@R1# commit [edit] vyatta@R1# save [edit] vyatta@R1# show interfaces ethernet eth0 address 192.0.2.251/24 duplex auto hw-id 1a:2b:3c:4d:5e:6f smp_affinity auto speed auto vrrp { vrrp-group 10 { advertise-interval 1 authentication { password "" type ah } description LAN VRRP priority 150 virtual-address 192.0.2.254 } } [edit] vyatta@R1# -
En R2:
vyatta@R2:~$ configure [edit] vyatta@R2# set interfaces ethernet eth0 address 192.0.2.252/24 [edit] vyatta@R2# set interfaces ethernet eth0 vrrp vrrp-group 10 priority 100 [edit] vyatta@R2# set interfaces ethernet eth0 vrrp vrrp-group 10 virtual-address 192.0.2.254 [edit] vyatta@R2# set interfaces ethernet eth0 vrrp vrrp-group 10 description "LAN VRRP" [edit] vyatta@R2# set interfaces ethernet eth0 vrrp vrrp-group 10 advertise-interval 1 [edit] vyatta@R2# set interfaces ethernet eth0 vrrp vrrp-group 10 authentication type ah [edit] vyatta@R2# set interfaces ethernet eth0 vrrp vrrp-group 10 authentication password mipass [edit] vyatta@R2# commit [edit] vyatta@R2# save [edit] vyatta@R2# show interfaces ethernet eth0 address 192.0.2.252/24 duplex auto hw-id a1:b2:c3:d4:e5:f6 smp_affinity auto speed auto vrrp { vrrp-group 10 { advertise-interval 1 authentication { password "" type ah } description LAN VRRP priority 100 virtual-address 192.0.2.254 } } [edit] vyatta@R2#













Saludos, hermanos.
Wow. Te veo bien. De nuevo a la carga. Ya está guardada la página, Chamaco.
:D
Pingback: Alta disponibilidad (HA), redundancia y tolerancia a fallos en Vyatta - teoría y práctica de configuración HA en Vyatta | openredes - Networking Open Source
Pingback: Vyatta en español | openredes - Networking Open Source
es posible en tal configuracion configurar el webproxy de vyatta para que use la ip virtual? Con eso lograria que el webproxy tambien este altamente disponible
Personalmente no lo he probado, pero diria que si, que el webproxy funcionaria en ha al igual que cualquier otro servicio de vyatta.
Si lo pruebas agradeceria tu comentario.
Lo estoy probando en este momento y funciona muy bien.
Pero que pasa si tengo que poner un pool de DHCP?
Como hago para que los dos vyatta se sincronicen?
Puesto que son maquinas distintas y si pongo la misma configuracion de servidor de DHCP en los dos, voy a tener problemas. Si solo pongo el servidor de DHCP en uno de los vyatta y se cae…
Un saludo.
Hola Iñigo, interesante consulta.
Creo que en este caso tendrías que configurar DHCP con failover en cada uno de los routers que conforman el grupo VRRP, usando siempre como default-router la IP de la interfaz VRRP y como peer-address la IP del router contrario. Algo así:
shared-network-name ETH0_POOL {
authoritative enable
subnet 192.168.161.0/24 {
default-router 192.168.1.1 (IP VRRP)
dns-server ...
dns-server ...
failover {
local-address \"R1-ip\"
peer-address \"R2-ip\"
status primary
}
lease 86400
start 192.168.1.130 {
stop 192.168.1.240
}
}
}
Comenta resultados por favor.
Otra opción sería crear un cluster.
Gracias por la respuesta. En este momento estaba intentando crear el cluster, pero me he bloqueado.
Estoy en este punto:
+cluster {
+ dead-interval 8000
+ group cluster1 {
+ primary R10
+ secondary R11
+ service 172.26.1.1/24/eth0
+ service 192.26.1.1/24/eth1
+ }
+ interface 0
+ interface 1
+ keepalive-interval 2000
+ pre-shared-secret passkey
+}
interfaces {
ethernet eth0 {
address 172.26.0.2/24
hw-id xx.xxx.xxx
}
ethernet eth1 {
address 192.168.1.2/24
hw-id xx.xx.xx.xx.x
}
loopback lo {
}
}
Al darle a commit me da el siguiente error:
Cluster configuration error: the current node ‘vyatta’ is not defined in the configuration
Y no se como seguir. No se a lo que se refiere y aun no he dado con ello… hoy san google no es tan santo. xdd
Por cierto, tenéis ya preparado el “CapÃtulo 3: Clustering en Vyatta”? por que me vendrÃa de maravilla.
Un saludo y muchas gracias.
En esa configuración de cluster supongo que:
- El nombre de host R10 y R11 es conocido por ambos routers, es decir, desde R10 puedes hacer “ping R11″ sin poner la IP y viceversa.
- Las IPs de servicio son las mismas en la config de cluster de ambos routers y pertenecen a la misma red que la interfaz física a la que se asignan (en tu ejemplo no es así).
- Los parámetros “interface 0″ e “interface 1″ supongo que en realidad son “interface eth0″ e “interface eth1″ y te has equivocado al copiar la config.
A parte de todo esto, mirando la documentación oficial, si te vas a la página 126 de Vyatta-HA_R6.4_v0.1.pdf, verás que pone que el único servicio habilitado por ahora para redundancia mediante cluster es ipsec, así que entiendo que dhcp no te vale a no ser que lo configures en modo failover.
Personalmente configuraría VRRP con dhcp en modo failover como te puse arriba, ten en cuenta que un grupo VRRP trabaja en forma conjunta y un cluster ofrece redundancia de servicios, es decir, en un cluster solo trabaja una máquina a la vez, con lo que la otra solo está en espera. En VRRP trabajan las dos.