El (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 ipfw.
Pero tener que ingresar listas grandes y largas de direcciones IP mediante la GUI del administrador del servidor es una tarea tediosa.
Por lo tanto, me pregunto ¿cómo se puede crear un grupo de direcciones IP de cortafuegos desde la línea de comandos ?
Sé que hay un /usr/sbin/serveradmin
que tiene la capacidad de generar configuraciones, como usar $ sudo serveradmin settings ipfilter:ipAddressGroupsWithRules:_array_id:10-net:*
que produce:
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"
Cuál puede volcar en un archivo usando $ sudo serveradmin settings ipfilter:ipAddressGroupsWithRules:_array_id:10-net:* > 10-net.txt
. Pero luego edite ese archivo para cambiarle el nombre 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 cargar eso en serveradmin usando $ sudo serveradmin settings < 10-net.txt
no crea una nueva regla "ipAddressGroupsWithRules" en ipfilter. Según lo verificado, usando $ sudo serveradmin settings ipfilter:ipAddressGroupsWithRules:_array_id:11-net:*
.
¿Qué estoy haciendo mal?