[eside-ghost] routing y alta disponibilidad
Ender
eduvedder en terra.es
Jue Jul 21 18:58:33 CEST 2005
(nota: mando este mail de nuevo porque antes se ha quedado como
respuesta a uno muy antiguo e igual hay peña que no lo lee...
zgor gracias por la respuesta ;-) )
Aupa Topo!
Este email responde a uno de Topo de hace bastante tiempo donde
explicaba una
serie de técnicas para conseguir alta disponibilidad de servicios
utilizando
2 conexiones a internet. Como es de hace un webo no he querido
"responderlo".
La idea era conectar las 2 lineas de inernet a un router linux y que este
router haga doble nat a cada servidor; habría 2 dnss y bla, bla bla...
(nota: pego el mail de Topo al final de este mail).
Hablabas del mecanismo inherente del servicio DNS. Se supone que cuando hay
que hacer una resolución DNS sólo se pregunta al DNS primario, sólo si éste
está caido se pregunta al DNS secundario (que tendría la otra ip de la
máquina). Pero.....
¿que pasa si la red está saturada durante un momento y el servidor
primario no
responde o tarda mucho en responder? supongo que se le haría la pregunta al
servidor secundario, que devolvería la ip de backup que teníamos.... hasta
aquí no habría problema, porque por esa ip tambien se puede acceder al
servidor final, pero.... ¿EL PAQUETE DE VUELTA?
el servidor final responde el paquete que va al router linux, y éste, como
tiene las 2 líneas bien manda a internet el paquete por su ruta por defecto
(que sería la primera y le pondría al paquete direccion origen la
principal),
por lo que al cliente inicial le llegaría un paquete desde una direccion ip
distinta a la dirección ip que quería atacar..... ¿no?
Esto se solucionaría consiguiendo que el router linux pudiera devolver las
respuestas de los paquetes por el gateway del interfaz de red por el que
recibio el paquete original.... ¿ES POSIBLE ESTO?
¿se me entiende?
Es que el otro dia se nos fue abajo una frame relay y consegui montar lo
que
Topo comentaba (con 2 firewalls en lugar uno) de esta forma:
INET1 -- FW1 ------|----DNS1
|
MAQUINA
|
INET2 -- FW2 ------|----DNS2
Se nos cayó la línea 1 y puse a funcionar la línea 2.... pero cuando
levantó
la línea 1 algunos paquetes nos llegaban por ahi y otros por la 2, y
"MAQUINA" devolvía todos evidentemente por su gateway por defecto (que
es lo
que creo que haría el router linux).
Como "MAQUINA" era una solaris, probé a meter 2 gateways a pelo y cual
fue mi
sorpresa al comprobar que los paquetes que entraban por la línea uno los
mandaba a FW1 y los que entraban por la linea 2 los mandaba a FW2.... (ni
idea de por qué)
la tabla de rutas ha quedado asi....
root en v240:~# netstat -nrv
Destination Mask Gateway
------------------------------------------------------------------
192.168.1.0 255.255.255.0 192.168.1.32 bge0
192.168.3.0 255.255.255.0 192.168.3.11 bge2
default 0.0.0.0 192.168.1.1
default 0.0.0.0 192.168.3.1
¿funcionaria esto tambien en linux? ¿por que funciona en solaris? (tengo
snifadas de los 2 interfaces para demostrarlo, si quereis las mando)
Me parece muy interesante e importante conseguir este comportamiento....
tanto
a nivel de un firewall como una máquina que tenga 2 tarjetas de red y pueda
salir a internet por cualquiera de las 2... (la idea es que lo que
recibe por
un lado lo devuelva por el mismo, ya que tiene 2 ips de nat distintas).
Saludos y siento la chapa,
Ender
Más información sobre la lista de distribución eside-ghost