Foro en Español

Reply

Cambios de configuración por sede a través de API de Airwave en entorno multisede con IAPs

En un entorno de sedes distribuidas con IAPs gestionados en modo managed desde Airwave es posible a través de la API lanzar cambios puntuales de configuración en una delegación. Esto puede ser útil para realizar cambios impulsados por el administrador local de la sede que puede requerir personalizar en cierta medida la configuración de su sede con cambios predefinidos, por ejemplo, cambio de la PSK de su SSID, cambio del rol por defecto de los usuarios de su sede, cambio de las politicas de seguridad de los usuarios de sus sede,...

 

A través de un portal desarrollado a medida se ofrecería a los administradores de las sedes la posibilidad de solicitar los cambios que tienen permitidos. Este portal atacaría al API de Airwave para lanzar los cambios.

 

En principio, todas las delegaciones comparten las mismas características de configuración y pertenecen al mismo grupo de configuración. Este grupo tiene definida una template de configuración. Esta template permite la inclusión de variables para contemplar que diferentes delegaciones aunque compartan la misma estructura de config puedan tener parámetros diferentes. Por ejemplo, dirección IP, nombre del cluster de IAP, … el administrador puede definir cualquier cadena de la config como variable custom.

 

Aquí copio una parte de un ejemplo de Template:

 

! Template created from XXXXX (6.5.4.6-6.5.4.6_63925) at 5/4/2018 11:22 AM CEST

!  based on config fetched at 5/4/2018 11:22 AM CEST

version 6.5.4.0-6.5.4

virtual-controller-country ES

virtual-controller-key %guid%

virtual-controller-ip %ip_address%

...

 

wlan ssid-profile agorapsk

enable

type employee

essid agorapsk

wpa-passphrase %custom_variable_2%

opmode wpa2-psk-aes

max-authentication-failures 0

vlan 104

rf-band all

captive-portal disable

dtim-period 1

broadcast-filter arp

dmo-channel-utilization-threshold 90

local-probe-req-thresh 0

max-clients-threshold 64

 

auth-survivability cache-time-out 24

 

dpi

 

 

como se ve hay configuración fija para todas las delegaciones y hay configuración personalizable por delegación (las variables vienen entre %%). Cuando Airwave compila la config de cada delegación hace el merge de la template con el valor de las variables para esa delegación y empuja la config.

 

Las variables de cada delegación pueden ser escritas en Airwave a mano en "APs and Devices > Aruba Instant Virtual Controller > Manage" o a través de la API. La siguiente llamada es la que se usaría para actualizar la PSK en una delegación (ver ejemplo de template anterior)

 

(previamente hay que realizar la autenticación, para esto consultar el documento "airwave API Guide")

 

curl -X POST \
https://{{IP_Airwave}}/template_variable_api \
-H 'Content-Type: application/xml' \
-H 'X-BISCOTTI: /xc5wVGLMdIYgedQmbBq5Wg' \
-d '<?xml version="1.0" encoding="ISO-8859-1" standalone="yes"?>
<amp_template_variable_update version="1" xmlns:template_variable_api="http://www.airwave.com">
<ap id="327">
<custom_variable_2>PRUEBAPRUEBA</custom_variable_2>
</ap>
</amp_template_variable_update>'

 

ap_id = 327 es el id del VirtualController que se obtiene en una query previa en la que se pregunta por los dispositivos de Airwave y se busca por nombre para obtener el id

 

curl -X GET \
'https://{{IP_Airwave}/ap_list.xml?name={{nombre-virtual-controller}}' \
-H 'Content-Type: application/xml' \
-H 'X-BISCOTTI: /xc5wVGLMdIYgedQmbBq5Wg'

 

Una vez se hace esta llamada, Airwave empuja el cambio de config hacia la delegación seleccionada.

 

Las variables custom_variable_2 a custom_variable_10 permiten almacenar una línea o parte de una línea de configuración.

 

La variable custom_variable_1 permite guardar configuración multilinea. Utilizando esta variable es posible personalizar bloques de configuración por delegación.

 

En la siguiente parte de template de configuración se aplica la custom_variable_1 a la definición de las reglas de filtrado de un rol:

 

..

wlan access-rule empleado

vlan 104

rule any any match any any any permit

 

wlan access-rule administracion

vlan 101

rule any any match any any any permit

 

wlan access-rule externo

%custom_variable_1%

  

Es posible provisionar esta variable a través del API de Airwave con esta llamada:

 

curl -X POST \
https://{{IP_Airwave}}/template_variable_api \
-H 'Content-Type: application/xml' \
-H 'X-BISCOTTI: /xc5wVGLMdIYgedQmbBq5Wg' \
-d '<?xml version="1.0" encoding="ISO-8859-1" standalone="yes"?>
<amp_template_variable_update version="1" xmlns:template_variable_api="http://www.airwave.com">
<ap id="327">
<custom_variable_1><![CDATA[ rule any any match appcategory social-networking deny
rule any any match appcategory peer-to-peer deny
rule any any match webcategory adult-and-pornography deny
rule any any match webcategory shopping deny
rule any any match any any any permit]]></custom_variable_1>
</ap>
</amp_template_variable_update>'

 

cuando se realiza esta llamada se cambian, de forma dinamica, las reglas de filtrado del rol "externo" de la delegación en cuestion.

Search Airheads
cancel
Showing results for 
Search instead for 
Did you mean: