Embora eu nunca tenha tentado fazer o que você está fazendo, a melhor maneira de fazer isso com o OpenBSD provavelmente será com as tabelas, pois você pode facilmente adicionar / remover IPs das tabelas.
Fui solicitado a criar um roteador de alto rendimento usando hardware de PC / servidor. Eu estou modestamente familiarizado com pf, iptables e tc, mas nunca tive tanta rotatividade e tantas regras. Espero que você possa me ajudar a evitar soluções estúpidas que não funcionem.
Meu objetivo é oferecer suporte a pelo menos 10.000 clientes simultâneos, com pelo menos 100 clientes adicionados e removidos por segundo. Cada cliente terá regras de roteamento bidirecionais simples com a seguinte funcionalidade:
Minha preocupação é que criar e destruir 100 conjuntos de regras por segundo irá matar o desempenho devido a um mutex escondido.
As minhas soluções candidatas são:
Qual dessas soluções será dimensionada melhor? Quais truques devo usar para obter o melhor desempenho possível?
Embora eu nunca tenha tentado fazer o que você está fazendo, a melhor maneira de fazer isso com o OpenBSD provavelmente será com as tabelas, pois você pode facilmente adicionar / remover IPs das tabelas.
Tags performance kernel iptables routing pf