E foi lançado o nftables 1.0.8 com mais melhorias e correções. Confira as novidades e veja como instalar no Linux.
nftables é um projeto que fornece filtragem e classificação de pacotes no Linux. Ele unifica as interfaces de filtragem de pacotes para IPv4, IPv6, ARP e bridging de rede (destinado a substituir iptables, ip6table, arptables e ebtables).
O pacote nftables inclui componentes de filtro de pacotes que funcionam no espaço do usuário, enquanto no nível do kernel, o subsistema nf_tables fornece uma parte do kernel do Linux desde a versão 3.13.
No nível do kernel, apenas uma interface comum é fornecida independente de um protocolo específico e fornece as funções básicas de extração de dados de pacotes, execução de operações de dados e controle de fluxo.
Regras de filtro direto e drivers específicos de protocolo são compilados em bytecode de espaço de usuário, após o qual esse bytecode é carregado no kernel usando a interface Netlink e executado no kernel em uma máquina virtual especial que se assemelha a BPF (Berkeley Packet Filters).
Agora, foi publicado o lançamento do filtro de pacotes nftables 1.0.8, que vem com algumas melhorias, correções, bem como alguns novos recursos.
Novidades do nftables 1.0.8
Nesta nova versão que vem do nftables 1.0.8, destaca-se a introdução da compatibilidade com “meta” e “ct” de outros campos nas regras.
Outra das mudanças que se destacam na nova versão é que o otimizador de regras para lidar com declarações NAT melhorou o empacotamento de expressões relacionadas à tradução de endereços (NAT).
Além disso, destaca a sintaxe simplificada do comando “reset” para redefinir informações de estado nas regras, como contadores e status de cota. É mencionado que você não precisa mais especificar a palavra-chave da tabela ao redefinir objetos com estado nomeados.
Em sistemas com o kernel Linux 6.5, foi adicionado suporte para redefinir expressões com estado (contadores para zero) em listas de itens, matrizes e mapas.
Por outro lado, agora no nftables 1.0.8 ao tentar carregar regras que excedam o limite de tamanho aplicado em um namespace não privilegiado (por exemplo, ao tentar carregar listas GeoIP em um container), é recomendável aumentar o valor do parâmetro “/proc/sys/net/core/wmem_max
“.}
Observe também que nos conjuntos de anexos (concatenação, determinados pacotes de endereços e portas que simplificam a comparação), a capacidade de especificar constantes é implementada e, na saída de “nft list sets”, a exibição dos itens da lista é ativada por padrão. A opção “-t
” (“--terse
“) é fornecida para desabilitar a exibição de elementos.
Das outras mudanças que se destacam nesta nova versão:
- Adicionado suporte para exibir comentários ao gerar tabelas e strings no formato JSON
- Adicionada a capacidade de usar JSON ao corresponder dados encapsulados e encapsulados. Por exemplo, para comparar com um campo dscp encapsulado em um cabeçalho vxlan,
- Adicionado suporte para JSON na expressão ‘último usado’ que mostra quando a regra ou o item da lista foi usado pela última vez.
- As ligações do Python substituíram distutils por setuptools.
- Mensagens de diagnóstico aprimoradas para erros causados por seleção incorreta de tipo de dados e uso incorreto de pular/ir para o mapa.
- O problema com a saída de mensagens de erro incorretas devido à falta de uma especificação de protocolo de transporte ao usar expressões de mapa do formulário
- As listas de mapas anônimos oferecem suporte a expressões com informações de estado, como contadores
- Agora é possível empacotar conjuntos de regras com atribuições ‘ct status’ sem perder a capacidade de contar pacotes.
- Atualizando dispositivos em cadeias de netdev existentes.
Para saber mais sobre essa versão do nftables, acesse a nota de lançamento.
Como instalar ou atualizar o nftables
Para instalar a versão mais recente do nftables nas principais distribuições Linux, use esse tutorial:
Para aqueles que estão interessados em obter a nova versão do nftables 1.0.8 no momento, você só pode compilar o código-fonte em seu sistema. Embora em questão de dias os pacotes binários já compilados nas diferentes distribuições Linux estarão disponíveis.
Para compilar, você deve ter as seguintes dependências instaladas:
libmnl
libnftnl
Você pode compilá-los com:
./autogen.sh
./configure
make
make install
E para nftables 1.0.5, baixamos isso no seguinte endereço. E a compilação é feita com os seguintes comandos:
cd nftables
./autogen.sh
./configure
make
make install