[Fortigate] TĂșnel IPSec Site-to-Site redundante com SD-WAN para maximizar Bandwidth
- victor tirloni
- 30 de mai. de 2024
- 8 min de leitura
Atualizado: 14 de jun. de 2024
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
SITE-01 (sdwan) # config zone
SITE-01 (zone) # edit "SDWAN_SITE-02"
SITE-01 (SDWAN_SITE-02) # show
config zone
edit "SDWAN_SITE-02"
next
end
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
SITE-01 (sdwan) # config members
edit 1
set interface "SITE02_MPLS"
set zone "SDWAN_SITE-02"
next
edit 2
set interface "SITE02_NET"
set zone "SDWAN_SITE-02"
next
end
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
config vpn ipsec phase1-interface
edit "SITE02_NET"
set interface "port1"
set peertype any
set net-device disable
set proposal des-md5 des-sha1
set comments "VPN: SITE02_NET (Created by VPN wizard for SD-WAN)"
set remote-gw 192.168.100.71
set psksecret labsdwanipsec
next
edit "SITE02_MPLS"
set interface "port2"
set peertype any
set net-device disable
set proposal des-md5 des-sha1
set comments "VPN: SITE02_MPLS (Created by VPN wizard for SD-WAN)"
set remote-gw 172.16.2.2
set psksecret labsdwanipsec
next
end
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
config router static
edit 2
set dst 192.168.2.0 255.255.255.0
set distance 1
set comment "ROTA-SITE02"
set sdwan-zone "SDWAN_SITE-02"
next
end
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
config firewall policy
edit 1
set name "SITE02_IN"
set srcintf "SDWAN_SITE-02"
set dstintf "port3"
set action accept
set srcaddr "LAN_SITE_02_192.168.2.0_24"
set dstaddr "LAN_LOCAL_10.10.1.0_24"
set schedule "always"
set service "ALL"
set logtraffic all
next
edit 2
set name "SITE02_OUT"
set srcintf "port3"
set dstintf "SDWAN_SITE-02"
set action accept
set srcaddr "LAN_LOCAL_10.10.1.0_24"
set dstaddr "LAN_SITE_02_192.168.2.0_24"
set schedule "always"
set service "ALL"
set logtraffic all
next
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
config health-check
edit "ping_site02"
set server "192.168.2.1"
set members 1 2
config sla
edit 1
next
end
next
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
config system sdwan
config service
edit 1
set name "LAB"
set mode load-balance
set dst "LAN_SITE_02_192.168.2.0_24"
set src "LAN_LOCAL_10.10.1.0_24"
config sla
edit "ping_site02"
set id 1
next
end
set priority-members 1 2
set priority-zone "SDWAN_SITE-02"
next
end
end
     Â
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
SITE-01 (sdwan) # config zone
SITE-01 (zone) # edit "SDWAN_SITE-01"
SITE-01 (SDWAN_SITE-02) # show
config zone
edit "SDWAN_SITE-01"
next
end
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
SITE-02 (sdwan) # config members
edit 1
set interface "SITE01_MPLS"
set zone "SDWAN_SITE-01"
next
edit 2
set interface "SITE01_NET"
set zone "SDWAN_SITE-01"
next
end
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
config vpn ipsec phase1-interface
edit "SITE01_NET"
set interface "port1"
set peertype any
set net-device disable
set proposal des-md5 des-sha1
set comments "VPN: SITE01_NET (Created by VPN wizard for SD-WAN)"
set remote-gw 192.168.100.237
set psksecret labsdwanipsec
next
edit "SITE01_MPLS"
set interface "port2"
set peertype any
set net-device disable
set proposal des-md5 des-sha1
set comments "VPN: SITE02_MPLS (Created by VPN wizard for SD-WAN)"
set remote-gw 172.16.1.2
set psksecret labsdwanipsec
next
end
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
config router static
edit 2
set dst 10.10.1.0 255.255.255.0
set distance 1
set comment "ROTA-SITE01"
set sdwan-zone "SDWAN_SITE-01"
next
end
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
config firewall policy
edit 1
set name "SITE01_IN"
set srcintf "SDWAN_SITE-01"
set dstintf "port3"
set action accept
set srcaddr "LAN_SITE_01_10.10.1.0_24"
set dstaddr "LAN_LOCAL_192.168.2.0_24"
set schedule "always"
set service "ALL"
set logtraffic all
next
edit 2
set name "SITE01_OUT"
set srcintf "port3"
set dstintf "SDWAN_SITE-01"
set action accept
set srcaddr "LAN_LOCAL_192.168.2.0_24"
set dstaddr "LAN_SITE_01_10.10.1.0_24"
set schedule "always"
set service "ALL"
set logtraffic all
next
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
config health-check
edit "ping_site01"
set server "10.10.1.1"
set members 1 2
config sla
edit 1
next
end
next
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
config system sdwan
config service
edit 1
set name "LAB"
set mode load-balance
set dst "LAN_SITE_01_10.10.1.0_24"
set src "LAN_LOCAL_192.168.2.0_24"
config sla
edit "ping_site01"
set id 1
next
end
set priority-members 1 2
set priority-zone "SDWAN_SITE-01"
next
end
end
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