BandaAncha.eu

Comunidad de usuarios
de fibra, móvil y ADSL

Redundancia en puerta de enlace

heze54

Buenas,

Tengo un server con linux ubuntu que como veis en el codigo, tiene 2 puertas de enlace con diferentes metricas.

La idea es que cuando cae una, siga por la otra. La cuestion es que, solas funcionan perfectamente... poniendo una u otra bien, pero si lo dejo como lo he adjuntado, cuando cae la de metrica 0 no sigue el trafico a la de siguiente metrica con lo que se pierde el ping

¿Que puedo hacer?

Un saludo

Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
192.168.155.0 192.168.156.254 255.255.255.0 UG 0 0 0 eth0
192.168.154.0 192.168.156.254 255.255.255.0 UG 0 0 0 eth0
192.168.157.0 192.168.156.254 255.255.255.0 UG 0 0 0 eth0
localnet * 255.255.255.0 U 0 0 0 eth0
default 192.168.156.254 0.0.0.0 UG 0 0 0 eth0
default 192.168.156.252 0.0.0.0 UG 200 0 0 eth0

Este tema está cerrado a nuevas respuestas. Abre un nuevo tema para retomar la conversación.
Gand1

/* Contenido borrado por mi */

Es que no me sentía muy orgulloso del comentario... :-P

🗨️ 2
BocaDePez
BocaDePez

Si lo piensas no lo digas. Si lo dice no lo escribas. Si lo escribes no lo firmes.

🗨️ 1
BocaDePez
BocaDePez

Joder con la dislexia. Cada vez estoy peor:

Si lo piensas no lo digas. Si lo dices no lo escribas. Si lo escribes no lo firmes. Si lo firmas, niégalo todo y llama a tu mejor abogado.

Say0nar4

Hola

la tabla de enrutamiento que has puesto está bien, pero seguramente le podrás quitar las 3 primeras líneas

En el manual de route he leído

Metric: The distance to the target (usually counted in hops). It is not used by recent kernels, but may be needed by routing daemons.

Osea que el truco de la métrica no te va a ayudar. Tendrás que habilitar algún protocolo de enrutamiento dinámico,RIP o aogún otro, y para eso tendrías que habilitar ese protocolo en los routers adyacentes

Si el tiempo de conmutar de una ruta a otra no es crítico te puedes hacer un script que te cambie la ruta por defecto en caso de caer la línea y que se ejecute cada 5 minutos o así.

heze54

Estos datos los he sacado por medio del comando "route" en linux.

Estas 3 rutas estaticas:

192.168.155.0 192.168.156.254 255.255.255.0 UG 0 0 0 eth0
192.168.154.0 192.168.156.254 255.255.255.0 UG 0 0 0 eth0
192.168.157.0 192.168.156.254 255.255.255.0 UG 0 0 0 eth0

Solo estan ahi para que desde equipos de esas redes pueda administrar esta maquina, nada mas.

La idea es que siempre salga por el 254, asi tendria acceso al server e internet... pero por el motivo que sea, cambiar TEMPORALMENTE a la 252 para seguir permitiendo internet y cuando este restablecido cambiar otra vez al 254..

Estoy pensando en algun script....

🗨️ 4
Gand1

Estoy con el compañero de arriba, las rutas están bien pero posiblemente no sean necesarias...

Para tener esa "alta disponibilidad" entre dos gateways, tendrías que apoyarte en los routers/switches de tu red y en otros protocolos (RIP, por ejem).

Como solución provisional (si tus routers/switches no soportan protocolos dinamicos), podrías estudiar el crear un script.

A mi, a bote pronto, se me ocurre monitorizar la salida por un gateway cada x tiempo (ping a www.google.es, por ejem), detectar perdida de paquetes (con ping o con otro método) y con el comando route cambiar el default gateway. Con un script se podría hacer...

Evidentemente, ese cambio supondría resetear todas las conexiones activas en ese momento.

Esto me lo he encontrado por la red:

ECMP (Equal Cost Multi-Path) Routing

This routing mechanism enables packet routing along multiple paths with equal cost and ensures load balancing. With ECMP routing, you can use more than one gateway for one destination network (Note! This approach does not provide failover). With ECMP, a router potentially has several available next hops towards a given destination. A new gateway is chosen for each new source/destination IP pair. It means that, for example, one FTP connection will use only one link, but new connection to a different server will use another link. ECMP routing has another good feature - single connection packets do not get reordered and therefore do not kill TCP performance.

The ECMP routes can be created by routing protocols (RIP or OSPF), or by adding a static route with multiple gateways, separated by a comma (e.g., /ip route add gateway=192.168.0.1,192.168.1.1). The routing protocols may create multipath dynamic routes with equal cost automatically, if the cost of the interfaces is adjusted properly. For more information on using routing protocols, please read the corresponding Manual.

🗨️ 3
BocaDePez
BocaDePez

Buenas,

Con script lo tengo implementado desde ayer, aunque no lo hemos probado..hoy lo hare.

Lor routers son cisco... un 1721 y un 2821. el conmutador un 3com de 50 puertos .

🗨️ 2
BocaDePez
BocaDePez

Yo en esos casos metí un miniPC con PFSENSE. Te ahorras aparatos caros (Cisco's) y tienes herramientas muy potentes.

Saludos

BocaDePez
BocaDePez

Joer, pues ya que tienes dos Cisco utiliza HSRP o VRRP y que se encarguen ellos de hacer el backup de gw... En tu server sólo tendrías que poner una IP virtual como default gw y se acabó.

Say0nar4

Las rutas las quiere porque es posible que no tenga internet pero sí "intranet" y seguramente por la 192.168.156.252 no se pueda acceder a esas redes.
Heze, ¿podrías postear el script? Yo tengo hecho uno que podría adaptar a tu caso.
En cuanto a lo de rip y tal, en efecto, la redundancia de redes se suele configurar en los routers pero bueno, hacerlo en el servidor tampoco está mal

🗨️ 2
Gand1

Pudiera ser una estupidez... pero...

Si hicieramos lo siguiente, funcionaria?:
1º - Creamos las rutas directas de forma estática (para que pueda ver los equipos conectados directamente a él). Ésta regla la considero necesaria al añadir la siguiente regla.
2º - Creamos una ruta estática mandando todo a un gw (todo lo que no esté conectado directamente, lo mandamos a un gw).
3º - Creamos el default gw (Todo lo que no se haya resuelto antes, lo resolvera esta regla; si falla el gw anterior, funcionará con este otro).

Se supone que irá recorriendo la lista hasta que una regla coincida con el enrutado que se necesite y resolverá. La idea es no tener que utilizar RIP ni escribir scripts. Ya sólo es curiosidad...

Para utilizar RIP, en linux, se necesita el demonio routed.

Un par de links:

mailxmail.com/curso-redes-linux-como-fun…grama-routed
aprenderedes.com/2019/09/configuracion-de-rip

🗨️ 1
Say0nar4

2º - Creamos una ruta estática mandando todo a un gw

es que eso es crear un default gw precisamente, que es el punto 3. Él lo que quiere es que se use un default gw siempre, y si se cae la línea cambie a otro. Y si vuelve a estar en pie la otra que se vuelva a poner automaticamente.

En realidad el script es tan sencillo como hacer

ping -c 1 www.google.es && (route del ...;route add .. )

es decir, haces un ping y si falla que me borre la ruta de ahora y que añada otra.
Luego si eso posteo un script

Por supuesto, usar routed es mucho mejor que hacer un script