source: admin/WebConsole/rest/README.es.md @ 78ef3b6

configure-oglivelgromero-new-oglivemainmaint-cronmount-efivarfsmultivmmultivm-ogboot-installerogClonningEngineoglive-ipv6test-python-scriptsticket-301ticket-50ticket-50-oldticket-577ticket-585ticket-611ticket-612ticket-693ticket-700ubu24tplunification2use-local-agent-oglivevarios-instalacion
Last change on this file since 78ef3b6 was 2a93596, checked in by lgromero <lgromero@…>, 17 months ago

#150 Adds some points

  • Property mode set to 100644
File size: 7.3 KB
RevLine 
[e750fe2]1## API de DHCP
2
3La API de DHCP proporciona una interfaz para interactuar con el servidor DHCP de Kea. Esta API permite realizar operaciones como obtener la configuración actual del servidor DHCP, actualizar la configuración y obtener información sobre las reservas de direcciones IP.
4
[44a41d5]5Los endpoints están agrupados en el recurso al que hace referencia. Actualmente se gestionan cuatro recursos:
[1babd80]6
7- `/dhcp/conf/`: Gestiona todo lo relativo a la configuración de Kea DHCP.
[44a41d5]8- `/dhcp/subnet/`: CRUD de subredes de Kea DHCP. Las subredes serán donde se organizarán los hosts y hacen referencia a las subredes montadas por el aula.
9- `/dhcp/subnet/host/`: CRUD de hosts en la configuración de Kea DHCP. Los hosts hacen referencia a los ordenadores dados de alta en las aulas. Esta sección en Kea DHCP se encarga de asignar, dada la MAC del dispositivo, la IP y el boot-file-name del ordenador.
[1babd80]10- `/dhcp/connection/`: CRUD de conexiones al API de Kea DHCP. Las conexiones provienen de una tabla guardada en Mysql y hacen referencia a las conexiones por IP y puerto a cualquier agente de Kea (local o remoto) que es el encargado de proporcionar una interfaz RESTful para la modificación de la configuración de los servidores DHCP4 de Kea.
11
[e750fe2]12El presente documento detalla los endpoints del API con sus respectivos parámetros de entrada así como los cambios que aplican sobre la configuración de Kea DHCP.
13
[1babd80]14### Recurso `/dhcp/conf`
15
16#### Restaurar configuración DHCP
[e750fe2]17
18Restaurar la última configuración de Kea DHCP que se haya guardado en el sistema. Cada modificación que se lleve a cabo en la configuración de Kea genera un respaldo en el directorio `/opt/opengnsys/etc/kea/backup`
19
20**Método HTTP:** POST
21
[1babd80]22**URL:** `/dhcp/conf/backup`
[e750fe2]23
[1babd80]24#### Obtener toda la configuración DHCP
[e750fe2]25
26Devuelve toda la configuración de Kea DHCP que se encuentra cargada en memoria en el sistema.
27
28**Método HTTP:** GET
29
[1babd80]30**URL:** `/dhcp/conf`
[e750fe2]31
[1babd80]32#### Guardar configuración completa DHCP
[e750fe2]33
[1babd80]34Guarda la configuración completa de Kea DHCP en el sistema.
[e750fe2]35
[1babd80]36**Método HTTP:** POST
[e750fe2]37
[1babd80]38**URL:** `/dhcp/conf/save`
[e750fe2]39
[1babd80]40**Parámetros de entrada:**
[e750fe2]41
[1babd80]42- `configurationText`: Texto de configuración de Kea DHCP en formato JSON.
43
44#### Escribir en la configuración de Kea DHCP
45
46Aplica los cambios cargados en memoria sobre el fichero de configuración final de Kea DHCP.
47
48El servicio de Kea DHCP utiliza la configuración cargada en memoria para llevar a cabo las operaciones pero al reiniciar el servicio carga la configuración guardada en su fichero de configuración que suele estar alojada en `/etc/kea/kea-dhcp4.conf` (puede variar dependiendo de la instalación de kea). Todos la configuración cargada en memoria es eliminada.
49
50Con este endpoint sobreescribe la configuración que tiene el servicio cargado en memoria en el fichero de configuración final de Kea DHCP.
[e750fe2]51
52**Método HTTP:** POST
53
[44a41d5]54**URL:** `/dhcp/conf/apply`
[1babd80]55
56#### Importar fichero DHCP
57
58Importa un archivo de configuración de Kea DHCP en el sistema.
59
60**Método HTTP:** POST
61
62**URL:** `/dhcp/upload`
[e750fe2]63
64**Parámetros de entrada:**
65
[1babd80]66- `file_input_name`: Nombre del archivo de configuración de Kea DHCP a importar.
67
[44a41d5]68### Recurso `/dhcp/subnet`
[1babd80]69
[44a41d5]70#### Obtener configuración de las subredes
71
72Devuelve las subredes dadas de alta en la configuración de Kea DHCP.
73
74
75**Método HTTP:** GET
76
77**URL:** `/dhcp/subnet`
78
79
80#### Añadir subred
81
82Añade un nueva subred a la configuración de Kea DHCP.
83
84**Método HTTP:** POST
85
86**URL:** `/dhcp/subnet/`
87
88**Parámetros de entrada:**
89
90- `name`: Nombre de la subred.
91- `subnet`: DirecciónIP de la subred.
92- `boot-file-name`: Archivo de arranque de la subred.
93- `nextServer`: Dirección IP del next-server.
94
95#### Borrar subred DHCP
96
97Borrar una subred de la configuración de Kea DHCP.
98
99**Método HTTP:** DELETE
100
101**URL:** `/dhcp/subnet/{id_subnet}`
102
103
104#### Modificar Host DHCP
105
106Modificar la subred en la configuración de Kea DHCP.
107
108**Método HTTP:** PUT
109
110**URL:** `/dhcp/subnet/{id_subnet}`
111
112**Parámetros de entrada:**
113
114- `name`: Nombre de la subred.
115- `subnet`: DirecciónIP de la subred.
116- `boot-file-name`: Archivo de arranque de la subred.
117- `nextServer`: Dirección IP del next-server.
118
119
120### Recurso `/dhcp/subnet/host`
[e750fe2]121
[1babd80]122#### Obtener configuración de los hosts
123
[44a41d5]124Devuelve la configuración de los hosts que se encuentran bajo una subred en la configuración de Kea DHCP.
[1babd80]125
126
127**Método HTTP:** GET
128
[44a41d5]129**URL:** `/dhcp/subnet/{id_subnet}/host`
[1babd80]130
131
132#### Añadir Host DHCP
[e750fe2]133
[44a41d5]134Añade un nuevo host a la subnet especificada.
[e750fe2]135
136**Método HTTP:** POST
137
[44a41d5]138**URL:** `/dhcp/subnet/{id_subnet}/host`
[e750fe2]139
140**Parámetros de entrada:**
141
142- `host`: Nombre del host.
143- `macAddress`: Dirección MAC del host.
144- `address`: Dirección IP del host.
145- `nextServer`: Dirección IP del next-server.
146
[1babd80]147#### Borrar Host DHCP
[e750fe2]148
[44a41d5]149Borrar un host de la subnet especificada.
[e750fe2]150
[1babd80]151**Método HTTP:** DELETE
[e750fe2]152
[44a41d5]153**URL:** `/dhcp/subnet/{id_subnet}/host`
[e750fe2]154
155**Parámetros de entrada:**
156
157- `host`: Nombre del host.
158
[1babd80]159#### Modificar Host DHCP
[e750fe2]160
[44a41d5]161Modificar la configuración de un host en la subnet especificada.
[e750fe2]162
[1babd80]163**Método HTTP:** PUT
[e750fe2]164
[44a41d5]165**URL:** `/dhcp/subnet/{id_subnet}/subnet/host`
[e750fe2]166
167**Parámetros de entrada:**
168
169- `host`: Nombre del host.
170- `oldMacAddress`: Dirección MAC antigua del host.
171- `oldAddress`: Dirección IP antigua del host.
172- `macAddress`: Nueva dirección MAC del host.
173- `address`: Nueva dirección IP del host.
174- `nextServer`: Nueva dirección IP del servidor siguiente.
175
[1babd80]176### Recurso `/dhcp/connection`
[e750fe2]177
[1babd80]178#### Obtener configuración de las conexiones
[e750fe2]179
[1babd80]180Devuelve la configuración de las conexiones que se encuentran almacenadas en la tabla SQL correspondiente en MySQL.
[e750fe2]181
[1babd80]182**Método HTTP:** GET
183
184**URL:** `/dhcp/connection`
185
186
187#### Obtener status de las conexion
188
189Realiza una solicitud al servicio Kea DHCP y devuelve el estado de la conexión basada en la respuesta.
190
191**Método HTTP:** GET
192
193**URL:** `/dhcp/connection/status`
194
195
196#### Añadir Conexión
197
198Añade una nueva conexión a la tabla de conexiones en MySQL.
[e750fe2]199
200**Método HTTP:** POST
201
[1babd80]202**URL:** `/dhcp/connection`
[e750fe2]203
[1babd80]204**Parámetros de entrada:**
[e750fe2]205
[1babd80]206- `ip`: Dirección IP de la conexión.
207- `puerto`: Puerto de la conexión.
208- `idCentro`: Identificador del centro.
209
210### Borrar Conexión
211
212Borra una conexión de la tabla de conexiones en MySQL.
213
214**Método HTTP:** DELETE
215
216**URL:** `/dhcp/connection`
217
218**Parámetros de entrada:**
219
220- `ip`: Dirección IP de la conexión.
221
222### Modificar Conexión
223
224Modifica la configuración de una conexión en la tabla de conexiones en MySQL.
225
226**Método HTTP:** PUT
227
228**URL:** `/dhcp/connection`
229
230**Parámetros de entrada:**
231
232- `idConnection`: Identificador de la conexión.
233- `ip`: Nueva dirección IP de la conexión.
234- `puerto`: Nuevo puerto de la conexión.
235- `idCentro`: Nuevo identificador del centro.
236
237### Establecer Conexión
238
239Aplica una conexión de tal forma que todas las llamadas al API DHCP de Opengnsys utilizarán esa conexión para comunicarse con el servicio de Kea DHCP.
[e750fe2]240
241**Método HTTP:** POST
242
[1babd80]243**URL:** `/dhcp/connection/apply`
[e750fe2]244
245**Parámetros de entrada:**
246
[1babd80]247- `idConnection`: Identificador de la conexión.
248
[44a41d5]249
250## Flujo de trabajo
251
252Con esta construcción del API establecemos un flujo de trabajo habitual que consistirá de la siguiente forma:
253
2541- Consulta de todas las conexiones DHCP `GET /dhcp/connection`
[2a93596]2552- Aplicar conexión DHCP `POST /dhcp/connection/apply`.
2563- Cambios en la configuración DHCP utilizando la conexión previamente establecida.
2574- Validar cambios y reescribirla configuración del servidor de Kea DHCP con los nuevos cambios `POST /dhcp/apply`.
[44a41d5]258
Note: See TracBrowser for help on using the repository browser.