La aplicación (Lion) Server Admin.app tiene una buena capacidad para aplicar reglas de firewall a grupos de direcciones IP sin tener que editar los archivos de configuración de ipfw.
Pero tener que introducir grandes y largas listas de direcciones IP mediante la interfaz gráfica de administración del servidor es una tarea tediosa.
Por eso me pregunto cómo se puede hacer un grupo de direcciones IP de firewall desde la línea de comandos ?
Sé que hay un /usr/sbin/serveradmin
que tiene la capacidad de dar salida a los ajustes, como el uso de $ sudo serveradmin settings ipfilter:ipAddressGroupsWithRules:_array_id:10-net:*
que da salida:
ipfilter:ipAddressGroupsWithRules:_array_id:10-net:rules = _empty_array
ipfilter:ipAddressGroupsWithRules:_array_id:10-net:readOnly = no
ipfilter:ipAddressGroupsWithRules:_array_id:10-net:allowAll = no
ipfilter:ipAddressGroupsWithRules:_array_id:10-net:addresses:_array_index:0 = "10.0.0.0/8"
ipfilter:ipAddressGroupsWithRules:_array_id:10-net:name = "10-net"
Que se puede volcar a un archivo utilizando $ sudo serveradmin settings ipfilter:ipAddressGroupsWithRules:_array_id:10-net:* > 10-net.txt
. Pero luego editando ese archivo para renombrarlo a un nuevo grupo, como:
ipfilter:ipAddressGroupsWithRules:_array_id:11-net:rules = _empty_array
ipfilter:ipAddressGroupsWithRules:_array_id:11-net:readOnly = no
ipfilter:ipAddressGroupsWithRules:_array_id:11-net:allowAll = no
ipfilter:ipAddressGroupsWithRules:_array_id:11-net:addresses:_array_index:0 = "11.0.0.0/8"
ipfilter:ipAddressGroupsWithRules:_array_id:11-net:name = "11-net"
y cargando eso en serveradmin usando $ sudo serveradmin settings < 10-net.txt
no crea una nueva regla "ipAddressGroupsWithRules" en ipfilter. Como se ha verificado usando $ sudo serveradmin settings ipfilter:ipAddressGroupsWithRules:_array_id:11-net:*
.
¿Qué estoy haciendo mal?