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

nat.php

В этой статье

Модуль управления NAT: добавление и удаление статических правил, управление IP-адресами в режиме passthrough через Microtic

Методы API

Метод Действие Описание
add_nat_ip добавление IP для NAT Добавляет IP-адрес в список статического NAT проброса через MikroTik.
add_static_nat добавление статического NAT Добавляет статический NAT (passthrough) через MikroTik.
clear_static_nat очистка статического NAT Удаляет застрявшие правила статического NAT через внутренний IP.
drop_nat удаление записи NAT Удаляет запись о NAT из базы данных.
get_static_nat получение статического NAT Получает активные правила статического NAT проброса из MikroTik.
list_nat_ip список IP в NAT Возвращает список всех IP-адресов из статического NAT проброса.
release_nat_ip освобождение IP в NAT Освобождает IP-адрес из статического NAT проброса через MikroTik.
remove_static_nat удаление статического NAT Удаляет статический NAT passthrough через Microtic. Требуется проверка прав доступа для клиента.

nat/add_nat_ip

Добавляет IP-адрес в список статического NAT проброса через MikroTik.

HTTP-метод: POST

Параметры:

Параметр Обязательный Тип Описание
action ✅ string Идентификатор метода: add_nat_ip
token ✅ string Токен авторизации
ip ✅ string IP-адрес для добавления в список статического NAT проброса.

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

curl -s "https://invapi.hostkey.ru/nat.php" -X POST \
--data "action=add_nat_ip" \
--data "token=HOSTKEY_TOKEN" \
--data "ip=1.2.3.4"
Пример успешного ответа
{
"result": "OK"
}
Примеры ошибок
{
"code": -1,
"message": "NAT/add_nat_ip: no IP given"
}

nat/add_static_nat

Добавляет статический NAT (passthrough) через MikroTik.

HTTP-метод: POST

Параметры:

action ✅ string Идентификатор метода: add_static_nat
token ✅ string Токен авторизации
secured ❌ integer Флаг защищенного соединения. По умолчанию 0.
id ✅ integer Идентификатор сервера (ID)
ttl ❌ integer Время жизни записи в секундах. Максимальное значение 24.
ip_acl ❌ string IP-адрес или CIDR маска для правила NAT.

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

curl -s "https://invapi.hostkey.ru/nat.php" -X POST \
--data "action=add_static_nat" \
--data "token=HOSTKEY_TOKEN" \
--data "id=VALUE"
Пример успешного ответа
{
"result": "OK",
"white_ip": "1.2.3.4",
"callback": "7bc29eb23b879b21fce509597f07c"
}
Примеры ошибок
{
"code": -1,
"message": "NAT/add_static_nat: invalid server id"
}

nat/clear_static_nat

Удаляет застрявшие правила статического NAT через внутренний IP.

HTTP-метод: POST

Параметры:

Параметр Обязательный Тип Описание
action ✅ string Идентификатор метода: clear_static_nat
token ✅ string Токен авторизации
ip ❌ string Внутренний IP-адрес для очистки правила NAT
white_ip ❌ string Белый IP-адрес в контексте операции
rule ❌ string Правило NAT для удаления

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

curl -s "https://invapi.hostkey.ru/nat.php" -X POST \
--data "action=clear_static_nat" \
--data "token=HOSTKEY_TOKEN" \
--data "ip=192.168.1.10"
Пример успешного ответа
{
"result": "OK",
"action": "clear_static_nat",
"callback": "7bc29eb23b879b21fce509597f07c"
}
Примеры ошибок
{
"code": -1,
"message": "Clear_static_nat request failed: error_details"
}

nat/drop_nat

Удаляет запись о NAT из базы данных.

HTTP-метод: POST

Параметры:

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

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

curl -s "https://invapi.hostkey.ru/nat.php" -X POST \
--data "action=drop_nat" \
--data "token=HOSTKEY_TOKEN" \
--data "ip=1.2.3.4"
Пример успешного ответа
{
"result": "OK",
"action": "drop_nat"
}
Примеры ошибок
{
"code": -1,
"message": "nat_drop_ip for 1.2.3.4 request failed"
}

nat/get_static_nat

Получает активные правила статического NAT проброса из MikroTik.

HTTP-метод: POST

Параметры:

action ✅ string Идентификатор метода: get_static_nat
token ✅ string Токен авторизации
location ❌ string Географическое положение или регион обработки сетевых правил.
nat_cleanup ❌ integer Идентификатор для очистки старых записей NAT при выполнении запроса.

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

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

nat/list_nat_ip

Возвращает список всех IP-адресов из статического NAT проброса.

HTTP-метод: POST

Параметры:

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

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

curl -s "https://invapi.hostkey.ru/nat.php" -X POST \
--data "action=list_nat_ip" \
--data "token=HOSTKEY_TOKEN"
Пример успешного ответа
{
"result": "OK",
"ip": [
"1.2.3.4",
"5.6.7.8"
]
}
Примеры ошибок
{
"code": -1,
"message": "list_nat_ip request failed"
}

nat/release_nat_ip

Освобождает IP-адрес из статического NAT проброса через MikroTik.

HTTP-метод: POST

Параметры:

action ✅ string Идентификатор метода: release_nat_ip
token ✅ string Токен авторизации
ip ✅ string IP-адрес для освобождения из статического NAT проброса.

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

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

nat/remove_static_nat

Удаляет статический NAT passthrough через Microtic. Требуется проверка прав доступа для клиента.

HTTP-метод: POST

Параметры:

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

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

curl -s "https://invapi.hostkey.ru/nat.php" -X POST \
--data "action=remove_static_nat" \
--data "token=HOSTKEY_TOKEN" \
--data "id=VALUE" \
--data "white_ip=1.2.3.4"
Пример успешного ответа
{
"result": "OK",
"action": "remove_static_nat",
"callback": "7bc29eb23b879b21fce509597f07c"
}
Примеры ошибок
{
"code": -1,
"message": "Remove_static_nat request failed: error_details",
"error": "string"
}
question_mark
Я могу вам чем-то помочь?
question_mark
ИИ Помощник ×