net.php¶
Модуль управления сетевой инфраструктурой: добавление и удаление IP-адресов, блокировка трафика, управление состоянием сетевых портов, получение статистики и отображение графиков Cacti.
Методы API¶
| Метод | Действие | Описание |
|---|---|---|
add_ipv4 | добавление IPv4 адреса | Добавляет указанное количество IPv4 адресов на сервер в выбранном порту и VLAN. Если IP не указан, система подбирает свободные адреса из доступных в данной локации. |
block_ip | получение/установка блокировки IP | Блокирует указанный IP-адрес на сервере через BIRD или в режиме blackhole. Если не указан ID сервера, пытается найти его по IP. |
get_status | управление сетевым портом или трафиком | Выполняет действия с сетевым интерфейсом сервера: включение/выключение порта, настройка шейпинга (ограничения скорости) или управление VLAN. В зависимости от action может выполнять команды port_on, port_off или shape_net. |
port_off | выключение порта | Отключает указанный сетевой порт на устройстве. Операция является асинхронной. |
port_on | включение порта | Активирует указанный сетевой порт на устройстве. Операция является асинхронной. |
remove_ipv4 | удаление IPv4 | Удаляет один или все IPv4 адреса с указанного сервера и очищает соответствующие PTR-записи в DNS. |
show_cacti | получение графика Cacti | Возвращает данные для отображения графиков Cacti для конкретного устройства или порта |
show_ipv4_free | поиск свободных IPv4 адресов | Возвращает список доступных IPv4 адресов для указанного сервера, порта (интерфейса) и VLAN с учетом текущих тегов и параметров владельца. |
unblock_ip | разблокировка IP | Разблокирует указанный IP-адрес на сервере через BIRD или blackhole. Если ID сервера не указан, пытается найти его по IP. |
net/add_ipv4¶
Добавляет указанное количество IPv4 адресов на сервер в выбранном порту и VLAN. Если IP не указан, система подбирает свободные адреса из доступных в данной локации.
HTTP-метод: POST
Параметры:
| Параметр | Обязательный | Тип | Описание |
|---|---|---|---|
| action | ✅ | string | Идентификатор метода: add_ipv4 |
| token | ✅ | string | Токен авторизации |
| id | ✅ | integer | ID сервера |
| port | ❌ | string | Название сетевого интерфейса (например, eth0, ipmi) |
| ips[] | ❌ | array | Список IP адресов для добавления. Если пусто, выполняется подбор. |
| amount | ❌ | integer | Количество IP адресов для подбора (если ips не указан) |
| allow_tech_networks | ❌ | integer | Разрешить использование технических сетей (для администраторов) |
Пример запроса
Пример успешного ответа
Примеры ошибок
``` { "code": -1, "message": "failed to add IPv4: error message from service" }
```
net/block_ip¶
Блокирует указанный IP-адрес на сервере через BIRD или в режиме blackhole. Если не указан ID сервера, пытается найти его по IP.
HTTP-метод: POST
Параметры:
| Параметр | Обязательный | Тип | Описание |
|---|---|---|---|
| action | ✅ | string | Действие (block_ip или blackhole_ip) |
| token | ❌ | string | Токен авторизации |
| params[id] | ❌ | integer | ID сервера |
| params[ip] | ✅ | string | IP-адрес для блокировки |
| params[description] | ❌ | string | Описание причины блокировки |
Пример запроса
Пример успешного ответа
Примеры ошибок
``` { "code": -1, "message": "failed to send BIRD management command" }
```
net/get_status¶
Выполняет действия с сетевым интерфейсом сервера: включение/выключение порта, настройка шейпинга (ограничения скорости) или управление VLAN. В зависимости от action может выполнять команды port_on, port_off или shape_net.
HTTP-метод: POST
Параметры:
| Параметр | Обязательный | Тип | Описание |
|---|---|---|---|
| action | ✅ | string | Действие: port_on, port_off, shape_net или set_bandwidth_100 (для shape_net) |
| id | ✅ | int | ID сервера |
| port | ❌ | string | Обозначение порта (например, eth0, ipmi) |
| vlan | ❌ | int | ID VLAN |
| speed | ❌ | string | Скорость соединения |
| port_security | ❌ | int | Параметры безопасности порта |
| trunc | ❌ | int | Флаг обрезки (trunk) |
| status | ❌ | string | Статус порта |
| token | ❌ | string | Токен авторизации |
| duplex | ❌ | int | Режим дуплекса |
| nic_id | ❌ | int | ID сетевой карты (NIC) |
| port_virt_node | ❌ | string | Виртуальный узел порта |
Пример запроса
Пример успешного ответа
Примеры ошибок
``` { "code": -1, "message": "no IP assigned for server 123 or invalid server id" }
```
net/port_off¶
Отключает указанный сетевой порт на устройстве. Операция является асинхронной.
HTTP-метод: POST
Параметры:
| Параметр | Обязательный | Тип | Описание |
|---|---|---|---|
| action | ✅ | string | Имя действия |
| token | ✅ | string | Токен авторизации |
| params[id] | ✅ | int | ID устройства или порта |
Пример запроса
Пример успешного ответа
Примеры ошибок
``` { "code": -1, "message": "Action required" }
```
net/port_on¶
Активирует указанный сетевой порт на устройстве. Операция является асинхронной.
HTTP-метод: POST
Параметры:
| Параметр | Обязательный | Тип | Описание |
|---|---|---|---|
| action | ✅ | string | Идентификатор метода: port_on |
| token | ✅ | string | Токен авторизации пользователя |
| params[id] | ✅ | integer | ID порта или устройства для активации |
Пример запроса
Пример успешного ответа
Примеры ошибок
``` { "code": -1, "message": "Ошибка выполнения операции" }
```
net/remove_ipv4¶
Удаляет один или все IPv4 адреса с указанного сервера и очищает соответствующие PTR-записи в DNS.
HTTP-метод: POST
Параметры:
| Параметр | Обязательный | Тип | Описание |
|---|---|---|---|
| action | ✅ | string | Идентификатор метода: remove_ipv4 |
| token | ❌ | string | Токен авторизации |
| id | ✅ | int | ID сервера |
| ip | ❌ | string | IPv4 адрес для удаления (если не указан, удаляются все адреса) |
| remove_all | ❌ | boolean | Удалить все IPv4 адреса сервера |
Пример запроса
Пример успешного ответа
Примеры ошибок
``` { "code": -1, "message": "No IP specificed" }
```
net/show_cacti¶
Возвращает данные для отображения графиков Cacti для конкретного устройства или порта
HTTP-метод: POST
Параметры:
| Параметр | Обязательный | Тип | Описание |
|---|---|---|---|
| action | ✅ | string | Идентификатор метода: show_cacti |
| id | ✅ | int | ID объекта (например, коммутатора) |
| port | ❌ | string | Номер порта для построения графика |
Пример запроса
Пример успешного ответа
Примеры ошибок
``` { "code": -1, "message": "invalid request" }
```
net/show_ipv4_free¶
Возвращает список доступных IPv4 адресов для указанного сервера, порта (интерфейса) и VLAN с учетом текущих тегов и параметров владельца.
HTTP-метод: POST|GET
Параметры:
| Параметр | Обязательный | Тип | Описание |
|---|---|---|---|
| action | ✅ | string | Имя действия (должно быть show_ipv4_free) |
| id | ✅ | int | ID сервера |
| port | ✅ | string | Имя интерфейса (например, eth0 или ipmi) |
| ip | ❌ | string | IP-адрес для фильтрации подсети |
| amount | ❌ | int | Количество запрашиваемых адресов |
| show_all | ❌ | int | Показывать все доступные адреса (0 или 1) |
Пример запроса
Пример успешного ответа
Примеры ошибок
``` { "code": -1, "message": "invalid request - invalid id 0" }
```
net/unblock_ip¶
Разблокирует указанный IP-адрес на сервере через BIRD или blackhole. Если ID сервера не указан, пытается найти его по IP.
HTTP-метод: POST
Параметры:
| Параметр | Обязательный | Тип | Описание |
|---|---|---|---|
| action | ✅ | string | Имя действия (unblock_ip) |
| token | ❌ | string | Токен авторизации |
| id | ❌ | integer | ID сервера (equipment ID) |
| ip | ✅ | string | IP-адрес для разблокировки |
Пример запроса
Пример успешного ответа
Примеры ошибок
``` { "code": -1, "message": "failed to send BIRD management command" }
```