ip.php¶
Модуль управления IP-адресами и сетевой инфраструктурой: получение информации об IP, управление PTR-записями, отслеживание трафика, работа с подсетями и VLAN.
Методы API¶
| Метод | Действие | Описание |
|---|---|---|
get_client_ip | получение клиентского IP | Возвращает текущий IP-адрес клиента, совершившего запрос к API |
get_ip | получение информации об IP | Возвращает полную информацию о сетевых настройках конкретного IP-адреса (маска, сеть и т.д.) |
get_ptr | получение PTR-записи | Проверяет, принадлежит ли указанный IP-адрес серверу с заданным ID, и возвращает текущую PTR-запись для этого IP в указанной локации. |
get_traffic | получение трафика | Возвращает данные о входящем и исходящем трафике для указанного IP-адреса за выбранный период. Может возвращать как сводную информацию (summary), так и детальные временные метки. |
list_free_ip | получение списка свободных IP | Возвращает список неиспользуемых IP-адресов для указанной локации на основе тегов Route Reflector. Используется внутренними механизмами для предотвращения сканирования. |
set_main | установка основного IP для сервера | Устанавливает указанный IP-адрес в качестве основного (main) для сетевого интерфейса сервера. |
update_ptr | обновление PTR-записи | Обновляет обратную DNS-запись (PTR) для IP-адреса, принадлежащего серверу. Требуется проверка прав доступа и принадлежности IP серверу. |
ip/get_client_ip¶
Возвращает текущий IP-адрес клиента, совершившего запрос к API
HTTP-метод: GET
Параметры:
| Параметр | Обязательный | Тип | Описание |
|---|---|---|---|
| action | ✅ | string | Идентификатор метода: get_client_ip |
| token | ✅ | string | Токен авторизации |
Пример запроса
Примеры ошибок
``` { "code": -1, "message": "authentication required" }
```
ip/get_ip¶
Возвращает полную информацию о сетевых настройках конкретного IP-адреса (маска, сеть и т.д.)
HTTP-метод: POST
Параметры:
| Параметр | Обязательный | Тип | Описание |
|---|---|---|---|
| action | ✅ | string | Идентификатор метода: get_ip |
| token | ✅ | string | Токен авторизации |
| ip | ✅ | string | IP-адрес для получения информации |
Пример запроса
Пример успешного ответа
Примеры ошибок
``` { "code": -1, "message": "No data for the loopback address" }
```
ip/get_ptr¶
Проверяет, принадлежит ли указанный IP-адрес серверу с заданным ID, и возвращает текущую PTR-запись для этого IP в указанной локации.
HTTP-метод: POST|GET
Параметры:
| Параметр | Обязательный | Тип | Описание |
|---|---|---|---|
| action | ✅ | string | Имя действия (get_ptr) |
| token | ✅ | string | Токен авторизации |
| ip | ✅ | string | IP-адрес |
| id | ✅ | int | ID сервера |
| location | ❌ | string | Локация для проверки PTR |
Пример запроса
Примеры ошибок
``` { "code": -1, "message": "invalid request or IP not assigned to server" }
```
ip/get_traffic¶
Возвращает данные о входящем и исходящем трафике для указанного IP-адреса за выбранный период. Может возвращать как сводную информацию (summary), так и детальные временные метки.
HTTP-метод: POST
Параметры:
| Параметр | Обязательный | Тип | Описание |
|---|---|---|---|
| action | ✅ | string | Идентификатор метода: get_traffic |
| token | ✅ | string | Authentication token |
| ip | ✅ | string | IP address to report traffic for |
| period_start | ❌ | int | Start timestamp (default: current time - 86400) |
| period_stop | ❌ | int | End timestamp (default: current time) |
| summary | ❌ | int | 1 - return only summary {ip, in, out} in GB, 0 - all ticks with stamps for graphics |
| unbilled | ❌ | int | 1 - return only unbilled ticks, 0 - all ticks |
Пример запроса
Пример успешного ответа
Примеры ошибок
``` { "code": -1, "message": "no significant traffic detected for [ip] in the period [date] - [date]" }
```
ip/list_free_ip¶
Возвращает список неиспользуемых IP-адресов для указанной локации на основе тегов Route Reflector. Используется внутренними механизмами для предотвращения сканирования.
HTTP-метод: POST|GET
Параметры:
| Параметр | Обязательный | Тип | Описание |
|---|---|---|---|
| action | ✅ | string | Имя действия (list_free_ip) |
| token | ✅ | string | Токен авторизации |
| location | ❌ | string|int | Локация для поиска свободных IP |
| exclude_special | ❌ | int | Исключать специальные IP (0 или 1) |
Пример запроса
Примеры ошибок
``` { "code": -1, "message": "illegal IP subnet" }
```
ip/set_main¶
Устанавливает указанный IP-адрес в качестве основного (main) для сетевого интерфейса сервера.
HTTP-метод: POST
Параметры:
| Параметр | Обязательный | Тип | Описание |
|---|---|---|---|
| token | ✅ | string | Authentication token |
| ip | ✅ | string | IP address to set as main |
| id | ✅ | int | Server ID |
| main | ❌ | string | Main parameter (e.g., 1 for main IPv4) |
| description | ❌ | string | Description for the IP |
Пример запроса
Примеры ошибок
``` { "code": -1, "message": "invalid IP 1.2.3.4 for server 123" }
```
ip/update_ptr¶
Обновляет обратную DNS-запись (PTR) для IP-адреса, принадлежащего серверу. Требуется проверка прав доступа и принадлежности IP серверу.
HTTP-метод: POST
Параметры:
| Параметр | Обязательный | Тип | Описание |
|---|---|---|---|
| action | ✅ | string | Имя действия (update_ptr) |
| token | ✅ | string | Токен авторизации |
| id | ✅ | int | ID сервера |
| ip | ✅ | string | IP-адрес |
| ptr | ✅ | string | PTR запись (FQDN) |
| location | ❌ | string | Локация |
Пример запроса
Примеры ошибок
``` { "code": -1, "message": "IP 1.2.3.4 is not assigned for server id 5" }
```