Como reunir estatísticas completas de uso de rede em um roteador freebsd?

4

Eu tenho uma caixa freebsd, que serve como roteador da LAN para o mundo externo. Tem vários provedores de Internet, servidores e clientes OpenVPN, NAT e assim por diante.

Gostaria de ter estatísticas completas sobre quando, quem, para quem, através de qual provedor, por meio de qual protocolo e quantos bytes foram enviados.

Concordo que a escala de tempo mínima será de uma hora, ou seja, não há necessidade de precisão em milissegundos.

Eu tentei vnstat2, ntopng e alguns outros programas, mas eles não pareciam ter o que eu preciso ou não é óbvio.

Eu não entendo porque esse recurso não está facilmente disponível. Mas eu não sou bom em freebsd, então por favor, me dê algumas pistas.

    
por Dims 02.12.2016 / 14:31

1 resposta

6

Para obter detalhes das transações de rede, você tem uma implementação de um gerador Netflow para o FreeBSD ou Linux:

ng_netflow

NAME ng_netflow - Cisco's NetFlow implementation

DESCRIPTION The ng_netflow node implements Cisco's NetFlow export protocol on a router running FreeBSD. The ng_netflow node listens for incoming traffic and identifies unique flows in it. Flows are distinguished by endpoint IP addresses, TCP/UDP port numbers, ToS and input interface. Expired flows are exported out of the node in NetFlow version 5/9 UDP datagrams.

Quanto ao próprio NetFlow:

NetFlow is a network protocol developed by Cisco for collecting IP traffic information and monitoring network traffic. By analyzing flow data, a picture of network traffic flow and volume can be built.

também rfc 3954 - Exportação dos Serviços NetFlow Versão 9

Para armazenar os dados do Netflow, você também precisa do que é conhecido como um coletor de servidores. Pode ser uma caixa Linux ou FreeBSD. Não deve ser instalado no roteador real. Uma dessas implementações conhecidas é nfsen

NfSen is a graphical web based front end for the nfdump netflow tools.

NfSen allows you to:
- Display your netflow data: Flows, Packets and Bytes using RRD (Round Robin Database).
- Easily navigate through the netflow data.
- Process the netflow data within the specified time span.
- Create history as well as continuous profiles.
- Set alerts, based on various conditions.
- Write your own plugins to process netflow data on a regular interval.

nfsen2 http://nfsen.sourceforge.net/overview.png

Esteja ciente de que, dependendo da sua largura de banda disponível, a geração de NetFlows pode estar sobrecarregando a CPU. Uma estratégia conhecida em alguns casos é fazer um espelho da porta do switch do roteador e usar outra máquina para essas operações.

Após um certo limite de largura de banda, provavelmente faz mais sentido ir para um roteador profissional se a geração de NetFlows é um requisito.

Como alerta final, tendo NAT, o NetFlows precisa ser capturado na interface interna / LAN, caso contrário, você perderá a noção de quem está fazendo o quê.

Eu uso cerca de 100 GB de dados para 5 a 6 meses de tráfego, usando o NfSen coletando dados do NetFlow do equipamento da Cisco, sua milhagem pode variar.

    
por 02.12.2016 / 15:18