ip.php¶
Модуль управления IP-адресами и сетевой инфраструктурой: получение информации об IP, управление PTR-записями, отслеживание трафика, работа с подсетями и VLAN.
Методы API¶
| Метод | Действие | Описание |
|---|---|---|
get_client_ip | получение клиентского IP | Возвращает текущий IP-адрес клиента, совершившего запрос к API |
get_ip | получение информации об IP | Возвращает полную информацию о сетевых настройках конкретного IP-адреса (маска, сеть и т.д.) |
get_ptr | получение PTR записи | Проверяет, принадлежит ли IP-адрес серверу, и возвращает текущую PTR запись для данного IP в указанной локации. |
get_traffic | получение трафика | Возвращает данные о входящем и исходящем трафике для указанного IP-адреса за выбранный период. Может возвращать как сводную информацию (summary), так и детальные временные метки. |
list_free_ip | получение списка свободных IP | Возвращает список неиспользуемых IP-адресов для конкретной локации на основе тегов Route Reflector. Для клиентов доступно только в рамках их собственных подсетей. |
set_main | установка основного IP для сервера | Устанавливает указанный IP-адрес в качестве основного (main) для сетевого интерфейса сервера. |
update_ptr | обновление PTR-записи для IP | Обновляет обратную DNS-запись (PTR) для указанного IP-адреса, при условии, что данный IP закреплен за сервером с заданным ID. |
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": "malformed IP=127.0.0.1 for token 12345" }
```
ip/get_ptr¶
Проверяет, принадлежит ли IP-адрес серверу, и возвращает текущую PTR запись для данного IP в указанной локации.
HTTP-метод: POST
Параметры:
| Параметр | Обязательный | Тип | Описание |
|---|---|---|---|
| action | ✅ | string | Идентификатор метода: get_ptr |
| token | ✅ | string | Токен авторизации |
| id | ✅ | int | ID сервера (должен быть > 0) |
| ip | ✅ | string | IP-адрес для проверки PTR записи |
| location | ❌ | string | Локация (используется в pdns_get_ptr) |
Пример запроса
Примеры ошибок
``` { "code": -1, "message": "invalid request" }
```
ip/get_traffic¶
Возвращает данные о входящем и исходящем трафике для указанного IP-адреса за выбранный период. Может возвращать как сводную информацию (summary), так и детальные временные метки.
HTTP-метод: POST
Параметры:
| Параметр | Обязательный | Тип | Описание |
|---|---|---|---|
| token | ✅ | string | Authentication token |
| ip | ✅ | string | IP to report |
| 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 |
| 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 | Токен авторизации |
| exclude_special | ❌ | int | Исключать специальные адреса (0 или 1) |
| location | ✅ | string | Локация для поиска свободных IP |
Пример запроса
Примеры ошибок
``` { "code": -1, "message": "illegal IP subnet" }
```
ip/set_main¶
Устанавливает указанный IP-адрес в качестве основного (main) для сетевого интерфейса сервера.
HTTP-метод: POST
Параметры:
| Параметр | Обязательный | Тип | Описание |
|---|---|---|---|
| action | ✅ | string | Идентификатор метода: set_main |
| token | ✅ | string | Токен авторизации |
| id | ✅ | int | ID сервера |
| ip | ✅ | string | IP-адрес |
| main | ❌ | int | Флаг основного IP (0 или 1) |
| description | ❌ | string | Описание |
Пример запроса
Примеры ошибок
``` { "code": -1, "message": "invalid IP $ip for server $id" }
```
ip/update_ptr¶
Обновляет обратную DNS-запись (PTR) для указанного IP-адреса, при условии, что данный IP закреплен за сервером с заданным ID.
HTTP-метод: POST
Параметры:
| Параметр | Обязательный | Тип | Описание |
|---|---|---|---|
| token | ✅ | string | Токен авторизации |
| id | ✅ | int | ID сервера |
| ip | ✅ | string | IP-адрес |
| ptr | ✅ | string | Значение PTR-записи |
| location | ❌ | string | Локация |
Пример запроса
Примеры ошибок
``` { "code": -1, "message": "IP 1.2.3.4 is not assigned for server id 5" }
```