Recientemente hemos comenzado a experimentar con IPv6, y uno de los primeros problemas con los que tenemos que lidiar es tratar con un conjunto completamente separado de reglas de firewall (Linux iptables / ip6ables) para las dos pilas de protocolos. Nuestra lógica de firewall se basa principalmente en una serie de redes específicas para un propósito (por ejemplo, 10.0.0.0/24 es la red de la estación de trabajo del personal, 10.1.0.0/24 es la red de la base de datos, 10.2.0.0/24 es la red del servidor web, etc. ), y la lógica tanto para IPv6 como para IPv4 será en gran medida la misma, con prefijos de red de módulo diferente.
¿Qué hace la gente para manejar este tipo de situación? Idealmente, me gustaría poder generar los conjuntos de reglas iptables y ip6table a partir de los mismos archivos fuente. Ya he reunido algo usando bash, pero no es necesariamente bonito y sospecho que debe existir una mejor solución en algún lugar.
Me interesaría especialmente una solución basada en Puppet que haga un buen uso de los propios mecanismos de dependencia de Puppet para implementar el orden relativo de las reglas (o grupos de reglas).