Olá pessoal,

Gostaria de compartilhar com vocês um item que tenho implementado nos nossos clientes que possuem pfSense.

Cenário Inicial Link para o cabeçalho

A maioria dos clientes que temos aqui possuem o pfSense atuando como gateway/proxy, fazendo todo o direcionamento e filtro do trafego de dados LAN/WAN. Um detalhe importante é que, boa parte desses clientes, também possuem mais de um link de dados ativo (O principal e seu backup).

As pessoas que possuem alguma familiaridade com o pfSense devem sabem que ele monitora os links estão online através de um item chamado “monitor IP”! É através deste monitoramento que o pfSense sabe se precisa trocar de link ou não, tudo isso de acordo com a regra especificada.

O ponto é que esse monitoramento é bem simples, fazendo com que não tenhamos muitas informações disponíveis sobre nossos links! Para sanar este gap, ou quem sabe melhorar o teste de performance e obter mais algumas informações, e porque não se aproximar um pouco mais dos testes que fazemos em nosso dia-a-dia, descobri uma aplicação chamada speedtest-cli (site oficial: https://pypi.python.org/pypi/speedtest-cli/). Talvez algumas pessoas já tenham usado o Speedtest (http://www.speedtest.net/) para testar o desempenho de sua internet. Pois bem, o speedtest-cli é uma aplicação feita em Python que usa a API do Speedtest para testar nosso link.

Além de facilitar nossa vida, é possível também automatizarmos este processo, seja ele enviando o resultado via e-mail, salvando em algum banco de dados… aqui a imaginação é o limite!

Vamos por a mão na massa agora!!!!! Link para o cabeçalho

Existem inúmeras formas de instalarmos está aplicação, a que achei mais fácil e rápida, foi fazer uma conexão SSH ao pfSense usando o Putty (Lembre-se de checar se o SSH está habilitado em System » Advanced » Admin Access » Enable Secure Shell).

pfsense – Tela Inicial

Iremos na opção 8 para abrir o shell. Em seguida, gosto de atualizar a lista de pacotes do FreeBSD usando o comando (Este passo não é obrigatório, mas gosto de atualizar a lista caso precise fazer alguma correção ou instalar alguma outra coisa):

pkg update

pfSense – Atualizando pacotes

Outro detalhe importante, o speedtest-cli foi feito em Python, por isso é necessário verificar se realmente já temos o Python instalado (Utilizando o comando pkg version | grep python). Caso não tenha, use o comando:

pkg add http://pkg.freebsd.org/freebsd:10:x86:64/latest/All/python36-3.6.3.txz

Agora entra o Speedtest-cli propriamente dito! A sequência de comandos que vamos usar é:

cd /tmp/
fetch https://github.com/sivel/speedtest-cli/archive/master.zip
unzip master.zip
cd speedtest-cli-master/
chmod 755 speedtest_cli.py
mv speedtest_cli.py /usr/bin

pfSense – Baixando speedtest-cli

Pronto! Agora é só testar usando a sintaxe:

/usr/bin/speedtest-cli –source IP_INTERFACE

pfSense – Testando speedtest-cli

A saída que ele é essa aí de cima!! Podemos observar os itens:

  • Provedor: NET Virtua;
  • Download: 99,29 Mbit/s;
  • Upload: 6,53 Mbits/s;
  • Entre outras informações…

Para não precisar executar esse processo na mão todas as vezes que queremos testar nossos links, uso o pacote mailreport do pfSense e coloco para receber via e-mail algumas vezes por dia o teste dos links!

Bom é isso pessoal, espero que tenham gostado!

Inspirado em um post do fórum oficial que pode ser acessado por aqui https://forum.pfsense.org/index.php?topic=106185.0.