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

net.php

В этой статье

Модуль управления сетевыми настройками: управление IP-адресами (IPv4), блокировка/разблокировка IP, получение данных о MAC-адресах и мониторинг трафика.

Методы API

Метод Действие Описание
add_ipv4 добавление IPv4 адресов Добавляет указанное количество IPv4 адресов на сервер в выбранном порту и VLAN. Если IP не указан, система подберет свободные адреса.
add_port добавление/изменение порта Добавляет или обновляет данные сетевого интерфейса (NIC) для сервера.
blackhole_ip выполнение команды blackhole для IP Блокирует указанный IP-адрес с использованием режима blackhole в BIRD. Если включена опция 4-х часов, устанавливается временная метка истечения блокировки.
block_ip блокировка IP-адреса Блокирует указанный IP-адрес через BIRD или Blackhole.
clear_acl очистка ACL Очищает правила доступа (ACL) на порту сервера.
del_port удаление порта Удаляет сетевой интерфейс (порт) с сервера.
get_acl получение ACL Возвращает данные о правилах доступа (ACL) для порта.
get_bandwidth получение пропускной способности Возвращает текущие показатели скорости (bps) для порта.
get_bps_in получение входящей скорости Возвращает текущую скорость входящего трафика (Inbound bps).
get_bps_out получение исходящей скорости Возвращает текущую скорость исходящего трафика (Outbound bps).
get_mac получение MAC-адреса Возвращает информацию о MAC-адресе для указанного порта сервера.
get_port получение данных о порте Возвращает информацию о сетевом интерфейсе сервера (тип, VLAN, скорость и др.)
get_pspeed получение скорости порта Возвращает текущую скорость сетевого интерфейса
get_snmp получение SNMP данных Возвращает данные SNMP из базы данных по тегу
get_status получение статуса порта Возвращает текущий статус сетевого интерфейса
get_switch получение данных коммутатора Возвращает список портов и их состояние для указанного коммутатора.
get_switch_all получение всех данных коммутатора Возвращает данные о портах и состоянии коммутатора по его ID.
get_vlan получение VLAN Возвращает информацию о текущем VLAN для порта или интерфейса.
list_10g_ips получение списка 10G IP Возвращает список IP-адресов, подключенных к интерфейсам со скоростью 10G.
list_blocked_ip получение списка заблокированных IP Возвращает список всех IP-адресов, находящихся в черном списке.
list_switches получение списка коммутаторов Возвращает список доступных коммутаторов для указанной локации или сервера.
list_vps_ips получение списка VPS IP Возвращает список IP-адресов, используемых в виртуальных машинах (VPS).
load_arp загрузка ARP таблицы Запускает процесс загрузки ARP-таблицы из роутера для указанного IP или локации.
load_arp_ovirt загрузка ARP из Ovirt Запускает процесс загрузки таблицы ARP для инженеров Ovirt
load_mac_list загрузка списка MAC-адресов Загружает список MAC-адресов для указанной локации.
load_snmp загрузка SNMP данных Запускает задачу Jenkins для сбора SNMP данных по всем или части устройств.
load_switch получение данных коммутатора Возвращает данные о MAC/IP и портах физического коммутатора. Если ID не указан, возвращает список всех доступных коммутаторов.
mac_check проверка MAC-адресов Валидация записей port_flow по конкретному ID или массовая проверка всех записей с фильтрацией.
mac_check1 проверка MAC-адресов (flow) Валидация записей port_flow для конкретного ID или всех доступных
mac_data получение данных MAC Возвращает информацию о серверах, привязанных к конкретному MAC-адресу, и историю flow.
mac_data_list получение данных по списку MAC Возвращает данные из БД и port_flow для списка предоставленных MAC-адресов
mac_refresh обновление данных MAC/ARP Запуск процесса сканирования всех сетей для обновления таблиц MAC и ARP через nmap.
mount_nic монтирование сетевого интерфейса Монтирует сетевой интерфейс (NIC) на сервер через указанный коммутатор и порт.
nmap запуск nmap сканирования Запускает сетевое сканирование (NMAP) для указанного IP-адреса, принадлежащего серверу.
port_flow получение таблицы port flow Возвращает таблицу потоков портов (port flow) с применением фильтров.
port_of_virt_node управление тегом виртуального узла Добавляет или удаляет тег 'port_of_virt_node' для указанного сервера.
port_off выключение порта Отключает сетевой порт сервера.
port_on включение порта Включает сетевой порт сервера и снимает блокировки (tags).
port_reset сброс настроек порта Сбрасывает конфигурацию сетевого порта сервера (VLAN, скорость и др.) на значения по умолчанию.
relocate_nics перенос сетевых интерфейсов Переносит все сетевые интерфейсы с одного сервера на другой.
remove_ipv4 удаление IPv4 адреса Удаляет конкретный или все IPv4 адреса с сервера.
remove_selected_ipv4 удаление выбранных IPv4 Удаляет список указанных IPv4 адресов с сервера.
remove_shape_port удаление шейпинга порта Удаляет ограничения полосы пропускания (shaping) с сетевого порта.
reset_interface_vlan сброс VLAN интерфейса Сбрасывает настройки VLAN сетевого интерфейса сервера до настроек по умолчанию.
set_acl установка ACL Устанавливает списки контроля доступа (ACL) для сетевого порта.
set_bandwidth установка пропускной способности Устанавливает ограничение полосы пропускания (bandwidth) для сетевого интерфейса.
set_nic_type установка типа NIC Устанавливает тип сетевого адаптера (NIC) для порта сервера.
set_port управление портом Настройка параметров сетевого порта (скорость, VLAN, безопасность и др.) на сервере.
set_port_security управление безопасностью порта Управление ограничением MAC-адресов на порту.
set_vlan управление VLAN Установка или изменение VLAN для порта сервера.
shape_net управление пропускной способностью Настройка ограничения трафика (shaping) для сети.
shape_port управление пропускной способностью порта Настройка ограничения трафика для конкретного порта.
show_cacti получение графика Cacti Возвращает данные для построения графиков Cacti для сетевого интерфейса.
show_ipv4_free поиск свободных IPv4 Возвращает список доступных IPv4 адресов для сервера в указанном VLAN.
sync_cacti синхронизация Cacti Синхронизирует данные порта с системой мониторинга Cacti.
unblock_ip разблокировка IP Снимает блокировку с указанного IP-адреса.

net/add_ipv4

Добавляет указанное количество IPv4 адресов на сервер в выбранном порту и VLAN. Если IP не указан, система подберет свободные адреса.

HTTP-метод: POST

Параметры:

Параметр Обязательный Тип Описание
action ✅ string Идентификатор метода: add_ipv4
token ✅ string Токен авторизации
id ✅ integer ID сервера
port ❌ string Имя сетевого интерфейса (например, eth0, ipmi)
ips ❌ array<string> Список конкретных IP-адресов для добавления. Принимает несколько значений: ips[]=1.1.1.1&ips[]=1.1.1.2
amount ❌ integer Количество свободных IP-адресов для подбора (если ips не указан)
vlan ❌ integer ID VLAN. Если не указан, определяется автоматически по порту.
allow_tech_networks ❌ boolean Разрешить добавление из технических сетей (только для администраторов).
tag_id ❌ integer ID тега для фильтрации при подбор IP.
fresh_period ❌ integer Период свежести (в секундах) для поиска свободных адресов.
ip ❌ string Конкретный IPv4 адрес для назначения серверу.
tag ❌ string Тег сети или идентификатор типа интерфейса (например, ipmi, ovirt, bm).

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

curl -s "https://invapi.hostkey.ru/net.php" -X POST \
--data "action=add_ipv4" \
--data "token=HOSTKEY_TOKEN" \
--data "id=123" \
--data "ips[]=1.1.1.1" \
--data "ips[]=1.1.1.2"
Пример успешного ответа
{
"result": "OK",
"action": "add_ipv4",
"id": 123,
"ips": [
{
"ip": "192.168.1.10",
"vlan": 100
},
{
"ip": "192.168.1.11",
"vlan": 100
}
],
"keys": [
"key_1",
"key_2"
]
}
Примеры ошибок
{
"code": -1,
"message": "failed to add IPv4: error message"
}

net/add_port

Добавляет или обновляет данные сетевого интерфейса (NIC) для сервера.

HTTP-метод: POST

Параметры:

Параметр Обязательный Тип Описание
action ✅ string Идентификатор метода: add_port
id ✅ integer ID сервера.
port_id ❌ integer ID порта (из системных настроек).
port ✅ string Имя порта.
mac ❌ array<string> MAC-адрес устройства. Принимает массив: mac[]=val1&mac[]=val2
main_interface ❌ boolean Является ли интерфейс основным.
virtual_interface ❌ boolean Является ли интерфейс виртуальным.
description ❌ string Описание порта.
nic_main_neti ❌ integer Основная сетевая метка (NIC main network interface).
disable_port ❌ integer Флаг отключения порта.
inv_disable ❌ integer Инвентарное отключение.
assum_traffic ❌ integer Предполагаемый трафик.
nic_status ❌ string Статус сетевой карты.
ddos_limit ❌ integer Лимит DDoS защиты. По умолчанию 1000.
nic_name ❌ string Имя сетевой карты.
nic_uplink ❌ integer Uplink интерфейс.
cacti_id ❌ integer ID для системы мониторинга Cacti.
token ❌ string Уникальный токен для аутентификации запроса.

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

curl -s "https://invapi.hostkey.ru/net.php" -X POST \
--data "action=add_port" \
--data "id=123" \
--data "port=eth0" \
--data "mac[]=00:1A:2B:3C:4D:5E" \
--data "token=your_token_here"
Пример успешного ответа
{
"result": "OK",
"action": "add_port",
"port": "eth0",
"mac": "00:1A:2B:3C:4D:5E",
"main_interface": 1,
"virtual_interface": 0,
"description": "Primary Interface",
"nic_uplink": 0,
"id": 123
}
Примеры ошибок
{
"code": -1,
"message": "failed to add/update NIC data for server [id]: [error]"
}

net/blackhole_ip

Блокирует указанный IP-адрес с использованием режима blackhole в BIRD. Если включена опция 4-х часов, устанавливается временная метка истечения блокировки.

HTTP-метод: POST

Параметры:

action ✅ string Идентификатор метода: blackhole_ip
token ✅ string Токен авторизации
id ❌ integer ID сервера. Если не указан, IP будет найден автоматически.
ip ✅ string IP-адрес для блокировки.
description ❌ string Описание причины блокировки (будет добавлено к префиксу в тегах).
four_hours ❌ integer Флаг временной блокировки (на 4 часа). Допустимые значения: -1, 0, 1.

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

curl -s "https://invapi.hostkey.ru/net.php" -X POST \
--data "action=blackhole_ip" \
--data "token=HOSTKEY_TOKEN" \
--data "ip=1.2.3.4"
Пример успешного ответа
{
"result": "OK",
"action": "blackhole_ip",
"callback": "7bc29eb23fb1b879b21fce509597f07c"
}
Примеры ошибок
{
"code": -1,
"message": "failed to send BIRD management command"
}

net/block_ip

Блокирует указанный IP-адрес через BIRD или Blackhole.

HTTP-метод: POST

Параметры:

Параметр Обязательный Тип Описание
action ✅ string Идентификатор метода: block_ip
token ✅ string Токен авторизации
id ❌ integer ID сервера. Если не указан, IP будет найден по значению ip.
ip ✅ string IP-адрес для блокировки
description ❌ string Причина блокировки (добавляется в описание тега)
four_hours ❌ integer Установить временную блокировку на 4 часа.

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

curl -s "https://invapi.hostkey.ru/net.php" -X POST \
--data "action=block_ip" \
--data "token=HOSTKEY_TOKEN" \
--data "ip=1.2.3.4"
Пример успешного ответа
{
"result": "OK",
"action": "block_ip",
"callback": "7bc29eb23fb1b879b21fce509597f07c"
}
Примеры ошибок
{
"code": -1,
"message": "failed to send BIRD management command"
}

net/clear_acl

Очищает правила доступа (ACL) на порту сервера.

HTTP-метод: POST

Параметры:

Параметр Обязательный Тип Описание
action ✅ string Идентификатор метода: clear_acl
id ✅ integer ID сервера.
port ❌ string Имя порта (например, eth0).
vlan ❌ integer ID VLAN.
speed ❌ string Скорость порта.
port_security ❌ integer Настройки безопасности порта.
trunc ❌ boolean Флаг обрезки (truncation).
status ❌ integer Статус порта.
token ❌ string Токен авторизации.
reason ❌ string Причина блокировки или очистки правил доступа.
duplex ❌ string Режим дуплекса сетевого интерфейса.
port_virt_node ❌ string Идентификатор виртуального узла порта.

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

curl -s "https://invapi.hostkey.ru/net.php" -X POST \
--data "action=clear_acl" \
--data "id=123" \
--data "port=eth0"
Пример успешного ответа
{
"result": "unknown"
}
Примеры ошибок
{
"code": -1,
"message": "Ошибка выполнения команды ACL"
}

net/del_port

Удаляет сетевой интерфейс (порт) с сервера.

HTTP-метод: POST

Параметры:

Параметр Обязательный Тип Описание
action ✅ string Идентификатор метода: del_port
id ✅ integer ID сервера.
port_id ✅ integer ID порта для удаления.
token ❌ string Уникальный токен для аутентификации запроса.
port ❌ string Имя порта или сетевого интерфейса, который необходимо удалить.

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

curl -s "https://invapi.hostkey.ru/net.php" -X POST \
--data "action=del_port" \
--data "id=123" \
--data "port_id=456"
Пример успешного ответа
{
"result": "OK",
"action": "del_port",
"port": "eth0",
"id": 123
}
Примеры ошибок
{
"code": -1,
"message": "$module/$action: failed to delete port $port for server $id: [error]"
}

net/get_acl

Возвращает данные о правилах доступа (ACL) для порта.

HTTP-метод: POST

Параметры:

Параметр Обязательный Тип Описание
action ✅ string Идентификатор метода: get_acl
token ✅ string Токен авторизации
id ✅ integer ID сервера
port ❌ string Имя порта (например, eth0)
vlan ❌ string Идентификатор или номер виртуальной локальной сети.
speed ❌ string Установленная скорость передачи данных на порту.
trunc ❌ string Параметр обрезки (трассировки) сетевого трафика.
port_security ❌ integer Настройка безопасности порта для ограничения доступа по MAC-адресам.
status ❌ string Текущий статус сетевого интерфейса или его целевое состояние.
reason ❌ string Причина блокировки порта или изменения настроек доступа.
duplex ❌ string Режим дуплекса сетевого соединения (full/half).
port_virt_node ❌ string Идентификатор виртуального узла для настройки порта.

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

curl -s "https://invapi.hostkey.ru/net.php" -X POST \
--data "action=get_acl" \
--data "token=HOSTKEY_TOKEN" \
--data "id=12345"
Пример успешного ответа
{
"result": "OK",
"action": "get_acl",
"data": {}
}
Примеры ошибок
{
"code": -1,
"message": "invalid request"
}

net/get_bandwidth

Возвращает текущие показатели скорости (bps) для порта.

HTTP-метод: POST

Параметры:

Параметр Обязательный Тип Описание
action ✅ string Идентификатор метода: get_bandwidth
token ✅ string Токен авторизации
id ✅ integer ID сервера
port ❌ string Имя порта (например, eth0)
vlan ❌ string Идентификатор виртуальной локальной сети (VLAN).
speed ❌ string Установленная скорость передачи данных на интерфейсе.
trunc ❌ string Параметр обрезки (трассировки) пакетов или трафика.
port_security ❌ integer Настройки безопасности порта для ограничения доступа по MAC-адресам.
status ❌ string Текущий статус сетевого интерфейса или его целевое состояние.
reason ❌ string Причина блокировки порта или изменения состояния соединения.
duplex ❌ string Режим дуплекса сетевого интерфейса (full/half).
port_virt_node ❌ string Идентификатор виртуального узла для сетевого порта.

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

curl -s "https://invapi.hostkey.ru/net.php" -X POST \
--data "action=get_bandwidth" \
--data "token=HOSTKEY_TOKEN" \
--data "id=12345" \
--data "port=eth0"
Пример успешного ответа
{
"result": "OK",
"action": "get_bandwidth",
"data": {}
}
Примеры ошибок
{
"code": -1,
"message": "invalid request"
}

net/get_bps_in

Возвращает текущую скорость входящего трафика (Inbound bps).

HTTP-метод: POST

Параметры:

Параметр Обязательный Тип Описание
action ✅ string Идентификатор метода: get_bps_in
token ✅ string Токен авторизации
id ✅ integer ID сервера
port ❌ string Имя порта (например, eth0)
vlan ❌ string Идентификатор или название виртуальной локальной сети (VLAN).
speed ❌ string Установленная скорость передачи данных на интерфейсе.
trunc ❌ string Параметр обрезки (трассировки) пакетов или специфическая настройка порта.
port_security ❌ string Настройка безопасности порта для ограничения доступа по MAC-адресам.
status ❌ string Текущий статус сетевого интерфейса или режим работы порта.
reason ❌ string Причина блокировки или изменения состояния порта.
duplex ❌ string Режим дуплекса сетевого соединения (full/half).
port_virt_node ❌ string Идентификатор виртуального узла для настройки порта.

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

curl -s "https://invapi.hostkey.ru/net.php" -X POST \
--data "action=get_bps_in" \
--data "token=HOSTKEY_TOKEN" \
--data "id=12345"
Пример успешного ответа
{
"result": "OK",
"action": "get_bps_in",
"data": {}
}
Примеры ошибок
{
"code": -1,
"message": "invalid request"
}

net/get_bps_out

Возвращает текущую скорость исходящего трафика (Outbound bps).

HTTP-метод: POST

Параметры:

Параметр Обязательный Тип Описание
action ✅ string Идентификатор метода: get_bps_out
token ✅ string Токен авторизации
id ✅ integer ID сервера
port ❌ string Имя порта (например, eth0)
vlan ❌ string Идентификатор виртуальной локальной сети для сетевого интерфейса.
speed ❌ string Установленная скорость передачи данных на порту.
trunc ❌ string Параметр обрезки (трассировки) пакетов или настроек интерфейса.
port_security ❌ integer Настройка безопасности порта для ограничения доступа по MAC-адресам.
status ❌ string Текущий статус сетевого интерфейса или целевое состояние порта.
reason ❌ string Причина блокировки или изменения состояния порта.
duplex ❌ string Режим дуплекса для сетевого соединения (full/half).
port_virt_node ❌ string Идентификатор виртуального узла для настройки порта.

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

curl -s "https://invapi.hostkey.ru/net.php" -X POST \
--data "action=get_bps_out" \
--data "token=HOSTKEY_TOKEN" \
--data "id=12345"
Пример успешного ответа
{
"result": "OK",
"action": "get_bps_out",
"data": {}
}
Примеры ошибок
{
"code": -1,
"message": "invalid request"
}

net/get_mac

Возвращает информацию о MAC-адресе для указанного порта сервера.

HTTP-метод: POST

Параметры:

Параметр Обязательный Тип Описание
action ✅ string Идентификатор метода: get_mac
token ✅ string Токен авторизации
id ✅ integer ID сервера
port ❌ string Имя порта (например, eth0)
vlan ❌ string Идентификатор виртуальной локальной сети (VLAN).
speed ❌ string Установленная скорость передачи данных на интерфейсе.
trunc ❌ string Параметр обрезки (трассировки) пакетов или настроек порта.
port_security ❌ integer Настройка безопасности порта для ограничения количества MAC-адресов.
status ❌ string Текущий статус сетевого интерфейса или целевое состояние порта.
reason ❌ string Причина блокировки или изменения состояния порта.
duplex ❌ string Режим дуплекса сетевого соединения (full/half).
port_virt_node ❌ string Идентификатор виртуального узла для настройки порта.

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

curl -s "https://invapi.hostkey.ru/net.php" -X POST \
--data "action=get_mac" \
--data "token=HOSTKEY_TOKEN" \
--data "id=VALUE" \
--data "port=eth0"
Пример успешного ответа
{
"result": "OK",
"action": "get_mac",
"data": {}
}
Примеры ошибок
{
"code": -1,
"message": "invalid request"
}

net/get_port

Возвращает информацию о сетевом интерфейсе сервера (тип, VLAN, скорость и др.)

HTTP-метод: POST

Параметры:

Параметр Обязательный Тип Описание
action ✅ string Идентификатор метода: get_port
id ✅ integer ID сервера
port ❌ string Название порта (например, eth0)
vlan ❌ string VLAN ID
speed ❌ string Скорость порта
port_security ❌ integer Настройки безопасности порта. По умолчанию -1.
trunc ❌ string Параметр обрезки (truncation)
status ❌ integer Статус порта. По умолчанию -1.
duplex ❌ string Режим дуплекса
reason ❌ string Причина блокировки сетевого интерфейса или порта.
port_virt_node ❌ string Идентификатор виртуального узла для настройки порта.

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

curl -s "https://invapi.hostkey.ru/net.php" -X POST \
--data "action=get_port" \
--data "id=123"
Пример успешного ответа
{
"result": "OK",
"action": "get_port",
"data": {
"id": 123,
"port": "eth0",
"vlan": "100",
"speed": "1000",
"status": "up"
}
}
Примеры ошибок
{
"code": -1,
"message": "invalid request for server id 123 with port eth0"
}

net/get_pspeed

Возвращает текущую скорость сетевого интерфейса

HTTP-метод: POST

Параметры:

Параметр Обязательный Тип Описание
action ✅ string Идентификатор метода: get_pspeed
id ✅ integer ID сервера
port ❌ string Название порта
vlan ❌ string Идентификатор или номер виртуальной локальной сети.
speed ❌ string Установленная скорость передачи данных на интерфейсе.
trunc ❌ string Параметр обрезки или ограничения трафика.
port_security ❌ integer Настройки безопасности порта для ограничения доступа по MAC-адресам.
status ❌ string Текущий статус сетевого интерфейса или его целевое состояние.
reason ❌ string Причина блокировки или изменения состояния порта.
duplex ❌ string Режим дуплекса сетевого соединения (full/half).
port_virt_node ❌ string Идентификатор виртуального узла для порта.

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

curl -s "https://invapi.hostkey.ru/net.php" -X POST \
--data "action=get_pspeed" \
--data "id=123" \
--data "port=eth0"
Пример успешного ответа
{
"result": "OK",
"action": "get_pspeed",
"data": {
"speed": "1000Mbps"
}
}
Примеры ошибок
{
"code": -1,
"message": "invalid request for server id 123 with port eth0"
}

net/get_snmp

Возвращает данные SNMP из базы данных по тегу

HTTP-метод: POST

Параметры:

Параметр Обязательный Тип Описание
action ✅ string Идентификатор метода: get_snmp
id ✅ integer ID сервера
tag_id ✅ integer ID тега для SNMP запроса
period_from ❌ string Начало периода (timestamp)
period_to ❌ string Конец периода (timestamp)
token ✅ string API-токен аутентификации

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

curl -s "https://invapi.hostkey.ru/net.php" -X POST \
--data "action=get_snmp" \
--data "id=123" \
--data "tag_id=456" \
--data "token=YOUR_TOKEN"
Пример успешного ответа
{
"result": "OK",
"snmp_data": [
{
"oid": ".1.3.6.1.2.1.1.1.0",
"value": "Example SNMP Data"
}
]
}
Примеры ошибок
{
"code": -1,
"message": "invalid tag id 5"
}

net/get_status

Возвращает текущий статус сетевого интерфейса

HTTP-метод: POST

Параметры:

Параметр Обязательный Тип Описание
action ✅ string Идентификатор метода: get_status
id ✅ integer ID сервера
port ❌ string Название порта (например, eth0) или его ID
vlan ❌ integer ID виртуальной локальной сети (VLAN)
speed ❌ string Скорость порта
port_security ❌ boolean Включена ли безопасность порта
trunc ❌ boolean Режим транка (trunking)
status ❌ string Статус порта
token ✅ string Токен авторизации
duplex ❌ string Режим дуплекса
nic_id ❌ integer ID сетевого интерфейса (NIC ID)
port_virt_node ❌ string Виртуальный узел порта
reason ❌ string Причина отключения порта или блокировки сетевого интерфейса.

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

curl -s "https://invapi.hostkey.ru/net.php" -X POST \
--data "action=get_status" \
--data "id=123" \
--data "token=YOUR_TOKEN"
Пример успешного ответа
{
"result": "OK",
"action": "get_status",
"data": {
"status": "up"
}
}
Примеры ошибок
{
"code": -1,
"message": "no IP assigned for server 123 or invalid server id"
}

net/get_switch

Возвращает список портов и их состояние для указанного коммутатора.

HTTP-метод: POST

Параметры:

Параметр Обязательный Тип Описание
action ✅ string Идентификатор метода: get_switch
id ✅ integer ID коммутатора.
token ✅ string API-токен аутентификации
switch_id ❌ integer Уникальный идентификатор сетевого коммутатора для получения данных о его портах.

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

curl -s "https://invapi.hostkey.ru/net.php" -X POST \
--data "action=get_switch" \
--data "id=123" \
--data "token=HOSTKEY_TOKEN" \
--data "switch_id=456"
Пример успешного ответа
{
"result": "OK",
"ports": [
{
"id": 10,
"type": "eth0",
"status": "active"
},
{
"id": 11,
"type": "eth1",
"status": "down"
}
]
}
Примеры ошибок
{
"code": -1,
"message": "invalid request"
}

net/get_switch_all

Возвращает данные о портах и состоянии коммутатора по его ID.

HTTP-метод: POST

Параметры:

Параметр Обязательный Тип Описание
action ✅ string Идентификатор метода: get_switch_all
id ✅ integer ID коммутатора.
token ❌ string Уникальный идентификатор сессии или токен авторизации для выполнения запроса.

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

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

net/get_vlan

Возвращает информацию о текущем VLAN для порта или интерфейса.

HTTP-метод: POST

Параметры:

Параметр Обязательный Тип Описание
action ✅ string Идентификатор метода: get_vlan
id ✅ integer ID сервера.
port ❌ string Имя порта (например, eth0).
vlan ❌ integer VLAN ID.
speed ❌ string Скорость порта.
port_security ❌ integer Параметры безопасности порта.
trunc ❌ string Настройки транкирования.
status ❌ integer Статус порта.
token ✅ string Токен авторизации.
reason ❌ string Причина блокировки порта или сетевого интерфейса.
duplex ❌ string Режим дуплексности сетевого соединения.
port_virt_node ❌ string Идентификатор виртуального узла порта.

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

curl -s "https://invapi.hostkey.ru/net.php" -X POST \
--data "action=get_vlan" \
--data "id=123" \
--data "token=YOUR_TOKEN"
Пример успешного ответа
{
"result": "OK",
"action": "get_vlan"
}
Примеры ошибок
{
"code": -1,
"message": "Ошибка получения данных VLAN"
}

net/list_10g_ips

Возвращает список IP-адресов, подключенных к интерфейсам со скоростью 10G.

HTTP-метод: GET

Параметры:

Параметр Обязательный Тип Описание
action ✅ string Идентификатор метода: list_10g_ips
location ❌ string Код локации (DC location).
gsflow ❌ string Параметр фильтрации по потоку.
token ✅ string API-токен аутентификации
1g ❌ integer Параметр для фильтрации по 1G потоку.

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

curl -s "https://invapi.hostkey.ru/net.php" -X GET \
--data "action=list_10g_ips" \
--data "token=HOSTKEY_TOKEN"
Пример успешного ответа
{
"result": "OK",
"action": "list_10g_ips",
"data": [
{
"ip": "192.168.1.1",
"vlan": 100,
"interface": "eth0"
}
]
}
Примеры ошибок
{
"code": -2,
"message": "Invalid hash"
}

net/list_blocked_ip

Возвращает список всех IP-адресов, находящихся в черном списке.

HTTP-метод: GET

Параметры:

Параметр Обязательный Тип Описание
action ✅ string Идентификатор метода: list_blocked_ip
token ✅ string API-токен аутентификации

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

curl -s "https://invapi.hostkey.ru/net.php" -X GET \
--data "action=list_blocked_ip" \
--data "token=HOSTKEY_TOKEN"
Пример успешного ответа
{
"result": "OK",
"action": "list_blocked_ip",
"ips": [
{
"ip": "1.2.3.4",
"reason": "Spam"
}
]
}
Примеры ошибок
{
"code": -2,
"message": "Invalid hash"
}

net/list_switches

Возвращает список доступных коммутаторов для указанной локации или сервера.

HTTP-метод: GET

Параметры:

Параметр Обязательный Тип Описание
action ✅ string Идентификатор метода: list_switches
id ❌ integer ID сервера для определения локации.
location ❌ string Код локации (DC location).
token ✅ string API-токен аутентификации

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

curl -s "https://invapi.hostkey.ru/net.php" -X GET \
--data "action=list_switches" \
--data "token=HOSTKEY_TOKEN"
Пример успешного ответа
{
"result": "OK",
"switches": [
{
"id": 10,
"name": "Switch-Core-01",
"model": "Cisco Nexus"
}
]
}
Примеры ошибок
{
"code": -1,
"message": "Invalid request for id"
}

net/list_vps_ips

Возвращает список IP-адресов, используемых в виртуальных машинах (VPS).

HTTP-метод: GET

Параметры:

Параметр Обязательный Тип Описание
action ✅ string Идентификатор метода: list_vps_ips
location ❌ string Код локации (DC location).
token ✅ string API-токен аутентификации

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

curl -s "https://invapi.hostkey.ru/net.php" -X GET \
--data "action=list_vps_ips" \
--data "token=HOSTKEY_TOKEN"
Пример успешного ответа
{
"result": "OK",
"action": "list_vps_ips",
"data": [
{
"ip": "10.0.0.5",
"vm_id": 45
}
]
}
Примеры ошибок
{
"code": -2,
"message": "Invalid hash or permission denied"
}

net/load_arp

Запускает процесс загрузки ARP-таблицы из роутера для указанного IP или локации.

HTTP-метод: GET

Параметры:

action ✅ string Идентификатор метода: load_arp
ip ❌ string IP-адрес роутера. Может принимать значение 'all' или 'All'.
location ✅ string Код локации (DC location). Должен быть указан, если не используется режим загрузки всех устройств.
token ❌ string Уникальный идентификатор сессии или токен безопасности для выполнения запроса.

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

curl -s "https://invapi.hostkey.ru/net.php" -X GET \
--data "action=load_arp" \
--data "location=DC1"
Пример успешного ответа
{
"result": "OK",
"action": "load_arp",
"callback": "7bc29eb23b1b879b21fce509597f07c"
}
Примеры ошибок
{
"code": -1,
"message": "failed to send command"
}

net/load_arp_ovirt

Запускает процесс загрузки таблицы ARP для инженеров Ovirt

HTTP-метод: POST

Параметры:

Параметр Обязательный Тип Описание
action ✅ string Идентификатор метода: load_arp_ovirt
engine ✅ string Название движка Ovirt. Допустимые значения: ovirt.

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

curl -s "https://invapi.hostkey.ru/net.php" -X POST \
--data "action=load_arp_ovirt" \
--data "engine=ovirt"
Пример успешного ответа
{
"result": "OK",
"action": "load_arp_ovirt",
"callback": "7bc29eb23fb1b879b21fce509597f07c"
}
Примеры ошибок
{
"code": -1,
"message": "engine ovirt not found"
}

net/load_mac_list

Загружает список MAC-адресов для указанной локации.

HTTP-метод: GET

Параметры:

Параметр Обязательный Тип Описание
action ✅ string Идентификатор метода: load_mac_list
location ❌ string Код локации (DC location).
token ✅ string API-токен аутентификации

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

curl -s "https://invapi.hostkey.ru/net.php" -X GET \
--data "action=load_mac_list" \
--data "location=DC1" \
--data "token=HOSTKEY_TOKEN"
Пример успешного ответа
{
"result": "OK",
"data": [
{
"mac": "00:1A:4B:3C:5D:6E",
"ip": "192.168.1.10"
}
]
}
Примеры ошибок
{
"code": -2,
"message": "Invalid hash"
}

net/load_snmp

Запускает задачу Jenkins для сбора SNMP данных по всем или части устройств.

HTTP-метод: GET

Параметры:

Параметр Обязательный Тип Описание
action ✅ string Идентификатор метода: load_snmp
amount ❌ integer Количество записей для обработки.
skip ❌ integer Пропуск записей (offset).
ip ❌ string IP-адрес. Если 'all' или пусто — загрузка для всех.
token ❌ string Уникальный идентификатор сессии или токен авторизации для выполнения запроса.

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

curl -s "https://invapi.hostkey.ru/net.php" -X GET \
--data "action=load_snmp" \
--data "ip=192.168.1.1" \
--data "amount=10"
Пример успешного ответа
{
"result": "OK",
"message": "Список сообщений о выполнении задач (через <br>)"
}
Примеры ошибок
{
"code": -1,
"message": "Error starting SNMP task"
}

net/load_switch

Возвращает данные о MAC/IP и портах физического коммутатора. Если ID не указан, возвращает список всех доступных коммутаторов.

HTTP-метод: POST

Параметры:

Параметр Обязательный Тип Описание
action ✅ string Идентификатор метода: load_switch
id ❌ integer ID коммутатора. Если 0 — загрузка всех доступных коммутаторов.
internal ❌ boolean Режим отображения данных (внутренние/публичные). По умолчанию 1.
amount ❌ integer Количество записей для загрузки при запросе всех коммутаторов. По умолчанию 20.
skip ❌ integer Смещение (пропуск) записей при пагинации.
token ❌ string Уникальный идентификатор сессии или токен авторизации для выполнения запроса.

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

curl -s "https://invapi.hostkey.ru/net.php" -X POST \
--data "action=load_switch" \
--data "id=123"
Пример успешного ответа
{
"result": "OK",
"action": "load_switch",
"data": {
"sw_id": 123,
"ports": [
{
"port": "eth0",
"mac": "00:1A:2B:3C:4D:5E",
"ip": "192.168.1.1"
}
]
}
}
Примеры ошибок
{
"code": -1,
"message": "Switch request failed: error message"
}

net/mac_check

Валидация записей port_flow по конкретному ID или массовая проверка всех записей с фильтрацией.

HTTP-метод: POST

Параметры:

Параметр Обязательный Тип Описание
action ✅ string Идентификатор метода: mac_check
id ❌ integer ID конкретной записи для проверки.
status ❌ integer Фильтр по статусу записей. По умолчанию -1.
skip ❌ integer Пропуск записей при массовой проверке.
report ❌ integer Флаг включения расширенного отчета с отправкой уведомлений о сбоях.
token ❌ string Уникальный идентификатор сессии или токен авторизации для выполнения запроса.

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

curl -s "https://invapi.hostkey.ru/net.php" -X POST \
--data "action=mac_check" \
--data "id=50" \
--data "status=1" \
--data "token=your_token_here"
Пример успешного ответа
{
"result": "OK",
"action": "mac_check",
"data": [
{
"id": 50,
"updated": "2024-01-01 12:00:00",
"location": "NL",
"mac": "AA:BB:CC:DD:EE:FF",
"switch_location": "DC1",
"switch_info": "Switch A",
"switch_port": "GigabitEthernet1/1"
}
],
"items": [
{
"id": 1,
"name": "example"
}
]
}
Примеры ошибок
{
"code": -1,
"message": "[ERROR] error details"
}

net/mac_check1

Валидация записей port_flow для конкретного ID или всех доступных

HTTP-метод: POST

Параметры:

Параметр Обязательный Тип Описание
action ✅ string Идентификатор метода: mac_check1
id ❌ integer ID для проверки конкретной записи. Если 0 — проверка всех записей.
status ❌ integer Статус для фильтрации. По умолчанию -1.
skip ❌ integer Пропуск записей (пагинация). По умолчанию 0.
report ❌ integer Флаг генерации отчета о сбоях. По умолчанию -1.

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

curl -s "https://invapi.hostkey.ru/net.php" -X POST \
--data "action=mac_check1" \
--data "id=50" \
--data "status=-1" \
--data "skip=0" \
--data "report=-1"
Пример успешного ответа
{
"result": "OK",
"action": "mac_check1",
"data": [
"[ERROR] error message",
{
"id": 50,
"updated": "2024-01-01 10:00:00",
"location": "NL",
"mac": "00:1A:2B:3C:4D:5E",
"switch_location": "Rack A",
"switch_info": "Switch-01",
"switch_port": "GigabitEthernet0/1"
}
],
"items": [
{
"id": 1,
"name": "example"
}
]
}
Примеры ошибок
{
"code": -1,
"message": "invalid request"
}

net/mac_data

Возвращает информацию о серверах, привязанных к конкретному MAC-адресу, и историю flow.

HTTP-метод: POST

Параметры:

Параметр Обязательный Тип Описание
action ✅ string Идентификатор метода: mac_data
mac ✅ string MAC-адрес устройства.
token ✅ string API-токен аутентификации

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

curl -s "https://invapi.hostkey.ru/net.php" -X POST \
--data "action=mac_data" \
--data "mac=AA:BB:CC:DD:EE:FF" \
--data "token=HOSTKEY_TOKEN"
Пример успешного ответа
{
"result": "OK",
"server": [
{
"id": 10,
"short_location": "AMS-1"
}
],
"flow": []
}
Примеры ошибок
{
"code": -1,
"message": "invalid MAC AA:BB:CC:DD:EE:FF"
}

net/mac_data_list

Возвращает данные из БД и port_flow для списка предоставленных MAC-адресов

HTTP-метод: POST

Параметры:

Параметр Обязательный Тип Описание
action ✅ string Идентификатор метода: mac_data_list
mac_list ❌ array<string> Список MAC-адресов для получения данных
token ✅ string API-токен аутентификации

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

curl -s "https://invapi.hostkey.ru/net.php" -X POST \
--data "action=mac_data_list" \
--data "mac_list[]=00:1a:2b:3c:4d:5e" \
--data "mac_list[]=00:1a:2b:3c:4d:5f" \
--data "token=HOSTKEY_TOKEN"
Пример успешного ответа
{
"result": "OK",
"items": [
{
"id": 1,
"mac": "00:1a:2b:3c:4d:5e",
"server_name": "srv-01",
"short_location": "AMS-1"
}
],
"invalid": []
}
Примеры ошибок
{
"code": -1,
"message": "Permission denied"
}

net/mac_refresh

Запуск процесса сканирования всех сетей для обновления таблиц MAC и ARP через nmap.

HTTP-метод: POST

Параметры:

Параметр Обязательный Тип Описание
action ✅ string Идентификатор метода: mac_refresh
token ❌ string Уникальный идентификатор сессии или токен авторизации для выполнения запроса.

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

curl -s "https://invapi.hostkey.ru/net.php" -X POST \
--data "action=mac_refresh"
Пример успешного ответа
{
"result": "OK",
"action": "mac_refresh",
"data": "nmap -sn 192.168.1.0/24"
}
Примеры ошибок
{}

net/mount_nic

Монтирует сетевой интерфейс (NIC) на сервер через указанный коммутатор и порт.

HTTP-метод: POST

Параметры:

Параметр Обязательный Тип Описание
action ✅ string Идентификатор метода: mount_nic
token ✅ string Токен авторизации
id ✅ integer ID сервера.
switch_id ✅ integer ID коммутатора.
switch_port ✅ string Порт на коммутаторе.
port_id ✅ integer ID порта (NIC).

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

curl -s "https://invapi.hostkey.ru/net.php" -X POST \
--data "action=mount_nic" \
--data "token=HOSTKEY_TOKEN" \
--data "id=VALUE" \
--data "switch_id=VALUE" \
--data "switch_port=VALUE" \
--data "port_id=VALUE"
Пример успешного ответа
{
"result": "OK"
}
Примеры ошибок
{
"code": -1,
"message": "invalid request"
}

net/nmap

Запускает сетевое сканирование (NMAP) для указанного IP-адреса, принадлежащего серверу.

HTTP-метод: POST

Параметры:

Параметр Обязательный Тип Описание
action ✅ string Идентификатор метода: nmap
token ✅ string Токен авторизации
id ✅ integer ID сервера для выполнения сканирования
ip ✅ string IP-адрес для сканирования. Должен принадлежать серверу.

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

curl -s "https://invapi.hostkey.ru/net.php" -X POST \
--data "action=nmap" \
--data "token=HOSTKEY_TOKEN" \
--data "id=VALUE" \
--data "ip=VALUE"
Пример успешного ответа
{
"result": "OK",
"action": "nmap",
"callback": "7bc29eb23fb1b879b21fce509597f07c"
}
Примеры ошибок
{
"code": -1,
"message": "failed to send NMAP request"
}

net/port_flow

Возвращает таблицу потоков портов (port flow) с применением фильтров.

HTTP-метод: POST

Параметры:

Параметр Обязательный Тип Описание
action ✅ string Идентификатор метода: port_flow
mac ❌ string Фильтр по MAC-адресу.
status ❌ integer Статус записи. По умолчанию -1.
switch_id ❌ integer ID коммутатора.
switch_port ❌ string Порт коммутатора.
skip ❌ integer Пропуск записей (offset). По умолчанию 0.
token ✅ string API-токен аутентификации

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

curl -s "https://invapi.hostkey.ru/net.php" -X POST \
--data "action=port_flow" \
--data "token=HOSTKEY_TOKEN"
Пример успешного ответа
{
"result": "OK",
"action": "port_flow",
"flow": [
{
"id": 1,
"mac": "00:11:22:33:44:55",
"location": "NL"
}
]
}
Примеры ошибок
{
"code": -1,
"message": "failed to retrive port flow data: error message"
}

net/port_of_virt_node

Добавляет или удаляет тег 'port_of_virt_node' для указанного сервера.

HTTP-метод: POST

Параметры:

Параметр Обязательный Тип Описание
action ✅ string Идентификатор метода: port_of_virt_node
id ✅ integer ID сервера.
port_of_virt_node ❌ integer Значение флага (1 - добавить тег, 0 - удалить). По умолчанию -1.
token ✅ string API-токен аутентификации

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

curl -s "https://invapi.hostkey.ru/net.php" -X POST \
--data "action=port_of_virt_node" \
--data "id=123" \
--data "port_of_virt_node=1" \
--data "token=YOUR_TOKEN"
Пример успешного ответа
{
"result": "OK",
"action": "port_of_virt_node",
"aaa": 1
}
Примеры ошибок
{
"code": -1,
"message": "invalid request, no id in request"
}

net/port_off

Отключает сетевой порт сервера.

HTTP-метод: POST

Параметры:

Параметр Обязательный Тип Описание
action ✅ string Идентификатор метода: port_off
token ✅ string Токен авторизации
id ✅ integer ID сервера
port ❌ string Имя порта (например, eth0)
vlan ❌ string VLAN ID
speed ❌ string Скорость порта
port_security ❌ integer Настройки безопасности порта. По умолчанию -1.
trunc ❌ string Параметр транка (trunking)
status ❌ integer Статус порта. По умолчанию -1.
duplex ❌ string Режим дуплекса
block_reason ❌ string Причина блокировки порта для добавления тега администратора.
reason ❌ string Причина отключения порта для записи в историю и теги.
port_virt_node ❌ string Идентификатор виртуального узла порта.

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

curl -s "https://invapi.hostkey.ru/net.php" -X POST \
--data "action=port_off" \
--data "token=YOUR_TOKEN" \
--data "id=12345" \
--data "port=eth0"
Пример успешного ответа
{
"result": "OK",
"action": "port_off",
"callback": "7bc29eb23fb1b879b21fce509597f07c"
}
Примеры ошибок
{
"code": -1,
"message": "failed to send command"
}

net/port_on

Включает сетевой порт сервера и снимает блокировки (tags).

HTTP-метод: POST

Параметры:

Параметр Обязательный Тип Описание
action ✅ string Идентификатор метода: port_on
token ✅ string Токен авторизации
id ✅ integer ID сервера
port ❌ string Имя порта (например, eth0)
vlan ❌ string Идентификатор или номер виртуальной локальной сети (VLAN).
speed ❌ string Установленная скорость передачи данных на сетевом интерфейсе.
trunc ❌ string Параметр обрезки (truncation) для настройки сетевого трафика.
port_security ❌ integer Настройка безопасности порта для ограничения доступа по MAC-адресам.
status ❌ string Текущий статус сетевого интерфейса или целевое состояние порта.
reason ❌ string Причина блокировки или изменения состояния сетевого порта.
duplex ❌ string Режим дуплекса для управления сетевым соединением.
port_virt_node ❌ string Идентификатор виртуального узла для настройки порта.

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

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

net/port_reset

Сбрасывает конфигурацию сетевого порта сервера (VLAN, скорость и др.) на значения по умолчанию.

HTTP-метод: POST

Параметры:

Параметр Обязательный Тип Описание
action ✅ string Идентификатор метода: port_reset
token ✅ string Токен авторизации
id ✅ integer ID сервера
port ❌ string Имя порта (например, eth0)
vlan ❌ string VLAN ID
speed ❌ string Скорость порта
port_security ❌ integer Настройки безопасности порта. Допустимые значения: -1.
trunc ❌ string Параметр обрезки (truncation)
status ❌ integer Статус порта. Допустимые значения: -1.
duplex ❌ string Режим дуплекса
nic_id ❌ integer ID сетевого интерфейса (вычисляется автоматически)
port_virt_node ❌ string Виртуальный узел порта
reason ❌ string Причина блокировки порта или сброса настроек сетевого интерфейса.

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

curl -s "https://invapi.hostkey.ru/net.php" -X POST \
--data "action=port_reset" \
--data "token=YOUR_TOKEN" \
--data "id=12345" \
--data "port=eth0"
Пример успешного ответа
{
"result": "OK",
"action": "port_reset",
"data": {}
}
Примеры ошибок
{
"code": -1,
"message": "Ошибка выполнения команды управления портом"
}

net/relocate_nics

Переносит все сетевые интерфейсы с одного сервера на другой.

HTTP-метод: POST

Параметры:

action ✅ string Идентификатор метода: relocate_nics
token ✅ string Токен авторизации
id ✅ integer ID сервера-источника (Source)
new_id ✅ integer ID сервера-цели (Target)
confirm_region ❌ boolean Подтверждение региона переноса.

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

curl -s "https://invapi.hostkey.ru/net.php" -X POST \
--data "action=relocate_nics" \
--data "token=HOSTKEY_TOKEN" \
--data "id=123" \
--data "new_id=456" \
--data "confirm_region=true"
Пример успешного ответа
{
"result": "OK",
"action": "relocate_nics"
}
Примеры ошибок
{
"code": -1,
"message": "Ошибка при переносе интерфейсов"
}

net/remove_ipv4

Удаляет конкретный или все IPv4 адреса с сервера.

HTTP-метод: POST

Параметры:

Параметр Обязательный Тип Описание
action ✅ string Идентификатор метода: remove_ipv4
token ✅ string Токен авторизации
id ✅ integer ID сервера
ip ✅ string IP-адрес для удаления.
remove_all ❌ integer Удалить все адреса (0 - нет, 1 - да). По умолчанию 0.

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

curl -s "https://invapi.hostkey.ru/net.php" -X POST \
--data "action=remove_ipv4" \
--data "token=HOSTKEY_TOKEN" \
--data "id=123" \
--data "ip=192.168.1.10"
Пример успешного ответа
{
"result": "OK",
"action": "remove_ipv4",
"id": 123,
"ips": [
"192.168.1.10"
],
"keys": [
12345
]
}
Примеры ошибок
{
"code": -1,
"message": "No IP specificed"
}

net/remove_selected_ipv4

Удаляет список указанных IPv4 адресов с сервера.

HTTP-метод: POST

Параметры:

Параметр Обязательный Тип Описание
action ✅ string Идентификатор метода: remove_selected_ipv4
token ✅ string Токен авторизации
id ✅ integer ID сервера для выполнения операции удаления
ips ✅ array<string> Список IPv4 адресов для удаления. Принимает несколько значений: ips[]=1.1.1.1&ips[]=2.2.2.2

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

curl -s "https://invapi.hostkey.ru/net.php" -X POST \
--data "action=remove_selected_ipv4" \
--data "token=HOSTKEY_TOKEN" \
--data "id=123" \
--data "ips[]=1.1.1.1" \
--data "ips[]=2.2.2.2"
Пример успешного ответа
{
"result": "OK",
"module": "net",
"action": "remove_selected_ipv4",
"data": [
"192.168.1.10",
"192.168.1.11"
],
"keys": [
1,
2
],
"errors": []
}
Примеры ошибок
{
"code": -1,
"message": "Ошибка при удалении IP-адресов"
}

net/remove_shape_port

Удаляет ограничения полосы пропускания (shaping) с сетевого порта.

HTTP-метод: POST

Параметры:

action ✅ string Идентификатор метода: remove_shape_port
token ✅ string Токен авторизации
id ✅ integer ID сервера
port ❌ string Имя порта (например, eth0)
vlan ❌ integer ID VLAN для настройки интерфейса
speed ❌ string Скорость передачи данных
port_security ❌ boolean Параметр безопасности порта
trunc ❌ boolean Флаг обрезки (truncation)
status ❌ string Статус порта
duplex ❌ string Режим дуплекса
reason ❌ string Причина блокировки или ограничения работы сетевого порта.
port_virt_node ❌ string Идентификатор виртуального узла для настройки сетевого интерфейса.

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

curl -s "https://invapi.hostkey.ru/net.php" -X POST \
--data "action=remove_shape_port" \
--data "token=HOSTKEY_TOKEN" \
--data "id=VALUE"
Пример успешного ответа
{
"result": "OK",
"action": "remove_shape_port",
"data": {}
}
Примеры ошибок
{
"code": -1,
"message": "Ошибка при удалении шейпинга"
}

net/reset_interface_vlan

Сбрасывает настройки VLAN сетевого интерфейса сервера до настроек по умолчанию.

HTTP-метод: POST

Параметры:

Параметр Обязательный Тип Описание
action ✅ string Идентификатор метода: reset_interface_vlan
token ✅ string Токен авторизации
id ✅ integer ID сервера
port_id ❌ integer Идентификатор конкретного сетевого порта для сброса настроек VLAN

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

curl -s "https://invapi.hostkey.ru/net.php" -X POST \
--data "action=reset_interface_vlan" \
--data "token=HOSTKEY_TOKEN" \
--data "id=12345"
Пример успешного ответа
{
"result": "OK",
"action": "reset_interface_vlan"
}
Примеры ошибок
{
"code": -1,
"message": "Reset LAN settings is not supported for openstack servers"
}

net/set_acl

Устанавливает списки контроля доступа (ACL) для сетевого порта.

HTTP-метод: POST

Параметры:

Параметр Обязательный Тип Описание
action ✅ string Идентификатор метода: set_acl
token ✅ string Токен авторизации
id ✅ integer ID сервера
port ❌ string Имя порта (например, eth0)
vlan ❌ string ID VLAN для настройки интерфейса
speed ❌ string Скорость передачи данных
port_security ❌ boolean Настройка безопасности порта (MAC limit)
trunc ❌ boolean Параметр обрезки тегов VLAN
status ❌ string Статус порта
duplex ❌ string Режим дуплекса
reason ❌ string Причина блокировки или ограничения доступа к сетевому интерфейсу.
port_virt_node ❌ string Идентификатор виртуального узла порта для управления сетевыми настройками.

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

curl -s "https://invapi.hostkey.ru/net.php" -X POST \
--data "action=set_acl" \
--data "token=HOSTKEY_TOKEN" \
--data "id=12345" \
--data "port=eth0"
Пример успешного ответа
{
"result": "OK",
"action": "set_acl",
"data": {}
}
Примеры ошибок
{
"code": -1,
"message": "Ошибка при установке ACL"
}

net/set_bandwidth

Устанавливает ограничение полосы пропускания (bandwidth) для сетевого интерфейса.

HTTP-метод: POST

Параметры:

Параметр Обязательный Тип Описание
action ✅ string Идентификатор метода: set_bandwidth
token ✅ string Токен авторизации
id ✅ integer ID сервера
port ❌ string Имя порта (например, eth0)
vlan ❌ string ID VLAN для интерфейса
speed ❌ string Целевая скорость интерфейса
port_security ❌ string Настройка безопасности порта
trunc ❌ string Параметр обрезки (truncation)
status ❌ string Статус порта
duplex ❌ string Режим дуплекса
reason ❌ string Причина блокировки или ограничения сетевого трафика.
port_virt_node ❌ string Идентификатор виртуального узла порта для настройки пропускной способности.

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

curl -s "https://invapi.hostkey.ru/net.php" -X POST \
--data "action=set_bandwidth" \
--data "token=HOSTKEY_TOKEN" \
--data "id=12345" \
--data "port=eth0" \
--data "speed=1000Mbps"
Пример успешного ответа
{
"result": "OK",
"action": "set_bandwidth",
"data": {}
}
Примеры ошибок
{
"code": -1,
"message": "no IP assigned for server [id] or invalid server id"
}

net/set_nic_type

Устанавливает тип сетевого адаптера (NIC) для порта сервера.

HTTP-метод: POST

Параметры:

action ✅ string Идентификатор метода: set_nic_type
token ✅ string Токен авторизации
id ✅ integer ID сервера
port_id ✅ integer ID порта (NIC ID)
nic_type ✅ string Тип сетевого адаптера.

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

curl -s "https://invapi.hostkey.ru/net.php" -X POST \
--data "action=set_nic_type" \
--data "token=HOSTKEY_TOKEN" \
--data "id=VALUE" \
--data "port_id=VALUE" \
--data "nic_type=VALUE"
Пример успешного ответа
{
"result": "OK",
"action": "set_nic_type",
"data": {}
}
Примеры ошибок
{
"code": -1,
"message": "$module/set_nic_type: invalid server or port id"
}

net/set_port

Настройка параметров сетевого порта (скорость, VLAN, безопасность и др.) на сервере.

HTTP-метод: POST

Параметры:

Параметр Обязательный Тип Описание
action ✅ string Идентификатор метода: set_port
token ✅ string Токен авторизации
id ✅ integer ID сервера
port ❌ string Обозначение порта (например, eth0)
vlan ❌ string ID VLAN
speed ❌ string Скорость порта
port_security ❌ integer Настройки безопасности порта. По умолчанию -1.
trunc ❌ string Параметр обрезки (truncation)
status ❌ integer Статус порта. По умолчанию -1.
duplex ❌ string Режим дуплекса
block_reason ❌ string Причина блокировки порта (используется при action port_off)
reason ❌ string Причина блокировки порта или изменения его состояния.
port_virt_node ❌ string Идентификатор виртуального узла для сетевого интерфейса.

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

curl -s "https://invapi.hostkey.ru/net.php" -X POST \
--data "action=set_port" \
--data "token=HOSTKEY_TOKEN" \
--data "id=123" \
--data "port=eth0" \
--data "vlan=100" \
--data "speed=1000" \
--data "status=1"
Пример успешного ответа
{
"result": "OK",
"action": "set_port",
"id": 123,
"port": "eth0",
"mac": "00:1A:4B:3C:5D:6E",
"main_interface": 1,
"virtual_interface": 0,
"description": "Configured port",
"nic_uplink": "123"
}
Примеры ошибок
{
"code": -1,
"message": "failed to add/update NIC data for server 123: error message"
}

net/set_port_security

Управление ограничением MAC-адресов на порту.

HTTP-метод: POST

Параметры:

action ✅ string Идентификатор метода: set_port_security
token ✅ string Токен авторизации
id ✅ integer ID сервера
port ❌ string Обозначение порта (например, eth0)
vlan ❌ integer Идентификатор VLAN для интерфейса
speed ❌ string Скорость передачи данных порта
port_security ❌ integer Настройки безопасности порта.
trunc ❌ boolean Флаг обрезки (truncation)
status ❌ string Статус порта
duplex ❌ string Режим дуплекса
reason ❌ string Причина блокировки порта или ограничения сетевого трафика.
port_virt_node ❌ string Идентификатор виртуального узла для настройки безопасности порта.

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

curl -s "https://invapi.hostkey.ru/net.php" -X POST \
--data "action=set_port_security" \
--data "token=HOSTKEY_TOKEN" \
--data "id=123" \
--data "port=eth0"
Пример успешного ответа
{
"result": "OK",
"action": "set_port_security",
"id": 123,
"port": "eth0"
}
Примеры ошибок
{
"code": -1,
"message": "failed to add/update NIC data for server 123: error message"
}

net/set_vlan

Установка или изменение VLAN для порта сервера.

HTTP-метод: POST

Параметры:

Параметр Обязательный Тип Описание
action ✅ string Идентификатор метода: set_vlan
token ✅ string Токен авторизации
id ✅ integer ID сервера
port ❌ string Обозначение порта (например, eth0)
vlan ❌ string ID VLAN
speed ❌ string Скорость порта
port_security ❌ string Настройки безопасности порта
trunc ❌ string Параметр трассировки/обрезки
status ❌ string Статус порта
duplex ❌ string Режим дуплекса
reason ❌ string Причина блокировки или изменения состояния сетевого интерфейса.
port_virt_node ❌ string Идентификатор виртуального узла порта для настройки сетевых параметров.

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

curl -s "https://invapi.hostkey.ru/net.php" -X POST \
--data "action=set_vlan" \
--data "token=HOSTKEY_TOKEN" \
--data "id=123" \
--data "port=eth0" \
--data "vlan=100"
Пример успешного ответа
{
"result": "OK",
"action": "set_vlan",
"id": 123,
"port": "eth0"
}
Примеры ошибок
{
"code": -1,
"message": "failed to add/update NIC data for server 123: error message"
}

net/shape_net

Настройка ограничения трафика (shaping) для сети.

HTTP-метод: POST

Параметры:

Параметр Обязательный Тип Описание
action ✅ string Идентификатор метода: shape_net
token ✅ string Токен авторизации
id ✅ integer ID сервера
port ❌ string Обозначение порта (например, eth0)
vlan ❌ string ID VLAN (определяется автоматически из IP)
speed ❌ string Скорость передачи данных
port_security ❌ boolean Настройка безопасности порта
trunc ❌ boolean Параметр обрезания (truncation)
status ❌ string Статус порта
duplex ❌ string Режим дуплекса
reason ❌ string Причина блокировки или ограничения сетевого интерфейса.
port_virt_node ❌ string Идентификатор виртуального узла для настройки порта.

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

curl -s "https://invapi.hostkey.ru/net.php" -X POST \
--data "action=shape_net" \
--data "token=HOSTKEY_TOKEN" \
--data "id=123" \
--data "port=eth0"
Пример успешного ответа
{
"result": "OK",
"action": "shape_net",
"id": 123,
"port": "eth0"
}
Примеры ошибок
{
"code": -1,
"message": "no IP assigned for server 123 or invalid server id"
}

net/shape_port

Настройка ограничения трафика для конкретного порта.

HTTP-метод: POST

Параметры:

Параметр Обязательный Тип Описание
action ✅ string Идентификатор метода: shape_port
token ✅ string Токен авторизации
id ✅ integer ID сервера
port ❌ string Обозначение порта (например, eth0)
vlan ❌ string Идентификатор VLAN для интерфейса
speed ❌ string Скорость передачи данных
port_security ❌ boolean Параметр безопасности порта
trunc ❌ boolean Флаг обрезки трафика
status ❌ string Статус порта
duplex ❌ string Режим дуплекса
reason ❌ string Причина блокировки порта или ограничения трафика.
port_virt_node ❌ string Идентификатор виртуального узла для настройки сетевого интерфейса.

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

curl -s "https://invapi.hostkey.ru/net.php" -X POST \
--data "action=shape_port" \
--data "token=HOSTKEY_TOKEN" \
--data "id=123" \
--data "port=eth0"
Пример успешного ответа
{
"result": "OK",
"action": "shape_port",
"id": 123,
"port": "eth0"
}
Примеры ошибок
{
"code": -1,
"message": "failed to add/update NIC data for server 123: error message"
}

net/show_cacti

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

HTTP-метод: POST

Параметры:

Параметр Обязательный Тип Описание
action ✅ string Идентификатор метода: show_cacti
token ✅ string Токен авторизации
id ✅ integer ID сервера
port ❌ string Имя порта (например, eth0)
graph ❌ integer ID графика. По умолчанию 1.

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

curl -s "https://invapi.hostkey.ru/net.php" -X POST \
--data "action=show_cacti" \
--data "token=HOSTKEY_TOKEN" \
--data "id=123" \
--data "port=eth0" \
--data "graph=1"
Пример успешного ответа
{
"result": "OK",
"action": "show_cacti"
}
Примеры ошибок
{
"code": -1,
"message": "invalid request"
}

net/show_ipv4_free

Возвращает список доступных IPv4 адресов для сервера в указанном VLAN.

HTTP-метод: GET

Параметры:

Параметр Обязательный Тип Описание
action ✅ string Идентификатор метода: show_ipv4_free
token ✅ string Токен авторизации
id ✅ integer ID сервера
port ❌ string Обозначение порта (например, eth0)
ip ❌ string Фильтр по IP-адресу
vlan ❌ integer ID VLAN (если не определен автоматически)
tag ❌ string Тег для поиска в подсетях. Допустимые значения: %
show_all ❌ integer Показывать все доступные адреса (только для admin)
amount ❌ integer Количество запрашиваемых свободных IPv4 адресов.
fresh_period ❌ string Период актуальности данных для проверки доступности IP-адресов.

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

curl -s "https://invapi.hostkey.ru/net.php" -X GET \
--data "action=show_ipv4_free" \
--data "token=HOSTKEY_TOKEN" \
--data "id=123"
Пример успешного ответа
{
"result": "OK",
"action": "show_ipv4_free",
"id": 123,
"ips": [
{
"ip": "192.168.1.10",
"vlan": 100
},
{
"ip": "192.168.1.11",
"vlan": 100
}
],
"subnets": [],
"res": {},
"total_ips": 2,
"fresh": -1
}
Примеры ошибок
{
"code": -1,
"message": "can't find approppriate free IP (vlan: 100 tag: bm at DC-LOCATION)"
}

net/sync_cacti

Синхронизирует данные порта с системой мониторинга Cacti.

HTTP-метод: GET

Параметры:

Параметр Обязательный Тип Описание
action ✅ string Идентификатор метода: sync_cacti
token ✅ string Токен авторизации
id ✅ integer ID сервера
port_data ❌ string JSON-строка с данными портов для создания (опционально)

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

curl -s "https://invapi.hostkey.ru/net.php" -X GET \
--data "action=sync_cacti" \
--data "token=HOSTKEY_TOKEN" \
--data "id=VALUE"
Пример успешного ответа
{
"result": "OK",
"data": [
{
"port": "eth0",
"status": "up"
}
]
}
Примеры ошибок
{
"code": -1,
"message": "invalid request"
}

net/unblock_ip

Снимает блокировку с указанного IP-адреса.

HTTP-метод: POST

Параметры:

Параметр Обязательный Тип Описание
action ✅ string Идентификатор метода: unblock_ip
token ✅ string Токен авторизации
id ❌ integer ID сервера для выполнения операции разблокировки.
ip ✅ string IP-адрес для разблокировки.
description ❌ string Текстовое описание или причина блокировки IP-адреса.
four_hours ❌ integer Флаг установки временного ограничения на блокировку в течение четырех часов.

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

curl -s "https://invapi.hostkey.ru/net.php" -X POST \
--data "action=unblock_ip" \
--data "token=HOSTKEY_TOKEN" \
--data "id=123" \
--data "ip=1.2.3.4" \
--data "description=Reason for unblocking" \
--data "four_hours=1"
Пример успешного ответа
{
"result": "OK",
"action": "unblock_ip",
"callback": "7bc29eb23fb1b879b21fce509597f07c"
}
Примеры ошибок
{
"code": -1,
"message": "failed to send BIRD management command"
}

net/unmount_nic

Выполняет размонтирование (unmount) сетевого интерфейса сервера с портом коммутатора.

HTTP-метод: POST

Параметры:

Параметр Обязательный Тип Описание
action ✅ string Идентификатор метода: unmount_nic
token ✅ string Токен авторизации
id ✅ integer ID сервера
switch_id ✅ integer ID коммутатора
switch_port ✅ string Порт коммутатора (нотация)
port_id ✅ integer ID порта интерфейса на сервере

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

curl -s "https://invapi.hostkey.ru/net.php" -X POST \
--data "action=unmount_nic" \
--data "token=HOSTKEY_TOKEN" \
--data "id=VALUE" \
--data "switch_id=VALUE" \
--data "switch_port=VALUE" \
--data "port_id=VALUE"
Пример успешного ответа
{
"result": "OK"
}
Примеры ошибок
{
"code": -1,
"message": "invalid request"
}
question_mark
Я могу вам чем-то помочь?
question_mark
ИИ Помощник ×