Este artigo é direcionado àqueles que tenham interesse em se certificar no exame 201 da F5 ou apenas tenham curiosidade em saber como é possível simular um cenário de balanceamento de carga usando os softwares: VMware Workstation, BIG-IP e GNS3 com roteador Cisco.
Vamos abordar um assunto bastante cobrado no exame 201, a ordem de precedência, que se refere a ordem na qual o BIG-IP irá processar as requisições vindas dos usuários para um virtual server com o mesmo endereço IP.
Preparando o Cenário
Primeiramente vamos fazer a instalação dos softwares necessários:
Instalando o BIG-IP no VMware Workstation
Pré Requisitos
- Um cadastro no site da F5 (https://f5.com/) para poder fazer o download da imagem.ova.
- Usar um dos seguintes hypervisors: VMware Workstation, VMware ESXi 5.1, 5.5, vCloud Director 5.1. (para este documento, as versões 9, 10 e 12 do VMware Workstation foram usadas).
- Ter um computador com no mínimo 4GB de memória RAM. (8GB ou mais é recomendado)
- Web Servers para simulação de balanceamento
Especificações do produto
- BIG-IP Version: VE Trial 11.3.0 hotfix 1
- Maximum L4/L7 Throughput: 1 Mbps
- Disk Space Required: 18 GB
- Memory Required: 2 GB
- Number of Processors Required: 1 vCPU
- Concurrent SSL VPN Users: 10
Download do BIG-IP LTM VE
Para fazer o download, acesse – https://f5.com/products/trials/product-trials e use suas credenciais para logar, caso não tenha um usuário e senha, clique em “Register – I need to create a free F5 Support ID”. Uma vez logado, clique em “Get the 90-day BIG-IP LTM Trial”. Existem outras versões disponíveis para teste, no entanto, nesta demonstração, usaremos a versão de teste de 90 dias.
Clique no botão “Generate Registration Key” e em seguida “Email Registration Key(s)” para receber a chave de ativação do produto por e-mail.
Imagem 01 – Gerando chave de ativação
Na página seguinte, clique em “Download the Trial”. Aceite os termos de uso e na próxima página, escolha a opção BIGIP-11.3.0.39.0-scsi.ova como mostrado na Imagem02:
Imagem 02 – Imagem virtual do BIG-IP
No VMware Workstation, clique em File –> Open…
Imagem 03 – Importando o arquivo.ova – Parte 1
Em seguida, busque o arquivo.OVA que baixou do site da F5 e confirme clicando em Import.
Imagem 04 – Importando o arquivo.ova – Parte 2
Depois de importar, você deve ver o BIG-IP abaixo de “My Computer”, selecione-o e clique em “Power on this virtual machine”
Imagem 05 – Ligando o BIG-IP Virtual
Para acessar a CLI e iniciar a configuração, use a credencial padrão:
Login: root
Password: default
Após logar, digite “config” no prompt para abrir um assistente de configuração. Se as interfaces do VmWare Workstation estiverem como “bridge”, que é o padrão, o BIG-IP deve trazer uma configuração de IP de gerenciamento automaticamente, no mesmo range da sua rede. Esta é a forma mais simples de configuração, caso clique em “no”, você poderá configurar o IP manualmente.
Eu aceitei a configuração de IP escolhendo a opção “yes”. Logo, devo conseguir pingar o IP atribuído a partir do meu PC:
Imagem 07 – Teste de Ping no IP de gerenciamento
Agora para acessar a interface gráfica do equipamento, abra um browser e digite: https://10.1.3.62 (endereço IP do seu BIG-IP). Um aviso de certificado deve aparecer, continue mesmo assim e você deverá chegar a tela inicial de acesso. Use a credencial padrão:
Username: admin
Password: admin
Uma vez logado, devemos licenciar o equipamento antes de qualquer configuração, para isso, utilize o Setup Utility clicando em “next”:
Imagem 09 – Licenciando o BIG-IP Virtual – Parte 1
Em seguida em “Activate”
Imagem 10 – Licenciando o BIG-IP Virtual – Parte 2
Quando iniciamos o download do BIG-IP, um e-mail nos foi enviado com a Base Registration Key, copie-a como mostrado abaixo e clique em “next”:
Imagem 11 – Adicionando a Base Registration Key
Com o BIG-IP configurado para acesso à Internet, basta clicar em Automatic, então em “next”, aceitar a EULA e finalizar o processo de ativação.
Pronto, o BIG-IP está instalado e ativado, agora basta continuar no Setup Utility clicando em “next” e fazendo a configuração inicial de acordo com o que é pedido.
GNS3 com BIG-IP LTM e VMware Workstation
Sobre o GNS3
Graphical Network Simulator-3 (GNS3) é uma ferramenta gratuita, open-source, que permite a simulação de hardwares de rede (como roteadores Cisco e firewalls), para que se possa praticar, configurar e fazer troubleshooting de cenários de rede rodando diretamente em um PC com Windows, Mac ou Linux.
Para este LAB, usaremos um roteador rodando uma imagem de IOS (Sistema Operacional de roteadores CISCO). Você precisa de uma imagem válida para conseguir usar o GNS3. Para maiores detalhes, acesse: https://www.gns3.com/software
A instalação do GNS3 é simples e não exige conhecimento específico.
Antes de abrir o GNS3 pela primeira vez, certifique-se de que as VMnets do seu VMware Workstation estejam configuradas corretamente em Edit à Virtual Network Editor. Exemplo:
Imagem 12 – VMnets do VMware Workstation
Você pode montar um plano de endereçamento diferente ou apenas seguir como está mostrado na imagem acima.
Obs.: o plano de endereçamento usado neste LAB não reflete o que geralmente é usado em um cenário real, ele foi elaborado para facilitar a didática. Em um ambiente de produção, a RFC 1918 deve ser respeitada.
Ordem de precedência
O BIG-IP usa o endereço IP de destino, IP de origem e porta de serviço para determinar a ordem de precedência para as novas conexões de entrada. Quando a conexão corresponder a mais de um virtual server com o mesmo endereço IP, o BIG-IP usa um algoritmo que coloca a precedência do virtual server na seguinte ordem:
- Endereço IP de destino
- Endereço IP de origem
- Porta de serviço
A tabela abaixo foi retirada da documentação oficial da F5 e mostra as possíveis combinações:
Imagem 13 – Tabela com a ordem de precedência
A imagem abaixo mostra uma lista de Virtual Server com o mesmo endereço IP de destino (10.10.10.111), mas com portas de serviço diferentes:
Imagem 14 – Lista de Virtual Server
Se um usuário enviar uma requisição para o IP de destino 10.10.10.111 na porta 80, qual virtual server irá processar esta requisição? VS_HTTP_2, VS_HTTP_3, VS_HTTP_4 ou VS_HTTP_5?
Precisamos saber o IP de origem para responder esta questão. Considere a tabela seguinte:
Imagem 15 – Lista de VS com IP de origem, destino e porta
Digamos que o IP de origem da requisição seja 20.20.20.20. Para ver como isso funciona na prática, podemos usar um roteador e acessar o IP 10.10.10.111 via telnet colocando o IP 20.20.20.20 em uma interface do roteador como origem, como mostrado abaixo:
Imagem 16 – Telnet no Virtual Server usando IP de origem específico
A interface fast 0/1 foi configurada com o IP 20.20.20.20:
Imagem 17 – Configurando IP na interface do roteador
Para confirmar qual virtual server recebeu a requisição, analisamos as estatísticas:
Imagem 18 – Estatísticas do Virtual Server
Mesmo que o VS_HTTP_2 esteja configurado com todas as portas (*), ele é o VS que responde, porque seguiu a ordem de precedência: Endereço IP de destino, Endereço IP de origem e Porta de serviço.
Agora vejamos outro exemplo, usando a mesma tabela da Imagem 15.
Se um cliente com o IP de origem, 20.20.10.10, tentar abrir uma conexão segura no IP 10.10.10.22, qual virtual server irá processar a requisição? VS_SFTP, VS_SSH ou VS_Secure?
Para validar essa questão na prática, podemos usar um SFTP client como o FilleZilla e acessar o virtual server IP 10.10.10.22 na porta 22.
Imagem 19 – Teste de acesso SFTP no Virtual Server
Agora analisamos as estatísticas:
Imagem 20 – Estatísticas do Virtual Server SSH
O VS_SSH respondeu pois seguiu a ordem: IP de destino (10.10.10.22), IP de origem (0.0.0.0 ou any) e a porta de serviço 22.
Mais um exemplo:
Alguns usuários estão tentando acessar o conteúdo do VS_HTTP_4, mas quando eles acessam o IP 10.10.10.111, o VS_HTTPS_3 que está respondendo as requisições. Os IPs desses usuários são 30.30.30.129, 30.30.30.130 e 30.30.30.131, todos com máscara 255.255.255.128. O que é preciso fazer para que eles sejam direcionados para o VS correto?
Imagem 21 – VS_HTTP_3 e VS_HTTP_4
Como podemos ver na tabela acima, o VS_HTTP_4 que contém o conteúdo que os usuários estão tentando acessar está permitindo a rede de origem 30.30.30.0/25, ou seja, de 30.30.30.1 a 30.30.30.126. Os IPs dos usuários estão em uma rede diferente.
Para validar esta afirmação, podemos usar um roteador para acessar o 10.10.10.111, usando como origem o IP 30.30.30.101, que está dentro do range /25, mencionado acima. Veja:
Imagem 22 – Alterando o range do IP de origem
Imagem 23 – Estatísticas do VS _HTTP_4
Como os usuários estavam com o IP dentro do range do /24, o VS_HTTP_3 que estava recebendo as conexões.
Conclusão:
Fica mais fácil de entender o conceito de “ordem de precedência” quando podemos simular um cenário real em um ambiente de LAB. O GNS3 permite que diferentes endereços de origem sejam utilizados para fazermos vários testes, tornande-se uma excelente ferramenta que em conjunto com VMware Workstation, nos proporciona mais flexilidade e mais possibilidades.
Depois de fazer estes exercícios, certamente você não errará nenhuma questão sobre este tema durante o exame 201.
Boa Sorte!