net.php¶
Модуль управления сетевой инфраструктурой: добавление и удаление IP-адресов, блокировка трафика, управление состоянием сетевых портов, получение статистики и отображение графиков Cacti.
Методы API¶
| Метод | Действие | Описание |
|---|---|---|
add_ipv4 | добавление IPv4 адресов | Добавляет указанное количество IPv4 адресов к серверу на конкретный порт и VLAN. Поддерживает выбор конкретных IP или автоматический подбор свободных. |
block_ip | блокировка IP | Блокирует указанный IP-адрес на сервере через BIRD или blackhole. Требует причину блокировки. |
get_status | получение статуса порта | Возвращает текущий статус сетевого интерфейса сервера (up/down, скорость, дуплекс, MAC). |
port_off | отключение порта | Отключает сетевой интерфейс сервера. Может добавлять тег блокировки с причиной. |
port_on | включение порта | Включает сетевой интерфейс сервера. Удаляет тег блокировки, если он не был установлен администратором. |
remove_ipv4 | удаление IPv4 адресов | Удаляет указанный IPv4 адрес или все адреса с сервера. Очищает PTR записи в DNS. |
show_cacti | получение графиков Cacti | Возвращает данные или ссылку на график трафика для указанного порта сервера из системы мониторинга Cacti. |
show_ipv4_free | поиск свободных IPv4 | Возвращает список доступных свободных IPv4 адресов для указанного сервера, порта и VLAN. |
unblock_ip | разблокировка IP | Разблокирует ранее заблокированный IP-адрес на сервере. Требует прав администратора или совпадения с причиной блокировки. |
net/add_ipv4¶
Добавляет указанное количество IPv4 адресов к серверу на конкретный порт и VLAN. Поддерживает выбор конкретных IP или автоматический подбор свободных.
HTTP-метод: POST
Параметры:
| Параметр | Обязательный | Тип | Описание |
|---|---|---|---|
| action | ✅ | string | Идентификатор метода: add_ipv4 |
| token | ✅ | string | Токен авторизации |
| id | ✅ | int | ID сервера |
| amount | ✅ | int | Количество IP адресов для добавления |
| port | ✅ | string | Название сетевого интерфейса (например, eth0) |
| vlan | ❌ | int | ID VLAN (опционально, определяется автоматически для клиентов) |
| ip | ❌ | string | Конкретный IP адрес для добавления (если не указан, подбирается свободный) |
| ips | ❌ | array | Массив конкретных IP адресов для добавления |
| tag | ❌ | string | Тег сети (например, ipmi, ovirt, bm) |
| fresh_period | ❌ | int | Период свежести IP (время в секундах) |
| allow_tech_networks | ❌ | int | Разрешить использование технических сетей (для администраторов) |
Пример запроса
Пример успешного ответа
net/block_ip¶
Блокирует указанный IP-адрес на сервере через BIRD или blackhole. Требует причину блокировки.
HTTP-метод: POST
Параметры:
| Параметр | Обязательный | Тип | Описание |
|---|---|---|---|
| action | ✅ | string | Идентификатор метода: block_ip |
| token | ✅ | string | Токен авторизации |
| id | ✅ | int | ID сервера |
| ip | ✅ | string | IP адрес для блокировки |
| description | ✅ | string | Причина блокировки (описание) |
| four_hours | ❌ | int | Установить временную блокировку на 4 часа (1 для включения) |
Пример запроса
Пример успешного ответа
net/get_status¶
Возвращает текущий статус сетевого интерфейса сервера (up/down, скорость, дуплекс, MAC).
HTTP-метод: GET|POST
Параметры:
| Параметр | Обязательный | Тип | Описание |
|---|---|---|---|
| action | ✅ | string | Идентификатор метода: get_status |
| token | ✅ | string | Токен авторизации |
| id | ✅ | int | ID сервера |
| port | ❌ | string | Название интерфейса (например, eth0). Если не указан, берется основной интерфейс. |
Пример запроса
Пример успешного ответа
Примеры ошибок
{
"code": -1,
"message": "net/get_status: invalid request for server 12345 with port eth0",
"description": "Ошибка валидации параметров или отсутствие прав доступа"
}
net/port_off¶
Отключает сетевой интерфейс сервера. Может добавлять тег блокировки с причиной.
HTTP-метод: POST
Параметры:
| Параметр | Обязательный | Тип | Описание |
|---|---|---|---|
| action | ✅ | string | Идентификатор метода: port_off |
| token | ✅ | string | Токен авторизации |
| id | ✅ | int | ID сервера |
| port | ❌ | string | Название интерфейса (например, eth0). Если не указан, выбирается основной интерфейс. |
| reason | ❌ | string | Причина отключения (добавляется в тег block) |
Пример запроса
Пример успешного ответа
Примеры ошибок
{
"code": -1,
"message": "net/port_off: admin ban could not be lifted this way, please contact support or abuse team."
}
net/port_on¶
Включает сетевой интерфейс сервера. Удаляет тег блокировки, если он не был установлен администратором.
HTTP-метод: POST
Параметры:
| Параметр | Обязательный | Тип | Описание |
|---|---|---|---|
| action | ✅ | string | Идентификатор метода: port_on |
| token | ✅ | string | Токен авторизации |
| id | ✅ | int | ID сервера |
| port | ❌ | string | Название интерфейса (например, eth0). Если не указан, используется основной интерфейс или первый eth-интерфейс. |
Пример запроса
Пример успешного ответа
Примеры ошибок
{
"code": -1,
"message": "admin ban could not be lifted this way, please contact support or abuse team."
}
net/remove_ipv4¶
Удаляет указанный IPv4 адрес или все адреса с сервера. Очищает PTR записи в DNS.
HTTP-метод: POST
Параметры:
| Параметр | Обязательный | Тип | Описание |
|---|---|---|---|
| action | ✅ | string | Идентификатор метода: remove_ipv4 |
| token | ✅ | string | Токен авторизации |
| id | ✅ | int | ID сервера |
| ip | ✅ | string | IP адрес для удаления |
| remove_all | ❌ | int | Удалить все IP адреса с сервера (1 - да, 0 - нет) |
Пример запроса
Пример успешного ответа
net/show_cacti¶
Возвращает данные или ссылку на график трафика для указанного порта сервера из системы мониторинга Cacti.
HTTP-метод: POST
Параметры:
| Параметр | Обязательный | Тип | Описание |
|---|---|---|---|
| action | ✅ | string | Идентификатор метода: show_cacti |
| token | ✅ | string | Токен авторизации |
| id | ✅ | int | ID сервера |
| port | ❌ | string | Название интерфейса (например, eth0) |
| graph | ❌ | string | Тип графика (по умолчанию 1) |
Пример запроса
Пример успешного ответа
net/show_ipv4_free¶
Возвращает список доступных свободных IPv4 адресов для указанного сервера, порта и VLAN.
HTTP-метод: POST
Параметры:
| Параметр | Обязательный | Тип | Описание |
|---|---|---|---|
| action | ✅ | string | Идентификатор метода: show_ipv4_free |
| token | ✅ | string | Токен авторизации |
| id | ✅ | int | ID сервера |
| port | ✅ | string | Название интерфейса (например, eth0) |
| vlan | ❌ | int | ID VLAN (опционально, используется для администраторов) |
| tag | ❌ | string | Тег сети (например, bm, ipmi, ovirt) |
| fresh_period | ❌ | int | Период свежести IP (в секундах, -1 если не задано) |
| allow_tech_networks | ❌ | int | Разрешить технические сети (0 или 1) |
Пример запроса
Пример успешного ответа
Примеры ошибок
net/unblock_ip¶
Разблокирует ранее заблокированный IP-адрес на сервере. Требует прав администратора или совпадения с причиной блокировки.
HTTP-метод: POST
Параметры:
| Параметр | Обязательный | Тип | Описание |
|---|---|---|---|
| action | ✅ | string | Идентификатор метода: unblock_ip |
| token | ✅ | string | Токен авторизации |
| id | ✅ | int | ID сервера |
| ip | ✅ | string | IP адрес для разблокировки |
Пример запроса