Olá, venho dar uma sugestão de uma funcionalidade que seria interessante para muitos que utilizam o mk-auth, então segue a ideia
1) Pois, bem, essa forma de balanceamento seria baseada em Firewall Mangle e utilizaria os parâmetros da Address-List para balancear a carga, e como isso seria?
Primeiro passo seria o sistema ter um campo para cadastrar a quantidade de links para serem balanceados, por exemplo, 3 links, assim o sistema definiria um parâmetro Address-List dinâmico para cada cliente que conectar utilizaria um parâmetro distinto.
Exemplo:
cliente1 conecta e recebe o list link1
cliente2 conecta e recebe o list link2
cliente3 conecta e recebe o list link3
cliente4 conecta e recebe o list link1
cliente5 conecta e recebe o list link2
e assim por diante...
2) Em /ip firewall mangle entrará as regras que definirão qual cliente marcado pelo parâmetro irá sair por qual link, segue a regra para balanceamento entre três links:
/ip firewall mangle
add chain=prerouting action=mark-routing new-routing-mark="WAN1" src-address-list="link1" passthrough=no comment="" disabled=no
add chain=prerouting action=mark-routing new-routing-mark="WAN2" src-address-list="link2" passthrough=no comment="" disabled=no
add chain=prerouting action=mark-routing new-routing-mark="WAN3" src-address-list="link3" passthrough=no comment="" disabled=no
add chain=prerouting action=mark-routing new-routing-mark="DESCONHECIDO" passthrough=no comment="" disabled=no
Nessa simulação temos três parâmetros list, sendo que os clientes marcados com link1 sairão pela WAN1 e os marcados com link2 sairão pela WAN2 e assim por diante...
3) E último passo é definir por onde cada grupo marcado com o parâmetro list irá sair no /ip route
/ip route
add dst-address=0.0.0.0/0 gateway="IP_DO_GATEWAY_WAN1" scope=255 target-scope=10 routing-mark="WAN1" comment="" disabled=no
add dst-address=0.0.0.0/0 gateway="IP_DO_GATEWAY_WAN2" scope=255 target-scope=10 routing-mark="WAN2" comment="" disabled=no
add dst-address=0.0.0.0/0 gateway="IP_DO_GATEWAY_WAN3" scope=255 target-scope=10 routing-mark="WAN3" comment="" disabled=no
add dst-address=0.0.0.0/0 gateway="IP_DO_GATEWAY_PRINCIPAL" scope=255 target-scope=10 routing-mark="DESCONHECIDO" comment="" disabled=no
Essa seria uma alternativa baseada em Per Traffic Load Balancing, pois o PCC que hoje é muito utilizada gera transtornos de toda espécia, seja por SSL em sites que exigem o mesmo IP de origem, seja por saturar o default gateway, seja pela dificuldade de criar regras de Failover eficientes, nessa sistemática tudo isso é muito mais simples.
Hoje o sistema já possibilita criar algo parecido, mas com desproporções que inviabilizam um balanceamento heterogêneo de clientes de planos diferentes. Estou falando da opção que se encontra no cadastro de planos 2.0 - Parâmetros Radius, onde o sistema marca com um list todos os clientes de um mesmo plano, o que faria com que clientes de planos de muita banda estourassem um link e deixassem outro sem uso. Então penso ser o ideal que clientes de todo tipo de plano se conecte em qualquer link misturado com clientes de outros planos.
Espero ter contribuído com algo. Valeu



Respostas
up, gostaria de saber se a ideia entrou no plano de desenvolvimento?
Realmente já é possível dar parâmetros por planos, mas seria necessário duplicar, ou triplicar os planos de forma repetida, o que do ponto de vista da organização não é muito viável, além de que a distribuição não seria com clientes de bandas diferentes, o que acarretaria em sobrecarga de alguns links e desuso de outros, como relatei no final do texto. Obrigado Pedro pela apreciação da ideia, afinal já temos um começo, que é causar interesse no desenvolvedor que é você. Abraço e agradeço a atenção.
Pedro Filho disse:
acompanhado
é uma boa ideia e irei ver, mais hoje usando a cabeça e a opção de list do cadastro do plano já é possivel fazer isso...
RIBEIRO'S NET - Flavio disse:
Poxa bacana a ideia, adeus pcc se isso funcionar. Vê ai Pedro, super importante.