Ideas / TODO: * Revisar interacción entre firewall y nat que ambos usan iptables. Es probable que al manipular reglas por número de índice se complique todo porque tengo indices separados por tipo de regla, entonces si pongo borrar la 2 tal vez es la 13 en vez de la dos porque hay otras 11 reglas de otros sub-servicios que usan iptables. Tal vez la solución simple es hacer algo como: router firewall add [regla] router nat masq add [masq] router nat forward add [port] router nat snat add [snat] (u organizándolo de otra forma pero que tengan todos un root en común) * Agregar soporte de opciones de línea de comando/archivo de conf para: * Dry run. * Seleccionar servicios a usar. * Puerto/bind addr. * Logging. * Paths. * SubHandlers: * Agregar SetSubHandler? (para Proxy Hosts) * Agregar logging. * Agregar validación con formencode. * Hacer que el estado sobre si un servicio está andando o no sea más confiable que un simple flag interno (en caso de ver que realmente esté corriendo, probablemente sea una buena idea que haya un flag que indique si hay que levantarlo en el inicio). * No usar comandos con templates, porque después si no hay que ejecutarlos con un shell (porque el template devuelve un string todo grande) y hay que andar teniendo cuidado de escapar las cosas (y hay riesgos de seguridad de shell injection).