Observação:
- Este tutorial requer acesso ao Oracle Cloud. Para se inscrever e obter uma conta gratuita, consulte Conceitos Básicos do Oracle Cloud Infrastructure Free Tier.
- Ele usa valores de exemplo para credenciais, tenancy e compartimentos do Oracle Cloud Infrastructure. Ao concluir seu laboratório, substitua esses valores por valores específicos do seu ambiente de nuvem.
Use o serviço VPN Site a Site do Oracle Cloud Infrastructure no modo HA com roteamento ECMP do Linux e do Libreswan
Introdução
No mundo interconectado de hoje, é fundamental garantir a disponibilidade e a segurança dos dados transmitidos através de redes. Para atender a essa necessidade crítica, o Oracle Cloud oferece recursos de rede robustos, incluindo a capacidade de estabelecer túneis IPSec de alta disponibilidade. Neste tutorial, vamos explorar o conceito de túneis IPSec de alta disponibilidade e orientá-lo durante o processo de configuração de uma arquitetura de rede resiliente no Oracle Cloud usando o protocolo ECMP (equal-cost multi-path).
Neste tutorial, vamos nos concentrar em utilizar o Oracle Linux, um sistema operacional poderoso e seguro otimizado para ambientes do Oracle Cloud, juntamente com o Libreswan, um cliente IPSec bem estabelecido, para estabelecer túneis IPSec no modo baseado em rota. Vamos utilizar a funcionalidade DRG (Dynamic Routing Gateway) fornecida pelo OCI (Oracle Cloud Infrastructure) para permitir failover e balanceamento de carga contínuos entre diversos túneis IPSec.
Objetivos
Forneça um guia abrangente para implementar Túneis IPSec no OCI usando o protocolo de roteamento ECMP para tráfego de balanceamento de carga junto a eles no cenário ativo/ativo.
- Compreender os conceitos básicos do protocolo IPSec do Site a Site
- Entenda os diferentes modos IPSec: Transporte vs Túnel, Baseado em política vs Rota
- Configurar o Libreswan no Oracle Linux com balanceamento de carga ECMP
- Configurar DRGv2 para túneis IPSec redundantes
- Teste a redundância dos túneis e o balanceamento de carga com Iperf3
Seguindo este tutorial, você obterá uma compreensão abrangente de IPSec no OCI. Você adquirirá as habilidades necessárias para efetivamente interconectar sua infraestrutura local com o OCI por meio de uma conexão redundante.
Pré-requisitos
-
Uma tenancy ativa do OCI. Você deve ter as permissões necessárias para criar e gerenciar recursos de rede no OCI.
-
Uma compreensão básica do SO Linux, conceitos de Rede e OCI. Isso inclui familiaridade com conceitos fundamentais de rede, como endereçamento IP, sub-rede, roteamento e firewall, é essencial.
-
Um conhecimento básico do Oracle Linux, incluindo como instalar e configurar. Se você é novo no Oracle Linux, talvez queira passar por um tutorial ou guia básico do Oracle Linux antecipadamente.
-
Uma rede virtual na nuvem (VCN) e sub-rede(s) configuradas no OCI, com regras de roteamento apropriadas, Gateway de Internet, DRG e listas de segurança configuradas.
-
Uma boa compreensão de como usar a Console do OCI ou a CLI do OCI para criar e gerenciar recursos de rede.
Observação: É recomendável que você tenha um ambiente de teste configurado no OCI para experimentar as configurações de rede e IPSec antes de implementá-las em um ambiente de Produção.
O que é IPSec VPN
Internet Protocol security (IPSec) é uma estrutura de padrões abertos que ajuda a garantir comunicações privadas e seguras através de redes IP (Internet Protocol) através do uso de serviços de segurança criptográfica. O IPSec suporta integridade de dados em nível de rede, confidencialidade e autenticação da origem de dados e proteção de repetição. Como o IPSec está integrado na camada da Internet (camada 3), ele fornece segurança para quase todos os protocolos na suíte TCP/IP e como o IPSec é aplicado de forma transparente aos aplicativos, não há necessidade de configurar uma segurança separada para cada aplicativo que usa TCP/IP.
O IPSec ajuda a fornecer defesa em profundidade contra ataques baseados em rede de computadores não confiáveis, ataques que podem resultar na negação de serviço de aplicativos, serviços ou a rede.
- Dados corrompidos
- Roubo de dados
- Roubo de credenciais do usuário
- Controle administrativo de servidores, outros computadores e a rede.
VPN Site a Site
Uma VPN IPSec (Internet Protocol Security) site a site, também conhecida como VPN rede a rede, estabelece uma conexão segura e criptografada entre duas ou mais redes pela internet. Ele permite a transmissão segura de dados entre sites distribuídos geograficamente, criando uma rede privada virtual (VPN) que amplia o alcance da rede além de seus limites físicos.
Em um IPSec VPN site a site, as redes participantes, geralmente pertencentes a diferentes organizações ou ramificações remotas da mesma organização, são conectadas por meio de túneis IPSec dedicados. Esses túneis encapsulam e criptografam o tráfego de rede, garantindo sua confidencialidade, integridade e autenticidade, percorrendo redes não confiáveis, como a internet.
Por outro lado, uma VPN ponto a site (P2S) estabelece uma conexão segura entre dispositivos cliente individuais e uma rede remota. Ao contrário das VPNs site a site, que conectam redes, as VPNs P2S permitem o acesso remoto seguro para dispositivos individuais para acessar os recursos de rede. P2S VPNs geralmente são usadas para permitir acesso seguro para funcionários remotos, contratados ou usuários móveis que precisam se conectar à rede da organização de locais externos.
Observação: Este escopo do tutorial é limitado ao IPSec VPN Site a Site que é atualmente o único suportado no OCI DRGv2.
Conceitos de Túneis VPN IPSec
IPSec significa Internet Protocol Security ou IP Security. IPSec é uma suíte de protocolos que criptografam todo o tráfego IP antes que os pacotes sejam transferidos do nó de origem para o destino. IPSec pode ser configurado de dois modos:
-
Modo de Transporte: IPSec só criptografa e/ou autentica o payload do pacote, e as informações do cabeçalho permanecem intactas.
-
Modo de Túnel: IPSec criptografa e/ou autentica o pacote inteiro. Após a criptografia, o pacote é encapsulado para formar um novo pacote IP UDP que tem diferentes informações de cabeçalho.
Os túneis entre sites da IPSec VPN oferecem as seguintes vantagens:
-
Não há necessidade de comprar linhas de leasing dedicadas e dispendiosas de um site para outro, pois as linhas de telecomunicações públicas são usadas para transmitir dados.
-
Os endereços IP internos das redes e dos nós participantes permanecem ocultos para usuários externos.
-
A comunicação inteira entre os sites de origem e de destino é criptografada, diminuindo significativamente as chances de roubo de informações. O OCI suporta apenas o modo de túnel VPN IPSec e é oferecido como autoatendimento usando a console web.
Observação: A VPN Site a Site do OCI SOMENTE suporta o modo de túnel para que esse seja o único modo disponível no OCI.
Arquitetura
O OCI IPSec com ECMP consiste em listas que incluem:
-
DRGv2 anexado a VCN1 e VCN2 usando tabelas de roteamento padrão e tabelas de roteamento geradas automaticamente RT2 "Tabela de Roteamento de Drg Gerada Automaticamente para anexos de VCN" na região de Frankfurt.
-
O mesmo DRGv2 com uma conexão IPSec incluindo dois túneis:
- túnel 1, endereço IP da Oracle VPN 193.122.x.x com tabela de roteamento gerada automaticamente RT1 "Tabela de Roteamento de Drg Gerada Automaticamente para anexos RPC, VC e IPSec".
- túnel 2, endereço IP da Oracle VPN 158.101.x.x com tabela de roteamento gerada automaticamente RT1 "Tabela de Roteamento de Drg Gerada Automaticamente para anexos RPC, VC e IPSec".
-
Uma VM do Oracle Linux como cliente IPSec com suporte ECMP local, em execução em CIDR privado de faixa 192.168.0.0/16, IP público 143.47.48.219.
-
Iperf3 no Oracle Linux no local como cliente e servidor no Oracle OCI.
-
Um CPE configurado como Libreswan com IP público 143.47.x.x.
-
O ECMP ativou o Oracle Linux 8 e o lado da OCI.
Tarefa 1: Configurar Definições do OCI
Para este tutorial, criamos uma instância de VM do Oracle Linux 7 e instalamos o Libreswan 3.25 nele. Para instalar o Libreswan no Linux, você pode seguir a seguinte documentação da Oracle: Acesso a Outras Nuvens com o Libreswan. Você pode instalar o Libreswan no ambiente de sua escolha. Para este tutorial, escolhemos outra região remota no OCI como cliente Libreswan e iniciador de túnel.
Depois de instalar o Libreswan (sem configurá-lo ainda), anote o IP público da sua VM Linux 7, bem como a faixa IPv4 CIDR privada na qual você instalou o Libreswan.
Agora, vamos configurar as Definições do OCI
-
Faça log-in na console do OCI e navegue até a guia Rede para criar VCN1 e VCN2, da seguinte forma: Criar Sua VCN.
-
Crie VCN1 com CIDR 10.0.0.0/16 e duas sub-redes: Sub-rede A 10.0.1.0/24 e sub-rede B 10.0.0.0/24.
-
Crie VCN2 com o CIDR 172.20.0.0/16 e duas sub-redes: Sub-rede C 172.20.1.0/24 e sub-rede D 172.20.2.0/24.
-
Crie VMs nas sub-redes de destino no OCI para testar os túneis IPSec. Neste tutorial, criamos 3 VMs (origin1, origin2 e origin3).
-
Agora vamos criar um DRG, em Rede, Conectividade do Cliente, Gateways de Roteamento Dinâmico.
-
Depois que o DRG for criado, você precisará criar um anexo de Rede Virtual na Nuvem para VCN1 e VCN2.
-
Uma vez criados, teremos dois Anexos de Rede (um por VCN) conectando ambas as VCNs ao DRG com uma tabela de roteamento DRG AutoGenerated para anexos de VCN (tabela de roteamento RT2 na arquitetura principal).
-
Esta tabela de roteamento informará ao DRG onde enviar/rotear para o tráfego de entrada das VCNs recém-anexadas: Qualquer tráfego destinado ao "CIDR de Destino" será enviado/roteado para "Anexo de Próximo Salto" da seguinte forma:
-
Posteriormente, ao criar túneis IPSec, teremos uma tabela de roteamento gerada automaticamente para o tráfego de entrada local por meio do túnel IPSec.
-
-
Agora, vamos criar a conectividade IPSec. Antes de criar o IPSec, precisaremos criar o CPE (Customer-Premises Equipment) que representa o dispositivo local que estabelece conexão com o OCI por meio de IPSec, em Networking, Conectividade do cliente, Equipamento local do cliente, Criar CPE:
-
X.X.X.X deve ser o endereço IP PUBLIC do qual seu dispositivo local está se conectando. NÃO confunda-o com o endereço IP privado designado à máquina Libreswan do Oracle Linux instalada nas etapas anteriores. Muito provavelmente sua VM do Oracle Linux estará atrás de NAT (não possuindo diretamente o IP público). Se você não souber o endereço IP público, poderá sempre executar o seguinte comando na console do Linux para descobrir:
curl ifconfig.co. -
Para este tutorial, escolha Vendor Libreswan versão 3.18 ou posterior.
-
-
Vá para Rede, Conectividade do cliente, VPN Site a Site, Crie uma conexão IPSec e forneça os detalhes a seguir.
Observação: você pode usar o Assistente de VPN, mas ele está fora do escopo deste tutorial.
-
Nome da sua configuração IPSec
-
Criar no compartimento: Seu compartimento
-
Equipamento local do cliente em Seu Compartimento: Escolha o CPE criado na etapa anterior
- Este CPE está atrás de um dispositivo NAT: Isso afetará diretamente como o id do Internet Key Exchange (IKE) será "apresentado" para o OCI no local. Supondo que o Libreswan esteja sendo executado atrás de NAT, se quiser usar o IP privado no qual o Libreswan está sendo executado como ID IKE, marque essa opção. Caso contrário, se você quiser usar o IP público de onde o Libreswan está se conectando, não marque essa opção. Vamos configurar esse ID do IKE mais tarde na configuração do Libreswan.
-
Compartimento do gateway de roteamento dinâmico: Escolha o DRG que você configurou nas etapas anteriores.
-
Rotas para sua rede local: O roteamento dinâmico está fora do escopo deste tutorial. Vamos nos concentrar no ECMP para balanceamento de carga e redundância, usando a configuração IPSec Baseada em Rota. Adicionaremos aqui manualmente/estaticamente as rotas locais/CIDRS que desejamos alcançar do OCI para o local. Para este tutorial, usaremos 192.168.0.0/16 como CIDR local.
-
Túnel 1:
- Nome
- Fornecer segredo compartilhado do cliente : Você pode usar sua própria chave pré-compartilhada IKE (senha) ou deixá-la em branco para que o OCI escolha uma (nós a usaremos posteriormente durante a configuração do Libreswan)
- Versão IKE: Para este Tutorial, usaremos IKEv1
- Tipo de roteamento: Para este Tutorial, usaremos roteamento estático para a configuração IPSec Baseada em Rota; por isso, escolha "Roteamento estático"
- IPv4 interface de túnel interno - CPE e Oracle: Deixe esta opção em branco
- IPv6 endereçamento: Deixe em branco, pois IPv6 está fora do escopo neste tutorial
-
Túnel 2: Preencha o Túnel 2 exatamente da mesma maneira que o Túnel 1 (versão IKE, tipo de Roteamento etc.).
-
-
Clique em Criar conexão IPSec. Se tudo correr bem, após alguns minutos, você deverá ter uma configuração IPSec em execução com dois túneis para Redundância.
-
Agora que temos o DRG e o IPSec em vigor, precisamos nos certificar de que todo tráfego de VCNs no OCI para locais encontrará seu caminho para o DRG. Quando o tráfego atingir o DRG, ele será túnel para local por meio dos dois túneis IPSec configurados recentemente. Para isso, precisamos adicionar o CIDR local como regra de roteamento para cada tabela de roteamento de sub-rede na VCN (escolhemos a tabela de Roteamento padrão no Tutorial), o tipo de destino Gateway de Roteamento Dinâmico, o tipo de Destino Bloco CIDR e, em seguida, adicionar a rota local, nesse caso, 192.168.0.0/16.
Observação: O motivo pelo qual precisamos adicionar essa rota é que o OCI não tem roteamento implícito para endereços CIDR fora do realm da VCN. Como resultado, devemos adicionar manualmente o bloco CIDR para garantir que o tráfego atinja o DRG.
-
Tarefa 2: Configurar Definições de Linux e Libreswan
Esta parte do tutorial se concentrará nas etapas de configuração do Linux OS e Libreswan. O Libreswan que instalamos anteriormente atuará como um iniciador do Túnel Site a Site e OCI DRG como um respondedor de Túnel.
-
Acesse seu Oracle Linux OS via SSH. Eleve seus privilégios para executar comandos importantes (admin).
-
sudo su: Você se tornará o usuário raiz. -
Certifique-se de que o Libreswan esteja instalado com a versão correta: ipsec -version. Você deverá ver o Libreswan versão 3.25 ou posterior. Caso contrário, vá para Tarefa 1: Configurar Definições do OCI e siga as instruções para instalar o Libreswan.
-
Vá para a pasta de configuração:
cd /etc. -
O Libreswan armazena toda a configuração de túneis no arquivo
ipsec.conf. Use seu editor de arquivos favorito. "vi" é uma boa opção:vi ipsec.conf-
Libreswan ipsec.conf:
-
conn [TunnelName1}: Nome do Túnel
-
type= túnel (Modo de túnel)
-
authby=secret (a autenticação usará uma frase-senha secreta)
-
pfs=sim (Segredo direto perfeito ativado)
-
keyexchange=como
-
leftid= n.n.n.n (Este é o endereço IP público do qual o Libreswan está se conectando. Ele será usado como o identificador de ID do IKE, a menos que você tenha selecionado a opção 'CPE está atrás de NAT' durante a criação de IPSec. Nesse caso, qualquer endereço IP ou nome de domínio totalmente qualificado (FQDN) pode ser definido como o identificador)
-
leftsourceip= m.m.m.m (Este é o IP privado designado ao Libreswan, ou seja, 192.168.1.1)
-
leftsubnet= x.x.x.x/x (Este é o bloco CIDR designado ao Libreswan, ou seja, 192.168.0.0/16)
-
right= y.y.y.y (Este é o endereço IP "Público" da VPN do OCI designado a tunnel1 durante a criação de IPSec em Rede, Conectividade do cliente, VPN Site a Site, YourIPSEC)
-
rightid= y.y.y.y (Este é o ID do IKE enviado do OCI. Normalmente é o endereço IP "Público" da VPN do OCI, normalmente o mesmo parâmetro correto)
-
leftsubnet=0.0.0.0/0 (Este é o bloco CIDR que será enviado para o OCI como parte do Protocolo Internet Key Exchange (IKEv2) 2.2.9 da negociação do Seletor de Tráfego de SA. Isso NÃO significa que todo o tráfego do OCI será roteado para o local. Em vez disso, o que esse bloco CIDR faz é determinar qual tráfego específico será aceito, criptografado e ajustado por meio do túnel IPSec. O túnel IPSec descrito aqui será representado por uma interface virtual chamada VTI (Virtual Tunnel Interface), que atua como uma interface de rede virtual (como uma placa de rede virtual) que representa o próprio túnel. Digamos que a VTI seja chamada de vti01. Qualquer tráfego roteado para a interface vti01 se tornará parte do túnel IPSec e será enviado de forma segura para a outra extremidade da conexão. Essa abordagem, em que as decisões de roteamento são tomadas com base no túnel IPSec específico e sua VTI associada, é conhecida como roteamento baseado em rota IPSec)
-
rightsubnet=0.0.0.0/0 (O mesmo que acima para tráfego aceito no OCI localmente)
-
mark=n/0xffffffffff (*A opção Necessária para uso com interfaces VTI, a fim de marcar pacotes encapsulados no túnel IPSec associado a esta interface VTI. Precisa ser exclusivo em todos os túneis, isto é, 5/0xffffffff*)
-
vti-interface=vtinn (*Nome da interface VTI, ou seja, vti01*)
-
vti-routing=no (Se as rotas devem ser criadas automaticamente no dispositivo VTI. Escolha NÃO, pois não queremos criar a rota 0.0.0.0/0 automaticamente)
-
encapsulamento= sim/auto (sim força o código de detecção NAT a mentir e dizer ao sistema remoto que o encapsulamento RFC-3948 (ESP na porta 4500 pacotes UDP). Automático forçará a detecção automática de NAT)
-
aggrmode= não
-
ike=aes_cbc256-sha2_384;modp1536 (algoritmo de criptografia/autenticação IKE a ser usado para a conexão (fase 1 do ISAKMP SA). O formato é "cipher-hash;modpgroup, cipher-hash;modpgroup, ...)
-
esp=aes_gcm256;modp1536 (Especifica os algoritmos que serão oferecidos/aceitos para uma negociação de Acordo de Serviço Filho. O formato para ESP é ENC-AUTH seguido de um PFSgroup opcional. Por exemplo, "aes_gcm256" ou "aes256-sha2_512-dh14" ou "aes-sha2_512+sha2_256")
-
ikev2= não (Para usar IKEv2, altere para ikev2=insist)
-
-
-
Vá para a pasta de configuração:
cd /etc/ipsec.d. -
O Libreswan armazena todos os túneis compartilham segredos (senhas) no arquivo
shared.secrets.-
Formato Libreswan shared.secrets: leftid right : PSK "secret"
-
leftid: O Id do IKE configurado em IPSec.conf (leftid). Normalmente, o endereço IP Público do Libreswan.
-
direita: O endereço IP Público do Túnel do OCI.
-
"secret" : O segredo/senha compartilhada do túnel atual configurado no OCI. Você pode obter essas informações na console do OCI em Rede, Conectividade do cliente, VPN Site a Site, YourIPSEC, TunnelName, Informações de túnel, Segredo compartilhado, Mostrar.
-
-
-
-
Para este tutorial, criamos os seguintes
ipsec.confeshared.secrets(IPs públicos estão ocultos):ipsec.conf
shared.secrets
-
Agora, vamos tentar estabelecer os dois túneis HA com o OCI.
-
Reinicie o serviço Libreswan: como raiz, execute
ipsec restart. Se tudo correr bem, nenhum erro será mostrado; caso contrário, você verá algo como este:O job para ipsec.service falhou porque o processo de controle saiu com código de erro. Consulte "systemctl status ipsec.service" e "journalctl -xe" para obter detalhes.
-
Agora vamos verificar o status atual dos túneis IPSec: execute
ipsec status. Você verá muitas informações sobre os túneis atuais configurados em torno de ESP(plano de dados) e IKE(plano de sinalização), sub-redes permitidas etc. Por enquanto, focaremos na lista de conexões.000 Lista de conexões:
000
000 Total de conexões IPSec: *carregado 0, ativo 0
-
No momento, não há configuração de túnel carregada, nem ativa.
-
Execute
ipsec auto --add ConnName1, isto é,ipsec auto --add home_liftvti.- 002 adicionou a descrição da conexão "home_liftvti" <- Agora a conexão está "carregada" ainda não está ativa. Verifique com o status de ipsec.
-
Execute
ipsec auto --up ConnName1para iniciar o túnel 1, ou seja,ipsec auto --up home_liftvti. Se tudo correr bem, você verá o IPSec modo de túnel estabelecido SA; caso contrário, você verá erros diferentes de IKE/IPSec necessários para solucionar problemas. -
Agora está virado para o segundo túnel: execute ipsec auto -add ConnName2, isto é, ipsec auto -add home_liftvti2
- 002 adicionou a descrição da conexão "home_liftvti2" <- Agora a conexão está "carregada" ainda não está ativa. Verifique com o status de ipsec
-
Execute ipsec auto -up ConnName2 para iniciar o túnel 1, ou seja, ipsec auto -up home_liftvti2. Se tudo correr bem, você verá "IPSec modo de túnel estabelecido SA", caso contrário, você verá erros diferentes de IKE/IPSec que você precisará para solucionar problemas
-
Tarefa 3: Configurar o roteamento de IP e o tráfego de Túnel
Esta parte do tutorial se concentrará no roteamento de IP e no tráfego de Túnel.
-
Agora que ambos os túneis estão ativos e em execução, vamos tentar fazer um ping em alguma máquina no OCI do Libreswan para testar túneis. Por exemplo, ping origin1 com IP 10.0.0.109. Você verá que isso falhará.
PING 10.0.0.109 (10.0.0.109) 56(84) bytes of data. 10.0.0.109 ping statistics 26 packets transmitted, 0 received, 100% packet loss, -
Talvez você esteja se perguntando por que não está funcionando, mesmo que os túneis IPSec estejam ativos e em execução no OCI. A resposta é porque os dois túneis que estabelecemos com base no OCI são "baseados na rota" e cada túnel é representado por uma Interface Virtual (VTI). Você pode ver cada VTI como uma NIC (network interface card) virtual que representa um túnel IPSec. Qualquer tráfego roteado para a VTI é encapsulado usando o protocolo ESP (Encapsulando Payload de Segurança) e enviado para a outra extremidade do túnel. A VTI atua como um gateway para o tráfego que precisa ser protegido e transmitido por meio do túnel IPSec.
-
Em nosso cenário de teste, temos duas interfaces VTI, vti01 e vti02, cada uma representando home_liftvti e home_liftvti02 no OCI DRG. Você pode vê-los facilmente executando o comando
ifconfigdo Linux. -
Agora tudo o que precisamos fazer é adicionar uma Rota do SO Linux para essas interfaces VTI, para garantir que o tráfego atinja o OCI por meio dos dois túneis. Lembre-se de que qualquer tráfego direcionado a uma interface VTI será encapsulado em seu túnel IPSec associado e roteado para o OCI.
-
O comando para adicionar a rota tem o seguinte formato:
ip route add {vcnCidrBlock} nexthop dev {vti1} weight {priority}nexthop dev {vti2} weight {priority}` -
Em nosso caso de teste, queremos ser capazes de atingir o OCI VCN1 com CIDR 10.0.0.0/16: a rota ip adiciona 10.0.0.0/16 nexthop dev vti01 peso 1 nexthop dev vti02 peso 1
-
-
Agora o ping deve funcionar imediatamente.
ping 10.0.0.109 PING 10.0.0.109 (10.0.0.109) 56(84) bytes of data. 64 bytes from 10.0.0.109: icmp_seq=1 ttl=61 time=29.0 ms 64 bytes from 10.0.0.109: icmp_seq=2 ttl=61 time=29.4 ms 64 bytes from 10.0.0.109: icmp_seq=3 ttl=61 time=29.0 ms -
Agora temos dois túneis funcionando.
Tarefa 4: Configurar balanceamento de carga e redundância ECMP
Esta parte do tutorial se concentrará no balanceamento de carga e na redundância ECMP.
-
Neste ponto do tutorial, atualmente temos dois túneis IPSec estabelecidos e operacionais com o OCI. Ambos os túneis estão utilizando a rota idêntica para a nossa rede local, conforme especificado no nosso caso de teste 192.168.0.0/16.
-
Túnel 1 192.168.0.0/16 -> Local
-
Túnel 2 192.168.0.0/16 -> Local
-
-
Como ambos os túneis estão usando a mesma rota local (192.168.0.0/16), essa rota será propagada para o restante dos anexos de rede do DRG, de forma que outros elementos de rede (VCNs, sub-redes etc.) possam chegar no local por meio do IPSec. Como você pode ver na próxima imagem, teremos um conflito na rota 192.168.0.0/16 que será o mesmo para os dois túneis IP Sec na tabela DRG gerada automaticamente para anexos da VCN.
-
Com essa configuração, usaremos apenas um túnel e ignoraremos o outro. O objetivo deste tutorial é poder usar os dois túneis ao mesmo tempo para obter alta disponibilidade (ativo/ativo) e dobrar o desempenho adicionando o throughput de dois túneis. É aqui que o ECMP entra em jogo. Para ativar o ECMP, primeiro precisaremos ativá-lo na tabela DRG gerada automaticamente para cada anexo de VCN: Rede, Conectividade do cliente, Gateways de roteamento dinâmico, DRGName, Detalhes da tabela de roteamento do DRG, Botão Editar (você precisa fazer isso em cada tabela de anexos do DRG).
-
Você verá que o conflito de rota na tabela de roteamento DRG gerada automaticamente para anexos da VCN foi resolvido.
-
Ative o ECMP no Linux e no Libreswan. Para suportar o ECMP (equal-cost multi-path routing), o Linux introduz a opção de política de hash usando
fib_multipath_hash_policy, uma nova definiçãosysctlque controla qual política de hash usar para rotas multipath. Quandofib_multipath_hash_policyé definido como 1, o kernel executa o hash L4, que é um hash de vários caminhos para pacotes IPv4 de acordo com um conjunto de valores de 5 tuplas (IP de origem, porta de origem, IP de destino, porta de destino, tipo de protocolo IP). Quandofib_multipath_hash_policyé definido como 0 (padrão), somente o hash L3 é usado (os endereços IP de origem e de destino). No console do Linux, como raiz, execute:sysctl -w net.ipv4.fib_multipath_hash_policy=1 -
Agora, ativamos o ECMP nas duas extremidades; portanto, ambos os túneis serão usados no modo Ativo/Ativo, adicionando um throughput total de dois túneis IPSec. Para nossos testes, usamos o comando
iperf3para inspecionar o tráfego e obtivemos os seguintes resultados:From Libreswan: iperf3 -c 10.0.0.109 -b 1100Mb -P 8 -t 300 From OCI Origin1: iperf3 -s [SUM] 0.00-1.75 sec 249 MBytes 1.20 Gbits/sec 7122 sender
Links Relacionados
Confirmações
Autores - Luis Catalán Hernández (Especialista em Rede em Nuvem do OCI e Multi Cloud), Antonio Gamir (Especialista em Rede em Nuvem do OCI)
Mais Recursos de Aprendizagem
Explore outros laboratórios no site docs.oracle.com/learn ou acesse mais conteúdo de aprendizado gratuito no canal YouTube do Oracle Learning. Além disso, visite education.oracle.com/learning-explorer para se tornar um Oracle Learning Explorer.
Para obter a documentação do produto, visite o Oracle Help Center.
Use Oracle Cloud Infrastructure Site-to-Site VPN service in HA mode with ECMP routing from Linux and Libreswan
F84216-01
July 2023
Copyright © 2023, Oracle and/or its affiliates.