As cadeias do FreeBSD são basicamente uma espécie de virtualização leve, então é o melhor propósito - é rodar alguns aplicativos como contêineres. Certamente tem uma pilha de rede, mas, comparando sua funcionalidade com uma funcionalidade de um sistema host, eu diria que é bastante limitado.
Portanto, escolher uma cadeia como roteador de contêiner parece ser uma má escolha. O que você deve fazer - é usar vários FIBs. A propósito, a mesma abordagem se aplica a todos os sistemas operacionais modernos - Linux, JunOS, Cisco IOS, etc.
Eu recomendaria adicionar net.fibs="4"
em /boot/loader.conf
, reinicializar e usar várias tabelas de roteamento. Dessa forma, você pode iniciar seu gateway OpenVPN em um FIB separado, como setfib 1 /usr/local/bin ... whatever
, e então atribuir o tráfego de seus clientes a ele usando setfib
em ipfw ou atribuindo diretamente as interfaces de seus clientes a esse FIB.