guia de desenvolvedores nftlb

Ver Categorias

guia de desenvolvedores nftlb

1 min read

Visão geral #

nftlb depende da pilha de rede netfilter / nftables linux. Com essa nova pilha, são fornecidos novos conceitos e habilidades que precisamos encaixar no design de balanceamento de carga atual.

Este artigo tem como objetivo fornecer uma visão geral sobre como o caminho de dados e o caminho de controle do balanceador de carga nftables são projetados.

Ganchos de Caminho de Dados #

Estes são os ganchos do Netfilter que o nftlb usa, aproveitando as cadeias configuráveis. Novos conceitos, como o descarregamento de rastreamento de conexão, precisam ser incluídos para acelerar as conexões encaminhadas estabelecidas para os back-ends.

                                                                  ------------ | DNSBL | ------------ | entrada de fila | pré-roteamento pós-roteamento direto ------------ ------------- -------------- -------- ---- ------- -------------- ------- | filtro | filtro | filtro | | filtro | nat | | filtro | | nat | | 0 | 50-99 | 100 | | -150 | 0 | | 0 | | 100 | --> | | | Políticas Sec |-( Conntrack )-> | Limites de segundos | |-(Roteamento)-> | | --> | | | Agrupamento | Tabelas de fluxo | DSR | VS{} | Ajudantes | DNAT | VS{} | Descarga de fluxo | | SNAT | | | | dNAT instável | | Marcas | | -------------- ------- ------------ ------------- ---- ---------- ------------ ------- 

preâmbulo #

Filtro (0): Reservado para gerenciamento de cluster. Ainda não incluído no nftlb.
Filtro (50-99): Reservado para aceleração de tabelas de fluxo. Ainda não incluído no nftlb.
Filtro (100): Reservado, na ordem, para: Topologias de diretivas de segurança (lista de bloqueio e lista branca), Retorno direto do servidor e dNAT sem estado.

Prerouting #

(-150) filter: Reservado para limites de segurança por serviços virtuais ou por back-end como: número máximo de conexões estabelecidas, limite de TCP RST por segundo, limite de TCP SYN por segundo, queda de conexões TCP não restritas, fila para serviço DNSBL, serviço virtual e marcas backends , uso de helpers, registro de conexões de entrada por serviço virtual.
(0) nat: Reservado para o destino NAT mangling.

para a frente #

Filtro (0): Reservado para descarregamento de fluxo. Ainda não incluído no nftlb.

postrouting #

(100) nat: Reservado para o destino NAT mangling.

Caminho de controle #

O caminho de controle nftlb é projetado como um daemon que fornece um servidor http simples com uma API, ou binário independente que aceita um arquivo de configuração no formato JSON.

                ------------- tradução ------------- -------- JSON API | | objs para nft | | link da rede | | ------------> | servidor http | --------------> | libnftables | --------> | núcleo | | | | | | | | ------------- | ------------- -------- | link da rede | ---------------------------------------

📄 Baixe este documento em formato PDF #

    E-MAIL: *

    Powered by MelhoresDocs