Introdução
O SD-WAN do Fortigate possuí muitas formas de implementações e algoritmos de balanceamento de tráfego, e uma delas é o Maximize bandwidth (SLA), onde o tráfego é balanceado entre os members do SD-WAN.
É um recurso muito interessante de ser utilizado quando queremos maximizar (e de certa forma somar) a bandwidth de uma comunicação que possuí mais de dois Link's WAN.
Quando por exemplo possuímos dois Link's de Internet de 5Mb, podemos utilizar o SD-WAN do Fortigate com a Rule de Maximize bandwidth (SLA) entre os Link's para as sessões do tráfego serem balanceadas entre os Link's para agregar e maximizar a banda disponível e dependendo do balanceamento das sessões, podendo chegar a 10Mb a comunicação.
Um breve resumo dos métodos de balanceamento das SD-WAN Rules, retirados do Fórum da Fortinet:
As rules SD-WAN são usadas para controlar como as sessões são distribuídas aos membros da Zona SD-WAN. Podem ser configuradas em cinco formas:
Auto: As interfaces recebem uma prioridade com base na qualidade do Link;
Manual: As interfaces recebem uma prioridade manualmente;
Best quality: O membro com o melhor desempenho medido é selecionado.
Lowest Cost (SLA): O membro que atende às metas de SLA é selecionado. Em caso de empate, é selecionado o membro com menor custo atribuído;
Maximize bandwidth (SLA): O tráfego é distribuído entre todos os links disponíveis com base no algoritmo de balanceamento de carga selecionado. Ao usar o modo Maximize bandwidth (SLA), o SD-WAN escolherá todos os links que atendem ao SLA para encaminhar o tráfego com base em um algoritmo de balanceamento de carga.
Organização do Post
O post ficou organizado conforme tópicos abaixo:
Brief da Topologia
A nossa topologia possuí dois clientes/sites distintos que possuem como Gateway da rede um Firewall Fortigate. Eles necessitam de uma comunicação redundante entre eles através de VPN IPsec Site-to-Site. Ambos os clientes possuem um Link de Internet e outro MPLS como WAN.
Cada local possuí uma as seguintes redes LAN's, que precisarão ter comunicação entre si:
Site 01: 10.10.1.0/24;
Site 02: 192.168.2.0/24.
Interfaces do Firewall:
port1: WAN INTERNET;
port2: WAN MPLS;
port3: LAN.
O Link de Internet conta com uma banda de 5Mb disponível, e o Link MPLS 3Mb, em cada local.
Objetivo
Os clientes/sites necessitam ter uma comunicação entre as suas LAN's através dos túneis IPSec. Além de necessitar de um backup através dos túneis, como trata-se de link's com pouca banda, será necessário maximizar o bandwidth disponível com as bandas dos link's para a comunicação.
O objetivo será cumprido com a configuração de dois túneis IPSec em cada local, um entre os Link's de Internet, e o outro entre os Link's MPLS. Ambos os túneis serão configurados como membros de uma Zona SD-WAN.
O SD-WAN será utilizado como tecnologia para maximizar o Bandwidth disponível para a comunicação entre os clientes, como se estivéssemos agregando os Link's para esta comunicação - que fique claro que não estamos agregando os Link's (como um LACP por exemplo), mas sim utilizando a tecnologia e algoritmo de balanceamento do Fortigate do modo Maximize Bandwidth, que compartilha as sessões do tráfego entre os Link's que são membros da Zona SD-WAN.
Topologia Laboratório
O Laboratório consta com a topologia conforme demonstra-se na Figura abaixo. A nossa rede MPLS é baseada nos posts anteriores que foram feitos aqui no Blog, você pode conferir aqui a partir do primeiro post sobre redes MPLS;
Configurações
Segue um breve resumo da ordem que as configurações foram realizadas, contando que os Link's de Internet, MPLS e a rede LAN já estão configurados:
Configuração de uma nova Zona SD-WAN;
Configuração dos túneis IPSec através do Wizard do SD-WAN; 2.1. Ajustar configuração dos túneis IPSec;
Configuração das rotas estáticas das LAN's dos clientes/sites apontando para o SD-WAN;
Configuração das firewall policies;
Configuração das Regras do SD-WAN para atingir o objetivo proposto.
Primeiramente realizamos as configurações do Site 01, logo após, as do Site 02. As configurações foram realizadas em sua grande maioria através da GUI, mas também irei demonstrar a configuração via CLI em listas expansíveis, caso deseja vê-la, apenas expandir a lista quando houver.
Configuração Site 01
Vamos configurar os túneis IPSec através do Wizard do SD-WAN, que é uma maneira bem simples de configurar túnel IPSec. Após, editaremos os túneis IPSec conforme a nossa necessidade.
Configuração de uma nova Zona SD-WAN:
Via GUI, em Network > SD-WAN > Create New, e criar uma Zona nova que será utilizada para comunicação com o Site 02:
Zona SD-WAN via CLI
2. Configuração dos Túneis IPSec através do Wizard do SD-WAN:
Com a Zona criada, agora iremos criar os túneis IPSec como members desta Zona através do Wizard SD-WAN. Ir em Network > SD-WAN > Create New, e criar o primeiro member que será o túnel IPSec através do Link de Internet. Em "SD-WAN Zone", selecionado a Zona recém criada. Em "Interface", selecionar "+VPN" para criação do túnel IPSec:
Em "Remote IP Address" é o IP da WAN via Link de Internet do Site 02, e "Outgoing Interface" é a Interface de Saída do Site 01 que alcança este endereço IP do Remote:
Após clicar em "Next", na próxima tela clicar em "Create":
O mesmo procedimento foi realizado para o Link MPLS:
Após as configurações realizadas, o SD-WAN ficou da seguinte forma:
Members SD-WAN via CLI
2.1. Ajustes das configurações dos túneis IPSec criados através do Wizard do SD-WAN
Conforme as configurações dos túneis IPSec foram realizados através do Wizard do SD-WAN, devemos agora acessar os túneis criados e personalizá-los conforme a nossa necessidade. No caso da nossa topologia, apenas mudei o "Local Address" e o "Remote Address" dos dois túneis para os IP's das LANs dos clientes:
Túneis IPSec via CLI
3. Configuração das rotas estáticas das LAN's dos clientes/sites apontando para o SD-WAN
É necessário realizar o roteamento da rede LAN do Site 02 (192.168.2.0/24) tendo como Gateway a Zona SD-WAN criada anteriormente:
Rotas Estáticas via CLI
4. Configuração das firewall policies
Em Policy & Objects > Firewall Policy, configurado as regras do tráfego de IN (entrada) e OUT (saída):
Firewall Policies via CLI
5. Configuração das Regras do SD-WAN para atingir o objetivo proposto
A configuração do SD-WAN é dividida em duas partes, primeiro configuramos as Performance SLAs, e depois as SD-WAN Rules.
Para Performance SLAs, criamos uma regra de ping para o IP da LAN do Site 02 (192.168.2.1), onde terá como Participants os túneis IPSec que fazem parte da Zona SD-WAN:
O SLA Target mantemos ativo, pois é necessário para a utilização do Maximize bandwidth (SLA), pois conforme mencionado na Introdução, o SD-WAN vai balancear o tráfego apenas nos membros da Zona SD-WAN que cumprirem com os requisitos do SLA Target.
SLA Target via CLI
Importante: conforme o nosso SLA Target é o IP de LAN do Site 02 (192.168.2.1), e a rede do Site 01 que alcança esse IP é a rede da LAN do mesmo (10.10.1.0/24), devemos forçar o source address para o IP da LAN do Site 01 nos membros da Zona SD-WAN para que os mesmos alcancem a rede LAN do Site 02. Essa configuração é possível apenas via CLI. Segue abaixo:
SITE-01 (sdwan) # config members
config members
edit 1
set interface "SITE02_MPLS"
set zone "SDWAN_SITE-02"
set source 10.10.1.1
next
edit 2
set interface "SITE02_NET"
set zone "SDWAN_SITE-02"
set source 10.10.1.1
next
end
Para SD-WAN Rules, foi selecionado os endereços de Origem e Destino e utilizado o modo Maximize Bandwidth (SLA). Selecionado os membros e a Zona SD-WAN que criamos anteriormente e também o Required SLA Targed que configuramos acima.
Rules SD-WAN via CLI
Configuração Site 02
As configurações do Site 02 são idênticas as do Site 01, com exceção dos apontamentos dos túneis e rotas, que são para o Site 01.
Configuração de uma nova Zona SD-WAN:
Zona SD-WAN via CLI
2. Configuração dos Túneis IPSec através do Wizard do SD-WAN:
Em "Remote IP Address" é o IP da WAN via Link de Internet do Site 02, e "Outgoing Interface" é a Interface de Saída do Site 02 que alcança este endereço IP do Remote:
Após clicar em "Next", na próxima tela clicar em "Create":
O mesmo procedimento foi realizado para o Link MPLS:
Após as configurações realizadas, o SD-WAN ficou da seguinte forma:
Members SD-WAN via CLI
2.1. Ajustes das configurações dos túneis IPSec criados através do Wizard do SD-WAN
Conforme realizamos nas configurações do Site 01, no Site 02 foi feita a mesma mudança, onde apenas foi alterado o "Local Address" e o "Remote Address" dos dois túneis para os IP's das LANs dos clientes:
Túneis IPSec via CLI
3. Configuração das rotas estáticas das LAN's dos clientes/sites apontando para o SD-WAN
É necessário realizar o roteamento da rede LAN do Site 01 (10.10.1.0/24) tendo como Gateway a Zona SD-WAN criada anteriormente:
Rotas Estáticas via CLI
4. Configuração das firewall policies
Em Policy & Objects > Firewall Policy, configurado as regras do tráfego de IN (entrada) e OUT (saída):
Firewall Policies via CLI
5. Configuração das Regras do SD-WAN para atingir o objetivo proposto
Para Performance SLAs, criamos uma regra de ping para o IP da LAN do Site 01 (10.10.1.1), onde terá como Participants os túneis IPSec que fazem parte da Zona SD-WAN:
SLA Target via CLI
Importante: conforme o nosso SLA Target é o IP de LAN do Site 01 (10.10.1.1), e a rede do Site 02 que alcança esse IP é a rede da LAN do mesmo (192.168.2.0/24), devemos forçar o source address para o IP da LAN do Site 02 nos membros da Zona SD-WAN para que os mesmos alcancem a rede LAN do Site 01. Essa configuração é possível apenas via CLI. Segue abaixo:
SITE-02 (sdwan) # config members
config members
edit 1
set interface "SITE01_MPLS"
set zone "SDWAN_SITE-01"
set source 192.168.2.1
next
edit 2
set interface "SITE01_NET"
set zone "SDWAN_SITE-01"
set source 192.168.2.1
next
end
Para SD-WAN Rules, foi selecionado os endereços de Origem e Destino e utilizado o modo Maximize Bandwidth (SLA). Selecionado os membros e a Zona SD-WAN que criamos anteriormente e também o Required SLA Targed que configuramos acima.
Rules SD-WAN via CLI
Algoritmos de balanceamento de tráfego
O algoritmo de balanceamento do tráfego default é do tipo round-robin, onde todo o tráfego e sessões são distribuídas de forma igual às interfaces selecionadas da Zona SD-WAN, e foi o algoritmo utilizado para este Laboratório, entretanto, é necessário verificar qual o algoritmo ideal para o ambiente em que será configurado essa feature. Segue os algoritmos disponíveis, que deve ser configurado através de CLI:
Algoritmos de Balanceamento:
Exemplo de alteração do Hash da Rule SD-WAN:
config system sdwan
config service
edit 1
set name "LAB"
set mode load-balance
set hash-mode bibandwidth <-- HASH
Testes Práticos e Resultados Obtidos
Verificação dos Túneis IPSec:
Ambos os túneis estão UP:
Verificação SD-WAN:
Na SD-WAN Performance SLAs, ambos os túneis estão UP e estão cumprindo com os requisitos do SLA Target:
Na SD-WAN Rules, como ambos os Link's estão cumprindo os requisitos do SLA, estão "selecionadas" para ser utilizadas para o tráfego:
Teste de throughput:
Para realização dos testes, primeiramente foi limitada a banda disponível do Link de Internet para 5Mb e do Link MPLS em 3Mb. Para isso, foi criado um Traffic Shapping no Fortigate e aplicado nas interfaces IPSec:
Para realização do teste, cada cliente/site possui um Windows, onde foi utilizado a ferramenta Iperf para testes de throughput.
IP Windows Site 01: 10.10.1.3 - Server Iperf;
IP Windows Site 02: 192.168.2.3 - Client Iperf;
O comando do Iperf no lado do client foi: iperf3.exe -c 10.10.1.3 -P 2 -d
Sendo -P o número de sessões e o -d para o teste ser bidirecional.
O resultado do teste foi satisfatório no requisito de throughput disponível e passante entre os Sites, onde podemos ver conforme imagem acima, a banda que passou por cada uma das sessões, totalizando os 8Mb que esperávamos.
No SD-WAN, observamos que cada Link "recebeu" uma sessão:
E em "Volume", conforme o Link de Internet possuí mais banda disponível, consequentemente passou mais tráfego:
Em um último teste de desempenho, realizei um teste de ping do Windows do Site 02 para o Windows do Site 01 enquanto é realizado o teste de banda, por mais que um simples teste de ping não seja um parâmetro totalmente "confiável", é interessante termos o resultado, onde o teste do Iperf rodou por 60 segundos, não obtivemos nenhuma perda de pacote:
Por fim, foi realizado um teste de failover, onde o SD-WAN foi extremamente rápido e eficaz, e, conforme o vídeo do teste abaixo, quando derrubado um Link, quando o tráfego virou para o outro Link, foi praticamente imperceptível:
Conclusão
Conforme nossos testes tiveram resultados plausíveis de acordo com o objetivo proposto, esse recurso do Maximize Bandwidth do SD-WAN deve ser utilizado com cautela e conforme necessidade do ambiente, pois normalmente diferentes link's WAN possuem diferentes características, podendo haver problemas nas conexões entre os Sites devido ao balanceamento das sessões.
Mas, ao mesmo tempo, também pode ser um recurso útil em casos de que as bandas disponíveis dos Link's sejam baixas e seja necessário maximizar o throughput de uma comunicação numa VPN Site-to-Site.
Referências
コメント