Tutorial en vídeo
Este es un ejemplo video tutorial que muestra equilibrio de carga entre dos conexiones WAN en 50% cada uno.
Resumen
Los lectores aprenderán acerca de la característica de balanceo de carga WAN entre interfaces en el EdgeRouter, basado en la versión EdgeOS v1.4.0. El 1er paso de nuestra función de balanceo de carga WAN está limitado a 2 interfaces WAN, pero tenemos la intención de apoyar más.
Existen unos requisitos para este tipo de configuración:
1. una sección de equilibrio de carga que define la interfaces y opcionalmente objetivos ping, intervalos de tiempo, prueba de ruta, etc.
2. un cortafuegos modificar reglas que define los criterios de partido.
3. al menos 1 interfaz LAN que tiene el cortafuegos modificar reglas aplicadas a la firewall en.
Nota : antes de configurar lo equilibrio de carga es una buena práctica 1 º verificar que ambas interfaces WAN están configurados correctamente con nat/firewall/etc. Derribar una interfaz WAN, verificar clientes LAN acceder a Internet. Luego hacer lo mismo con la otra interfaz WAN.
Este artículo se aplica a EdgeOS 1.4.0 y para arriba.
Configuración mínima
A continuación es un ejemplo de configuración que utiliza sobre todo los valores por defecto (usando comandos “show” en el modo de configuración):
ubnt@ER-Pro# show load-balance
group WLB {
interface eth0 {
}
interface pppoe0 {
}
}ubnt@ER-Pro# show firewall modify
modify WAN_WLB {
rule 10 {
action modify
modify {
lb-group WLB
}
}
}ubnt@ER-Pro# show interfaces ethernet eth2
description LAN
address 192.168.16.1/24
firewall {
in {
modify WAN_WLB
}
}
Con esta configuración el tráfico el tráfico entrante en eth2 estará sujeto a balanceo de carga (por defecto 50/50 por WAN). Esta configuración también pondrá en marcha un subproceso de vigilancia para cada interfaz WAN ping www.ubnt.com cada 10 segundos. Si hay 3 fallos consecutivos, todo el tráfico no sobre la otra interfaz WAN. Por supuesto si no te gusta esos valores predeterminados, puede configurar.
Comando de operación: Mostrar
El primer “show” comando muestra el “estado” de las interfaces asociadas con el grupo de balanceo de carga WAN.
ubnt@ER-Pro:~$ show load-balance status
Group WLB
interface : eth7
carrier : up
status : active
gateway : 22.0.0.1
weight : 50
flows
WAN Out : 7451
WAN In : 0
Local Out : 8854 interface : pppoe0
carrier : up
status : active
gateway : pppoe0
weight : 50
flows
WAN Out : 7566
WAN In : 0
Local Out : 3904
El comando “show” segundo muestra información relacionada, incluyendo estado, pings fallidos y ping gateway “watchdog“.
ubnt@ER-Pro:~$ show load-balance watchdog
Group G
eth7
status: Running
pings: 98
fails: 1
run fails: 0/2
route drops: 0
ping gateway: www.ubnt.com - REACHABLE pppoe0
status: Running
pings: 27
fails: 0
run fails: 0/3
route drops: 0
ping gateway: www.ubnt.com - REACHABLE
Nota : Si su interfaz WAN PPPoE, es una buena idea para obligar a introducir una ruta de kernel PPP :
configure
set interfaces ethernet eth1 pppoe 0 default-route force
commit
save
exit
Opciones de configuración
Para aquellos que quieren modificar los valores por defecto, hay varias opciones de configuración (notas siguen después de la salida)
load-balance {
group {
interface {
route {
default
table
}
weight
failover-only
route-test {
type {
default
ping {
target
}
script
}
initial-delay
interval
count {
success
failure
}
}
}
}
}
Sección de la ruta
En la sección de “ruta“, EdgeOS va por defecto intenta determinar la puerta de entrada para la interfaz. El gateway que selecciones aparecerán en “Mostrar control de balanceo de carga“. Si encuentra una puerta de enlace predeterminada o si desea tener control sobre la puerta de entrada, puede utilizar PBR para definir su propia tabla de enrutamiento, así:
configure
set protocols static table route 0.0.0.0/0 next-hop
set load-balance group interface route table
commit
save
exit
Ruta-test sección
en la sección “prueba de ruta” puede cambiar el comportamiento predeterminado de la “prueba de ruta, watchdog” según los parámetros siguientes:
El “objetivo de ping” opción le permite decidir qué anfitrión a ping.
La opción “script” le permite decidir completamente si la interfaz WAN debe considerarse activos o inactivos. La secuencia de comandos será llamada con 3 parámetros (nombre de grupo, nombre de la interfaz y estado actual como “OK” o “Abajo“). Si el script sale con 0 entonces la prueba de ruta se considera buena y cualquier otro valor se considera un error.
Nota : A pesar de los contadores de tiempo del perro guardián son multi-threaded, todavía no sería una buena idea que el script funcione durante un largo período de tiempo.
Exclusión de LAN a LAN
El funcionamiento de la característica de equilibrio de carga es mediante la creación de nuevas tablas de enrutamiento para las interfaces WAN que utilice. Funciona muy bien para LAN a tráfico WAN, pero no queremos tráfico de equilibrio de la carga que va desde LAN a LAN. La forma más fácil de manejar esto es crear un grupo de cortafuegos con las redes LAN y añadir una regla a las reglas de “modificar” para utilizar la tabla de encaminamiento principal para ésos destitnations. Nota: esta regla tiene que venir antes de la regla de equilibrio de la carga.
configure
set firewall group network-group LAN_NETS network 192.168.0.0/24
set firewall group network-group LAN_NETS network 192.168.1.0/24
set firewall group network-group LAN_NETS network 172.16.0.0/24
commit
set firewall modify WAN_WLB rule 10 destination group network-group LAN_NETS
set firewall modify WAN_WLB rule 10 action modify
set firewall modify WAN_WLB rule 10 modify table main
commit
ubnt@WLB# show firewall modify
modify WAN_WLB {
rule 10 {
action modify
destination {
group {
network-group LAN_NETS
}
}
modify {
table main
}
}
rule 20 {
action modify
modify {
lb-group WLB
}
}
}
[edit]
Reenvío de puertos
También no queremos tráfico de equilibrio de la carga enviada por el puerto. Para agregar otra regla para excluir la dirección pública del router. Desde la dirección de la pública podría ser dinámica, utilice el alias de la dirección. En este caso mis reglas de reenvío de Puerto ir a pppoe0:
firewall {
modify WAN_WLB {
rule 10 {
action modify
description "do NOT load balance lan to lan"
destination {
group {
network-group LAN_NETS
}
modify {
table main
}
}
rule 20 {
action modify
description "do NOT load balance destination public address"
destination {
group {
address-group ADDRv4_pppoe0
}
}
modify {
table main
}
}
rule 30 {
action modify
modify {
lb-group WLB
}
}
}