Saludos Comunidad:
Tengo una solucion de balanceo de carga y alta disponibilidad basada en LVS.
son dos balanceadores o lvs director como le dicen, estos estan en alta diponibilidad usando heartbeat para verificar si el otro a caido cuando uno caiga el otro lo reemplaza para seguir balanceando la carga a los servidores reales.
cuando hago una arp -a desde cualquier servidor puedo ver que al ip virtual tiene la direccion mac de uno de los balanceadores, ahora ultimo he creado otro servidor virtual en los balanceador lo que implica añadir una vip mas, ahora al hacer una arp -a se ve que una vip tiene la mac de un balanceador y la otra vip tieen la mac del otro balanceador(backup) pero el servicio igual funciona.
Estos servidores esta en una rea llamado DMZ yo estoy en el area de la LAN estas areas estan diferentes patas del firewall.
El problema es el suiguiente: Cuando un balanceador cae el otro toma su lugar y esta listo para recibir las peticiones del servidor caido , esto funciona pero solo en la DMZ.En la LAN donde estoy yo solo puedo acceder a una VIP y al otro no.Para verficar que es lo que estaba pasando hice un show mac...... en el firewall y revise el resultado en la que sse ve que la VIP a la cual no puedo acceder desde la LAN tiene la MAC del servidor que se apago.entonces cada vez que desde la LAN quiero acceder a la VIP en cuestion el firewall resuelve la mac del baalnceador que se apago.
Como puedo hacer para que esto no suceda para que el fireewall actualice mas rapidola tabla mac , o las VIP no deben tener direccon mac?
A la espera de sus comentarios ,gracias
_________________________________________________________________ Explore the seven wonders of the world http://search.msn.com/results.aspx?q=7+wonders+world&mkt=en-US&form=...
2009/11/14 ces can arvegas21@hotmail.com
Saludos Comunidad:
Tengo una solucion de balanceo de carga y alta disponibilidad basada en LVS. son dos balanceadores o lvs director como le dicen, estos estan en alta diponibilidad usando heartbeat para verificar si el otro a caido cuando uno caiga el otro lo reemplaza para seguir balanceando la carga a los servidores reales. cuando hago una arp -a desde cualquier servidor puedo ver que al ip virtual tiene la direccion mac de uno de los balanceadores, ahora ultimo he creado otro servidor virtual en los balanceador lo que implica añadir una vip mas, ahora al hacer una arp -a se ve que una vip tiene la mac de un balanceador y la otra vip tieen la mac del otro balanceador(backup) pero el servicio igual funciona.
Estos servidores esta en una rea llamado DMZ yo estoy en el area de la LAN estas areas estan diferentes patas del firewall.
El problema es el suiguiente: Cuando un balanceador cae el otro toma su lugar y esta listo para recibir las peticiones del servidor caido , esto funciona pero solo en la DMZ.En la LAN donde estoy yo solo puedo acceder a una VIP y al otro no.Para verficar que es lo que estaba pasando hice un show mac...... en el firewall y revise el resultado en la que sse ve que la VIP a la cual no puedo acceder desde la LAN tiene la MAC del servidor que se apago.entonces cada vez que desde la LAN quiero acceder a la VIP en cuestion el firewall resuelve la mac del baalnceador que se apago. Como puedo hacer para que esto no suceda para que el fireewall actualice mas rapidola tabla mac , o las VIP no deben tener direccon mac?
No me es familiar el armado de soluciones con LVS, así que no debo estar diciendo nada muy correcto... pero aunque sea, que valga para arrancar la discusión: por lo que sé, cuando hay un failover, heartbeat soluciona el problema de asignar la nueva MAC al IP de servicio lanzando un "arp gratuito" a la red (una respuesta espúrea a una consulta ARP que no ha existido, pero que sirve como notificación de la nueva pareja MAC+IP). Esto normalmente es recibido por los switches a los que se conectan los equipos en cluster, y por los demás hosts que se conectan a esos switches, y así todos actualizan sus caches ARP.
Ahora, es posible que en tu situación, el firewall esté en modo demasiado restringido y no acepte esos paquetes desde la DMZ? Has probado relajando la política del firewall sobre la DMZ, aunque sea temporariamente, para ver qué pasa? Algún otro compañero tiene alguna idea más elaborada?
2009/11/15 Eduardo Grosclaude eduardo.grosclaude@gmail.com
2009/11/14 ces can arvegas21@hotmail.com
El problema es el suiguiente: Cuando un balanceador cae el otro toma su lugar y esta listo para recibir las peticiones del servidor caido , esto funciona pero solo en la DMZ.En la LAN donde estoy yo solo puedo acceder a una VIP y al otro no.Para verficar que es lo que estaba pasando hice un show mac...... en el firewall y revise el resultado en la que sse ve que la VIP a la cual no puedo acceder desde la LAN tiene la MAC del servidor que se apago.entonces cada vez que desde la LAN quiero acceder a la VIP en cuestion el firewall resuelve la mac del baalnceador que se apago. Como puedo hacer para que esto no suceda para que el fireewall actualice mas rapidola tabla mac , o las VIP no deben tener direccon mac?
Otro aspecto para investigar es si efectivamente los ARP gratuitos *llegan* al firewall... por ejemplo 1) viendo a nivel de interfaz si el nodo LVS los emite, 2) comprobando si el switch situado entre el firewall y el conjunto LVS efectivamente los recibe y los propaga, o 3) viendo a nivel de interfaz del firewall, si los estamos recibiendo.
SALUDOS:
me he dado cuenta que el firewall tien activado la opcion anti "ip spoofing" tendra eso algo que ver igual lo deshabilite pero no funciona o habra que esperar un tiempo ?
gracias
From: eduardo.grosclaude@gmail.com Date: Sun, 15 Nov 2009 16:36:40 -0300 To: centos-es@centos.org Subject: Re: [CentOS-es] LVS
2009/11/15 Eduardo Grosclaude eduardo.grosclaude@gmail.com
2009/11/14 ces can arvegas21@hotmail.com
El problema es el suiguiente: Cuando un balanceador cae el otro toma su lugar y esta listo para recibir las peticiones del servidor caido , esto funciona pero solo en la DMZ.En la LAN donde estoy yo solo puedo acceder a una VIP y al otro no.Para verficar que es lo que estaba pasando hice un show mac...... en el firewall y revise el resultado en la que sse ve que la VIP a la cual no puedo acceder desde la LAN tiene la MAC del servidor que se apago.entonces cada vez que desde la LAN quiero acceder a la VIP en cuestion el firewall resuelve la mac del baalnceador que se apago. Como puedo hacer para que esto no suceda para que el fireewall actualice mas rapidola tabla mac , o las VIP no deben tener direccon mac?
Otro aspecto para investigar es si efectivamente los ARP gratuitos *llegan* al firewall... por ejemplo 1) viendo a nivel de interfaz si el nodo LVS los emite, 2) comprobando si el switch situado entre el firewall y el conjunto LVS efectivamente los recibe y los propaga, o 3) viendo a nivel de interfaz del firewall, si los estamos recibiendo.
SALUDOS:
me he dado cuenta que el firewall tien activado la opcion anti "ip spoofing" tendra eso algo que ver igual lo deshabilite pero no funciona o habra que esperar un tiempo ? Alguien que me pueda ayudar?
gracias
From: arvegas21@hotmail.com To: centos-es@centos.org Date: Sun, 15 Nov 2009 20:20:20 -0500 Subject: Re: [CentOS-es] LVS
SALUDOS:
me he dado cuenta que el firewall tien activado la opcion anti "ip spoofing" tendra eso algo que ver igual lo deshabilite pero no funciona o habra que esperar un tiempo ? gracias
From: eduardo.grosclaude@gmail.com Date: Sun, 15 Nov 2009 16:36:40 -0300 To: centos-es@centos.org Subject: Re: [CentOS-es] LVS
2009/11/15 Eduardo Grosclaude eduardo.grosclaude@gmail.com
2009/11/14 ces can arvegas21@hotmail.com
El problema es el suiguiente: Cuando un balanceador cae el otro toma su lugar y esta listo para recibir las peticiones del servidor caido , esto funciona pero solo en la DMZ.En la LAN donde estoy yo solo puedo acceder a una VIP y al otro no.Para verficar que es lo que estaba pasando hice un show mac...... en el firewall y revise el resultado en la que sse ve que la VIP a la cual no puedo acceder desde la LAN tiene la MAC del servidor que se apago.entonces cada vez que desde la LAN quiero acceder a la VIP en cuestion el firewall resuelve la mac del baalnceador que se apago. Como puedo hacer para que esto no suceda para que el fireewall actualice mas rapidola tabla mac , o las VIP no deben tener direccon mac?
Otro aspecto para investigar es si efectivamente los ARP gratuitos *llegan* al firewall... por ejemplo 1) viendo a nivel de interfaz si el nodo LVS los emite, 2) comprobando si el switch situado entre el firewall y el conjunto LVS efectivamente los recibe y los propaga, o 3) viendo a nivel de interfaz del firewall, si los estamos recibiendo.
2009/11/17 ces can arvegas21@hotmail.com
SALUDOS:
me he dado cuenta que el firewall tien activado la opcion anti "ip spoofing" tendra eso algo que ver igual lo deshabilite pero no funciona o habra que esperar un tiempo ? Alguien que me pueda ayudar?
Insisto con mi visión desde la ignorancia de LVS (expertos bienvenidos):
Intenta ver si los equipos emiten o no un ARP response gratuito durante el failover. Para esto, por ejemplo, se puede poner un equipo Linux como monitor en la DMZ con tcpdump activado (o wireshark) y ver el tráfico que pasa. Si desconectas el VS activo se debería provocar un failover a cargo del otro, y entonces en el monitor deberías ver tráfico de ARP relacionando la IP de servicio con la nueva MAC (ya que este tráfico es de broadcast, y entonces el switch lo conduce a todos los ports). Luego deberías llevar los dos nodos a un estado conocido (restart de heartbeat o de los nodos) para evitar el split brain.
La forma de escuchar la red con tcpdump podría ser (como root) tcpdump -i eth0 host X.X.X.X (la VIP del conjunto LVS). No es la única manera de observar el tráfico, pero todo depende de qué plataformas tienes en tu red. Por ejemplo, no nos dices con qué implementación de firewall cuentas (Es un PIX? Es un Linux? Es otra cosa?)
1) Si no hay actividad de ARP, habría que revisar la configuración de heartbeat en los directores LVS (está configurado el recurso ipfail?). 2) Si hay actividad de ARP, y aún así el firewall no está reaccionando (remapeando la nueva información de ARP), habría que estudiar qué cambio en la restrictividad del firewall puede ayudarte (como la que dijiste de anti-ip-spoofing). Relaja todo lo posible la conf. del firewall a ver si se logra lo que buscas.
Me parece que te va a dar la posibilidad 2) porque en tu OP dices que el failover sí funciona desde la DMZ.
Este post te sirve? http://www.gossamer-threads.com/lists/lvs/users/20884 Aquí hay un howto para Debian que parece útil: http://www.estrellateyarde.es/discover/cluster-ultramonkey-en-linux
-- Eduardo Grosclaude Universidad Nacional del Comahue Neuquen, Argentina
Gracias amigo por responder:
El firewall que tenemos es un PIX de cisco y como mencioné tiene activado el anti ip spoofing aparte de una especie de IDS
pego un poco del que muestra el show running:
ANTI IP SPOOFING ip verify reverse-path interface out ip verify reverse-path interface in ip verify reverse-path interface dmz_ext ip verify reverse-path interface dmz_int
ACTIVANDO IDS CISCO ip audit name XXX attack action drop reset ip audit interface out XXX ip audit interface in XXX ip audit interface dmz_ext XXX ip audit interface dmz_int XXX ip audit info action alarm ip audit attack action alarm
Gracias.
From: eduardo.grosclaude@gmail.com Date: Tue, 17 Nov 2009 14:36:53 -0300 To: centos-es@centos.org Subject: Re: [CentOS-es] LVS
2009/11/17 ces can arvegas21@hotmail.com
SALUDOS:
me he dado cuenta que el firewall tien activado la opcion anti "ip spoofing" tendra eso algo que ver igual lo deshabilite pero no funciona o habra que esperar un tiempo ? Alguien que me pueda ayudar?
Insisto con mi visión desde la ignorancia de LVS (expertos bienvenidos):
Intenta ver si los equipos emiten o no un ARP response gratuito durante el failover. Para esto, por ejemplo, se puede poner un equipo Linux como monitor en la DMZ con tcpdump activado (o wireshark) y ver el tráfico que pasa. Si desconectas el VS activo se debería provocar un failover a cargo del otro, y entonces en el monitor deberías ver tráfico de ARP relacionando la IP de servicio con la nueva MAC (ya que este tráfico es de broadcast, y entonces el switch lo conduce a todos los ports). Luego deberías llevar los dos nodos a un estado conocido (restart de heartbeat o de los nodos) para evitar el split brain.
La forma de escuchar la red con tcpdump podría ser (como root) tcpdump -i eth0 host X.X.X.X (la VIP del conjunto LVS). No es la única manera de observar el tráfico, pero todo depende de qué plataformas tienes en tu red. Por ejemplo, no nos dices con qué implementación de firewall cuentas (Es un PIX? Es un Linux? Es otra cosa?)
- Si no hay actividad de ARP, habría que revisar la configuración de
heartbeat en los directores LVS (está configurado el recurso ipfail?). 2) Si hay actividad de ARP, y aún así el firewall no está reaccionando (remapeando la nueva información de ARP), habría que estudiar qué cambio en la restrictividad del firewall puede ayudarte (como la que dijiste de anti-ip-spoofing). Relaja todo lo posible la conf. del firewall a ver si se logra lo que buscas.
Me parece que te va a dar la posibilidad 2) porque en tu OP dices que el failover sí funciona desde la DMZ.
Este post te sirve? http://www.gossamer-threads.com/lists/lvs/users/20884 Aquí hay un howto para Debian que parece útil: http://www.estrellateyarde.es/discover/cluster-ultramonkey-en-linux
-- Eduardo Grosclaude Universidad Nacional del Comahue Neuquen, Argentina _______________________________________________ CentOS-es mailing list CentOS-es@centos.org http://lists.centos.org/mailman/listinfo/centos-es
_________________________________________________________________ News, entertainment and everything you care about at Live.com. Get it now! http://www.live.com/getstarted.aspx
2009/11/17 ces can arvegas21@hotmail.com:
Gracias amigo por responder: El firewall que tenemos es un PIX de cisco y como mencioné tiene activado el anti ip spoofing aparte de una especie de IDS
Ah, bien, ahora tenemos algo: http://www.austintek.com/LVS/LVS-HOWTO/HOWTO/LVS-HOWTO.weird_hardware.html En la pregunta 43.2 hay alguien que padece lo mismo. Aparentemente PIX no se molesta en actualizar la cache ARP cuando recibe un ARP gratuito.
Se podrá modificar el funcionamiento de heartbeat para que haga al menos un ping al PIX luego del failover? Así el PIX no tendría más remedio que actualizar su tabla ARP.
No recuerdo si hay alguna manera más elegante o directa, pero se podría escribir un script que haga uno o dos pings y ponerlo como recurso de heartbeat a adquirir por el nodo director que se vuelve activo.