Balanceo PCC

aqui encontras informacion respecto a los tipos de balanceos de carga que se pueden realizar con RouterOS
Avatar de Usuario
Alejo
Nuevo miembro
Mensajes: 2
Registrado: Mar, 20 Feb 2018, 21:17

Balanceo PCC

Mensaje por Alejo » Mié, 21 Feb 2018, 09:33

Hola, aquí expongo una configuración de balanceo con dos líneas WAN y una LAN. Toda esta información la he ido sacando de varios foros y un MUM de balanceo de AbcXperts.
Actualmente lo estoy utilizando con tres líneas WAN y tres LAN y todo funciona muy bien.


Direcciones IP

Código: Seleccionar todo

/ip address
add address=10.1.1.2/30 interface=eth1
add address=10.20.1.2/30 interface=eth2
add address=192.168.0.1/24 interface=eth3
Políticas de ruteo

El objetivo de las políticas de ruteo es forzar el tráfico hacia un Gateway específico, incluso si estuviera destinado a otro Gateway.

Las siguientes 2 reglas permiten el uso de las tablas de ruteo por default para el tráfico que está conectado a dichas redes (10.1.0/30 y 10.20.1.0/30) siempre y cuando el tráfico provenga de la LAN (ether3, 192.168.0.1/24)

Código: Seleccionar todo

/ip firewall mangle
add chain=prerouting dst-address=10.1.1.0/30 action=accept in-interface=eth3

add chain=prerouting dst-address=10.20.1.0/30 action=accept in-interface=eth3
Explicación de la primera regla: todo aquello que se analice en prerouting cuyo destino de red sea 10.20.1.0/30 y que ingrese por la interfaz ethe3 sea aceptada.

En las siguientes 2 reglas se manejarán las conexiones iniciadas en el exterior (en la WAN), ya que las respuestas deben salir por la misma interface (desde la misma IP pública) por donde vino el requerimiento. Se marcarán únicamente las nuevas conexiones entrantes. Esto nos evita problemas como por ejemplo la web de Bancos.

Código: Seleccionar todo

/ip firewall mangle
add chain=prerouting in-interface=eth1 connection-mark=no-mark action=mark-connection new-connection-mark=ISP1_conn

add chain=prerouting in-interface=eth2 connection-mark=no-mark action=mark-connection new-connection-mark=ISP2_conn
En las siguientes 2 reglas se utiliza PCC para dividir el tráfico LAN (ether3, 192.168.0.1/24) en dos grupos (en este ejemplo solo hay 2 interfaces WAN) para lo cual se utiliza both-addresses (basado en direcciones origen y destino).
Puesto que el tráfico filtrado por chain=prerouting captura todo el tráfico que va hacia el mismo router, y se necesita filtrar el tráfico cuyo destino NO ES la red local (LAN, ether3), entonces se utiliza dst-address-type=!local

(suponemos dos líneas de internet con la misma velocidad es por eso 2/0 y 2/1)

Código: Seleccionar todo

/ip firewall mangle
add chain=prerouting in-interface=eth3 connection-mark=no-mark dst-address-type=!local per-connection-classifier=both-addresses:2/0 action=mark-connection new-connection-mark=ISP1_conn

add chain=prerouting in-interface=eth3 connection-mark=no-mark dst-address-type=!local per-connection-classifier=both-addresses:2/1 action=mark-connection new-connection-mark=ISP2_conn

Cuando se trabaja con mark-routing debemos recordar que únicamente se puede utilizar chain=output y chain=prerouting.
Por este motivo, el tráfico de conexión LAN (ether3) se filtra con prerouting, y el tráfico de conexión WAN se filtra y marca (mark-routing) con chain=outpu
t.

Código: Seleccionar todo

/ip firewall mangle
add chain=prerouting connection-mark=ISP1_conn in-interface=eth3 action=mark-routing new-routing-mark=to_ISP1 passthrough=no

add chain=prerouting connection-mark=ISP2_conn in-interface=eth3 action=mark-routing new-routing-mark=to_ISP2 passthrough=no

add chain=output connection-mark=ISP1_conn action=mark-routing new-routing-mark=to_ISP1 passthrough=no

add chain=output connection-mark=ISP2_conn action=mark-routing new-routing-mark=to_ISP2 passthrough=no
Nota: passthrough=no para indicar la finalización del marcado de ruteo y/o de paquetes.

En las siguientes 2 reglas se crean las rutas para cada routing-mark

Código: Seleccionar todo

/ip route
add dst-address=0.0.0.0/0 gateway=10.1.1.1 routing-mark=to_ISP1 check-gateway=ping

add dst-address=0.0.0.0/0 gateway=10.20.1.1 routing-mark=to_ISP2 check-gateway=ping
Explicación de la primera regla: en la tabla de rutas todo aquello que vaya con destino a la ruta por defecto que utilice el Gateway 10.1.1.1 va a utilizar los routing-mark que fueron marcados con to_ISP1.

Check-gateway=ping esta opción, empieza a comprobar mediante un ping o comando arp si ese Gateway está activo, si no está activo, vuelve a comprobar si está activo después de 10 segundos, si en la segunda comprobación sigue sin estar activo, el check-gateway desactiva esa regla y lo pone en azul.


Las siguientes 2 reglas habilitan el failover cuando uno de los Gateway falla. Para esto es necesario que esté activada la opción check-gateway

Código: Seleccionar todo

/ip firewall mangle
add dst-address=0.0.0.0/0 gateway=10.1.1.1 distance=1 check-gateway=ping

add dst-address=0.0.0.0/0 gateway=10.20.1.1 distance=2 check-gateway=ping
Imagen
Según las políticas de ruteo en la tabla principal no puede coexistir más de una regla que apunte a una misma dirección de destino y que esté activa. Negro (activa) Azul (no activa).

Cuando se hacen marcas de ruteo, se crea una tabla de ruteo especial que tiene preferencia sobre la tabla de ruteo principal; es por eso que las dos primeras reglas están activas porque tienen un routing-mark distinto, la tercera regla también está activa porque está utilizando la tabla de ruteo principal y la cuarta está desactiva por propia definición de que dos reglas no pueden apuntar a la misma dirección.

¿Qué pasa con los paquetes si la primera regla marcada con to_ISP1 no está activa?

Pasa a la segunda regla y esta no funciona porque sólo es para los paquetes marcados con to_ISP2.
Esto se soluciona con las reglas de failover ya que éstas reglas no hacen diferenciación de si una conexión está marcada.


NAT

Código: Seleccionar todo

/ip firewall nat
add chain=srcnat out-interface=eth1 action=masquerade
add chain=srcnat out-interface=eth2 action=masquerade

Espero que toda esta recopilación de información que he ido recopilando os ayude a configurar y entender el balanceo.

Saludos.
Adjuntos
111.png
111.png (48.31 KiB) Visto 90 veces
Responder