Перейти к содержанию

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 Разрешить использование технических сетей (для администраторов)

Пример запроса

curl -s "https://invapi.hostkey.ru/net.php" -X POST \
--data "action=add_ipv4" \
--data "token=HOSTKEY_TOKEN" \
--data "id=123" \
--data "port=eth0" \
--data "ips[]=192.168.1.10" \
--data "ips[]=192.168.1.11"
Пример успешного ответа
{
"result": "OK",
"action": "add_ipv4",
"id": 123,
"ips": [
{
"ip": "192.168.1.10",
"vlan": 100
}
],
"keys": [
"key_abc123"
]
}
Примеры ошибок

``` { "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 Описание причины блокировки

Пример запроса

curl -s "https://invapi.hostkey.ru/net.php" -X POST \
--data "action=block_ip" \
--data "params[ip]=1.2.3.4" \
--data "params[description]=Spam attack"
Пример успешного ответа
{
"result": "OK",
"action": "block_ip",
"callback": "7bc29eb23fb1b879b21fce509597f07c"
}
Примеры ошибок

``` { "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 Виртуальный узел порта

Пример запроса

curl -s "https://invapi.hostkey.ru/net.php" -X POST \
--data "action=get_status" \
--data "id=123" \
--data "port=eth0"
Пример успешного ответа
{
"result": "OK",
"action": "get_status",
"data": {
"component": "NetInterface1",
"component_id": 45,
"status": "active"
}
}
Примеры ошибок

``` { "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 устройства или порта

Пример запроса

curl -s "https://invapi.hostkey.ru/net.php" -X POST \
--data "action=port_off" \
--data "token=YOUR_TOKEN" \
--data "params[id]=123"
Пример успешного ответа
{
"result": "OK",
"action": "port_off",
"callback": "7bc29eb23fb1b879b21fce509597f07c"
}
Примеры ошибок

``` { "code": -1, "message": "Action required" }

```

net/port_on

Активирует указанный сетевой порт на устройстве. Операция является асинхронной.

HTTP-метод: POST

Параметры:

Параметр Обязательный Тип Описание
action string Идентификатор метода: port_on
token string Токен авторизации пользователя
params[id] integer ID порта или устройства для активации

Пример запроса

curl -s "https://invapi.hostkey.ru/net.php" -X POST \
--data "action=port_on" \
--data "token=HOSTKEY_TOKEN" \
--data "params[id]=VALUE"
Пример успешного ответа
{
"result": "OK",
"action": "port_on",
"callback": "7bc29eb23fb1b879b21fce509597f07c"
}
Примеры ошибок

``` { "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 адреса сервера

Пример запроса

curl -s "https://invapi.hostkey.ru/net.php" -X POST \
--data "action=remove_ipv4" \
--data "id=123" \
--data "ip=192.168.1.1"
Пример успешного ответа
{
"result": "OK",
"action": "remove_ipv4",
"id": 123,
"ips": [
"192.168.1.1",
"10.0.0.5"
],
"keys": [
"key_abc123",
"key_def456"
]
}
Примеры ошибок

``` { "code": -1, "message": "No IP specificed" }

```

net/show_cacti

Возвращает данные для отображения графиков Cacti для конкретного устройства или порта

HTTP-метод: POST

Параметры:

Параметр Обязательный Тип Описание
action string Идентификатор метода: show_cacti
id int ID объекта (например, коммутатора)
port string Номер порта для построения графика

Пример запроса

curl -s "https://invapi.hostkey.ru/net.php" -X POST \
--data "action=show_cacti" \
--data "id=123"
Пример успешного ответа
{
"result": "OK",
"action": "show_cacti",
"data": {
"graph": "string",
"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)

Пример запроса

curl -s "https://invapi.hostkey.ru/net.php" -X POST \
--data "action=show_ipv4_free" \
--data "id=123" \
--data "port=eth0"
Пример успешного ответа
{
"result": "OK",
"action": "show_ipv4_free",
"id": 123,
"ips": [
{
"ip": "192.168.1.10",
"mask": "255.255.255.0"
}
],
"subnets": [
{
"network": "192.168.1.0",
"gateway": "192.168.1.1"
}
],
"res": {
"vlan": 100,
"tag": "bm"
},
"total_ips": 2,
"fresh": 3600
}
Примеры ошибок

``` { "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-адрес для разблокировки

Пример запроса

curl -s "https://invapi.hostkey.ru/net.php" -X POST \
--data "action=unblock_ip" \
--data "token=YOUR_TOKEN" \
--data "id=12345" \
--data "ip=1.2.3.4"
Пример успешного ответа
{
"result": "OK",
"action": "unblock_ip",
"callback": "7bc29eb23fb1b879b21fce509597f07c"
}
Примеры ошибок

``` { "code": -1, "message": "failed to send BIRD management command" }

```

question_mark
Я могу вам чем-то помочь?
question_mark
ИИ Помощник ×