Управление сетевыми интерфейсами
Last updated
Was this helpful?
Last updated
Was this helpful?
GET /network/connections
Ответ на успешный запрос:
{
"id": "integer",
"type": "lan",
"title": "string",
"enabled": "boolean",
"mac": "string",
"enable_dhcp": "boolean",
"addresses": [ "string" ],
"gateway": "null" | "string",
"dns": [ "string" ],
"vlan_tag": "null" | "integer",
"zone": "null" | "string",
"is_vce_vlan": "boolean",
"netflow_index": "integer"
}
id
- идентификатор интерфейса;
title
- название интерфейса, не может быть пустым;
enabled
- статус активности интерфейса:
true
- включен;
false
- выключен.
mac
- MAC-адрес сетевой карты или идентификатор агрегированного интерфейса. MAC-адрес в формате 11:22:33:44:55:66
, все буквы в нижнем регистре;
addresses
- список адресов в формате IP/prefix
. Может быть пустым, если включено получение адресов по DHCP;
gateway
- IP-адрес шлюза. Может быть null
, если включено получение адресов по DHCP;
dns
- список IP-адресов DNS. Может быть пустым независимо от флага включения DHCP;
vlan_tag
- тэг VLAN, число от 1 до 4095 (включительно). Может быть равен null
, если не назначен;
zone
- идентификатор зоны, к которой относится интерфейс. Может быть null
, если не назначен;
is_vce_vlan
- true
, если подключение создано на основе проброшенного в VCE VLAN;
netflow_index
- целое число от 0 до 65535, индекс сетевого подключения для .
GET /network/connections
Ответ на успешный запрос:
{
"id": "integer",
"type": "wan",
"title": "string",
"enabled": "boolean",
"mac": "string",
"enable_dhcp": "boolean",
"addresses": [ "string" ],
"gateway": "null" | "string",
"dns": [ "string" ],
"vlan_tag": "null" | "integer",
"zone": "null" | "string",
"is_vce_vlan": "boolean",
"netflow_index": "integer"
}
id
- идентификатор интерфейса;
title
- название интерфейса, не может быть пустым;
enabled
- статус активности интерфейса:
true
- включен;
false
- выключен.
mac
- MAC-адрес сетевой карты или идентификатор агрегированного интерфейса. MAC-адрес в формате 11:22:33:44:55:66
, все буквы в нижнем регистре;
enable_dhcp
- получать ли адрес интерфейса и адрес шлюза от провайдера по DHCP;
addresses
- список адресов в формате IP/prefix
. Может быть пустым, если включено получение адресов по DHCP;
gateway
- IP-адрес шлюза. Может быть null
, если включено получение адресов по DHCP;
dns
- список IP-адресов DNS, может быть пустым независимо от флага включения DHCP;
vlan_tag
- тэг VLAN, число от 1 до 4095 (включительно), null
, если не назначен;
zone
- идентификатор зоны, к которой относится интерфейс. Может быть null
, если не назначен;
is_vce_vlan
- true
, если подключение создано на основе проброшенного в VCE VLAN;
netflow_index
- целое число от 0 до 65535, индекс сетевого подключения для .
Ответ на успешный запрос:
GET /network/connections
{
"id": "integer",
"type": "pptp",
"title": "string",
"enabled": "boolean",
"server": "string",
"login": "string",
"password": "string",
"mac": "string",
"enable_dhcp": "boolean",
"addresses": [ "string" ],
"gateway": "null" | "string",
"dns": [ "string" ],
"vlan_tag": "null" | "integer",
"zone": "null" | "string",
"is_vce_vlan": "boolean",
"netflow_index": "integer"
}
id
- идентификатор интерфейса;
title
- название интерфейса, не может быть пустым;
enabled
- статус активности интерфейса:
true
- включен;
false
- выключен.
server
- IP-адрес или доменное имя PPTP-сервера, к которому осуществляется подключение;
login
- логин на сервере PPTP, не может быть пустым;
password
- пароль на сервере PPTP, не может быть пустым;
mac
- MAC-адрес сетевой карты или идентификатор агрегированного интерфейса. MAC-адрес в формате 11:22:33:44:55:66
, все буквы в нижнем регистре;
enable_dhcp
- получать ли адрес интерфейса и адрес шлюза от провайдера по DHCP;
addresses
- список адресов в формате IP/prefix
. Может быть пустым, если включено получение адресов по DHCP;
gateway
- IP-адрес шлюза. Может быть null
, если включено получение адресов по DHCP или PPTP-сервер находится в той же подсети, что назначена на интерфейс;
dns
- список IP-адресов DNS, может быть пустым независимо от флага включения DHCP;
vlan_tag
- тэг VLAN, число от 1 до 4095 (включительно). Может быть null
если не назначен;
zone
- идентификатор зоны, к которой относится интерфейс. Может быть null
, если не назначен;
is_vce_vlan
- true
, если подключение создано на основе проброшенного в VCE VLAN;
netflow_index
- целое число от 0 до 65535, индекс сетевого подключения для .
GET /network/connections
Ответ на успешный запрос:
{
"id": "integer",
"type": "l2tp",
"title": "string",
"enabled": "boolean",
"server": "string",
"login": "string",
"password": "string",
"mac": "string",
"enable_dhcp": "boolean",
"addresses": [ "string" ],
"gateway": "null" | "string",
"dns": [ "string" ],
"vlan_tag": "null" | "integer",
"zone": "null" | "string",
"is_vce_vlan": "boolean",
"netflow_index": "integer"
}
id
- идентификатор интерфейса;
title
- название интерфейса, не может быть пустым;
enabled
- статус активности интерфейса:
true
- включен;
false
- выключен.
server
- IP-адрес или доменное имя L2TP-сервера, к которому осуществляется подключение;
login
- логин на сервере L2TP, не может быть пустым;
password
- пароль на сервере L2TP, не может быть пустым;
mac
- MAC-адрес сетевой карты или идентификатор агрегированного интерфейса. MAC-адрес в формате 11:22:33:44:55:66
, все буквы в нижнем регистре;
enable_dhcp
- получать ли адрес интерфейса и адрес шлюза от провайдера по DHCP;
addresses
- список адресов в формате IP/prefix
. Может быть пустым, если включено получение адресов по DHCP;
gateway
- IP-адрес шлюза. Может быть null
, если включено получение адресов по DHCP или L2TP-сервер находится в той же подсети, что назначена на интерфейс;
dns
- список IP-адресов DNS, может быть пустым независимо от флага включения DHCP;
vlan_tag
- тэг VLAN, число от 1 до 4095 (включительно), null
, если не назначен;
zone
- идентификатор зоны, к которой относится интерфейс. Может быть null
, если не назначен;
is_vce_vlan
- true
, если подключение создано на основе проброшенного в VCE VLAN;
netflow_index
- целое число от 0 до 65535, индекс сетевого подключения для .
GET /network/connections
Ответ на успешный запрос:
{
"id": "integer",
"type": "pppoe",
"title": "string",
"enabled": "boolean",
"login": "string",
"password": "string",
"service": "string",
"concentrator": "string",
"mac": "string",
"vlan_tag": "null" | "integer",
"zone": "null" | "string",
"is_vce_vlan": "boolean",
"netflow_index": "integer"
}
id
- идентификатор интерфейса;
title
- название интерфейса, не может быть пустым;
enabled
- статус активности интерфейса:
true
- включен;
false
- выключен.
login
- логин на сервере PPPoE, не может быть пустым;
password
- пароль на сервере PPPoE, не может быть пустым;
service
- название сервиса, может быть пустым;
concentrator
- название концентратора, может быть пустым;
mac
- MAC-адрес сетевой карты или идентификатор агрегированного интерфейса. MAC-адрес в формате 11:22:33:44:55:66
, все буквы в нижнем регистре;
vlan_tag
- тэг VLAN, число от 1 до 4095 (включительно), null
, если не назначен;
zone
- идентификатор зоны, к которой относится интерфейс. Может быть null
, если не назначен;
is_vce_vlan
- true
, если подключение создано на основе проброшенного в VCE VLAN;
GET /network/connections
Ответ на успешный запрос:
{
"mac": "string",
"osdevname": "string",
"addresses": [ "string" ],
"comment": "string",
"enabled": "boolean",
"is_vce_vlan": "boolean",
"netflow_index": "integer",
"title": "string",
"type": "loopback",
"vlan_tag": "integer",
"zone": "string",
"id": "integer"
}
mac
- MAC-адрес интерфейса. Для Loopback-интерфейса - null
;
osdevname
- название Loopback-интерфейса в операционной системе (например, Oloopback3
). Значение создается автоматически, является уникальным и доступно только для чтения;
addresses
- список адресов в формате IP/prefix
.
comment
- комментарий, может быть пустым. Максимальное количество символов - 256;
enabled
- статус активности интерфейса:
true
- включен;
false
- выключен.
is_vce_vlan
- признак подключения, созданного на основе проброшенного в VCE VLAN. Для Loopback-интерфейса - false
;
title
- название интерфейса, не может быть пустым;
type
- тип подключения;
vlan_tag
- тэг VLAN. Для Loopback-интерфейса - null
;
zone
- идентификатор зоны, к которой относится интерфейс. Для Loopback-интерфейса - null
;
id
- идентификатор интерфейса.
GET /network/states
Ответ на успешный запрос:
[
{
"id": "integer",
"zone": "null" | "string",
"type": "lan" | "wan" | "pptp" | "l2tp" | "pppoe" | "loopback",
"ether": {
"device": "null" | "string",
"vlan_tag": "null" | "integer",
"addresses": [ "string" ],
"gateway": "null" | "string",
"dns": [ "string" ],
"status": "down" | "going-up" | "up",
"errors": [ "string" ]
},
"ppp": {
"device": "null" | "string",
"remote_address": "null" | "string",
"local_address": "null" | "string",
"dns": [ "string" ],
"status": "down" | "going-up" | "up",
"errors": [ "string" ]
},
"summary": {
"device": "null" | "string",
"addresses": [ "string" ],
"dns": [ "string" ],
"gateway": "null" | "string",
"ifindex": "null" | "integer",
"scope": "kernel" | "vpp"
}
},
...
]
id
- идентификатор интерфейса;
zone
- идентификатор зоны, к которой относится интерфейс. Может быть null
, если не назначен. Для Loopback-интерфейса - null
;
type
- тип подключения;
ether
- состояние Ethernet или VLAN:
device
- название устройства в системе, например, Leth1
;
vlan_tag
- тэг VLAN, число от 1 до 4095 (включительно) или null
, если не назначен. Для Loopback-интерфейса - null
;
addresses
- список адресов, может быть пустым. Адреса в формате IP/prefix
;
gateway
- IP-адрес шлюза, может быть равен null
, если шлюза нет;
dns
- адреса DNS, выданные по DHCP или назначенные пользователем, может быть пустым;
status
- текущее состояние интерфейса:
down
- отключен;
going-up
- промежуточное состояние, когда интерфейс находится в процессе включения (например, после активации или перезагрузки);
up
- активен.
errors
- список ошибок.
ppp
- состояние РРР-подключения. Поле определено только для интерфейсов с полем type
равным pptp
| l2tp
| pppoe
, для всех остальных типов lan
| wan
| loopback
равно null
:
device
- название устройства в системе, например Eppp4
;
remote_address
- туннельный IP-адрес сервера;
local_address
- туннельный IP-адрес клиента (IP-адрес NGFW);
dns
- адреса DNS, выданные из PPP;
status
- текущее состояние интерфейса:
down
- отключен;
going-up
- промежуточное состояние, когда интерфейс находится в процессе включения (например, после активации или перезагрузки);
up
- активен.
errors
- список ошибок.
summary
- общее состояние подключение:
device
- итоговое активное устройство, например, Eppp4
или Eeth3
;
addresses
- список адресов интерфейса или подключения к провайдеру;
dns
- адреса DNS, пригодные к использованию для сервера DNS и других целей;
gateway
- IP-адрес шлюза, может быть равен null
, если шлюза нет;
ifindex
- числовой идентификатор интерфейса;
scope
- принадлежность интерфейса сетевому стеку: kernel - ядро.
POST /network/connections
LAN | WAN | PPTP | L2TP | PPPoE - без поля id
.
Loopback - без полей id
и osdevname
.
Ответ на успешный запрос:
{
"id": "number"
}
id
- идентификатор созданного интерфейса.
PATCH /network/connections/<id интерфейса>
Ответ на успешный запрос: 200 OK
DELETE /network/connections/<id интерфейса>
Ответ на успешный запрос: 200 OK
GET /network/aggregated
Ответ на успешный запрос:
[
{
"id": "string",
"enabled": "boolean",
"title": "string",
"comment": "string",
"nics": [ "string" ]
},
...
]
id
- идентификатор агрегированного интерфейса;
enabled
- статус активности интерфейса:
true
- включен;
false
- выключен.
title
- название, не может быть пустым;
comment
- комментарий, может быть пустым;
nics
- список MAC-адресов в формате 11:22:33:44:55:66
, все буквы в нижнем регистре, может быть пустым.
GET /network/aggregated_states
Ответ на успешный запрос:
[
{
"id": "string",
"link": "up" | "down"
},
...
]
id
- идентификатор агрегированного интерфейса;
link
- состояние соединения на агрегированном интерфейсе.
POST /network/aggregated
Json-тело запроса:
{
"enabled": "boolean",
"title": "string",
"comment": "string",
"nics": [ "string" ]
}
enabled
- статус активности интерфейса:
true
- включен;
false
- выключен.
title
- название, не может быть пустым;
comment
- комментарий, может быть пустым;
nics
- список MAC-адресов в формате 11:22:33:44:55:66
, все буквы в нижнем регистре, может быть пустым.
Ответ на успешный запрос:
{
"id": "string"
}
id
- идентификатор созданного агрегированного интерфейса.
PUT /network/aggregated/<id интерфейса>
Json-тело запроса:
{
"enabled": "boolean",
"title": "string",
"comment": "string",
"nics": [ "string" ]
}
enabled
- статус активности интерфейса:
true
- включен;
false
- выключен.
title
- название, не может быть пустым;
comment
- комментарий, может быть пустым;
nics
- список MAC-адресов в формате 11:22:33:44:55:66
, все буквы в нижнем регистре, может быть пустым.
Ответ на успешный запрос: 200 OK
DELETE /network/aggregated/<id интерфейса>
Ответ на успешный запрос: 200 OK
GET /network/tunnels
Ответ на успешный запрос:
[
{
"id": "string",
"title": "string",
"enabled": "boolean",
"comment": "string",
"addresses": [ "string" ],
"gateway": "null" | "string",
"parent_interface": "string",
"osdevname": "string",
"server": "string",
"zone": "null" | "string",
"netflow_index": "integer",
"local_ip": "null" | "string"
},
...
]
id
- идентификатор интерфейса, строка в формате UUID;
title
- название интерфейса, не может быть пустым, максимальная длина - 42 символа;
enabled
- статус активности интерфейса:
true
- включен;
false
- выключен.
comment
- комментарий, может быть пустым;
addresses
- список адресов в формате IP/prefix
;
gateway
- IP-адрес шлюза, может быть равен null
;
parent_interface
- алиас родительского интерфейса, его IP-адрес будет источником туннеля;
osdevname
- название существующего или планируемого сетевого интерфейса в ядре (например, Gre00000001
). Значение создается автоматически, является уникальным и доступно только для чтения;
server
- IP-адрес или доменное имя устройства, к которому осуществляется подключение;
zone
- идентификатор зоны, к которой относится интерфейс. Может быть null
, если не назначен;
local_ip
- IP-адрес родительского интерфейса запущенного туннеля.
GET /network/tunnel_states
Ответ на успешный запрос:
{
"id": "string",
"link": "up" | "down" | "inactive",
"local_ip": "string"
}
id
- идентификатор интерфейса;
link
- состояние туннельного интерфейса, inactive
при недоступности родительского интерфейса;
local_ip
- IP-адрес родительского интерфейса запущенного туннеля.
POST /network/tunnels
Json-тело запроса:
{
"title": "string",
"enabled": "boolean",
"comment": "string",
"addresses": [ "string" ],
"gateway": "null" | "string",
"parent_interface": "string",
"osdevname": "string",
"server": "string",
"zone": "null" | "string",
"netflow_index": "integer",
"local_ip": "null" | "string"
}
title
- название интерфейса, не может быть пустым, максимальная длина - 42 символа;
enabled
- статус активности интерфейса:
true
- включен;
false
- выключен.
comment
- комментарий, может быть пустым;
addresses
- список адресов в формате IP/prefix
;
gateway
- IP-адрес шлюза, может быть равен null
;
parent_interface
- алиас родительского интерфейса, его IP-адрес будет источником туннеля;
osdevname
- название существующего или планируемого сетевого интерфейса в ядре (например, Gre00000001
). Значение создается автоматически, является уникальным и доступно только для чтения;
server
- IP-адрес или доменное имя устройства, к которому осуществляется подключение;
zone
- идентификатор зоны, к которой относится интерфейс. Может быть null
, если не назначен;
local_ip
- IP-адрес родительского интерфейса запущенного туннеля. Если не задавать, берется с родительского интерфейса.
Важно: Для каждого родительского интерфейса все настроенные туннели должны иметь уникальные значения в поле server
.
Не допускается создание туннельных интерфейсов с повторяющимися значениями в полях parent_interface
и server
!
Ответ на успешный запрос:
{
"id": "string"
}
id
- идентификатор созданного туннельного интерфейса.
PUT /network/tunnels/<id интерфейса>
Json-тело запроса:
{
"title": "string",
"enabled": "boolean",
"comment": "string",
"addresses": [ "string" ],
"gateway": "null" | "string",
"parent_interface": "string",
"osdevname": "string",
"server": "string",
"zone": "null" | "string",
"netflow_index": "integer",
"local_ip": "null" | "string"
}
title
- название интерфейса, не может быть пустым, максимальная длина - 42 символа;
enabled
- статус активности интерфейса:
true
- включен;
false
- выключен.
comment
- комментарий, может быть пустым;
addresses
- список адресов в формате IP/prefix
;
gateway
- IP-адрес шлюза, может быть равен null
;
parent_interface
- алиас родительского интерфейса, его IP-адрес будет источником туннеля;
osdevname
- название существующего или планируемого сетевого интерфейса в ядре (например, Gre00000001
). Значение создается автоматически, является уникальным и доступно только для чтения;
server
- IP-адрес или доменное имя устройства, к которому осуществляется подключение;
zone
- идентификатор зоны, к которой относится интерфейс. Может быть null
, если не назначен;
local_ip
- IP-адрес родительского интерфейса запущенного туннеля. Если не задавать, берется с родительского интерфейса.
Ответ на успешный запрос: 200 OK
DELETE /network/tunnels/<id интерфейса>
Ответ на успешный запрос: 200 OK
GET /network/vce_conns
Ответ на успешный запрос:
[
{
"id": "string",
"title": "string",
"vce_id": "string",
"mac": "string",
"vlan_tag": "null" | "integer",
"comment": "string"
},
...
]
id
- идентификатор интерфейса;
title
- название интерфейса, не может быть пустым;
vce_id
- идентификатор VCE, для которого создан интерфейс;
mac
- MAC-адрес сетевой карты в формате 11:22:33:44:55:66
, все буквы в нижнем регистре;
vlan_tag
- тэг VLAN, число от 1 до 4095 (включительно). Может быть null
, если пробрасывается сетевой интерфейс целиком;
comment
- комментарий, может быть пустым.
Важно: Изменяемыми являются только поля title
и comment
.
POST /network/vce_conns
Json-тело запроса:
{
"title": "string",
"vce_id": "string",
"mac": "string",
"vlan_tag": "null" | "integer",
"comment": "string"
}
title
- название интерфейса, не может быть пустым;
vce_id
- идентификатор VCE, для которого создан интерфейс;
mac
- MAC-адрес сетевой карты в формате 11:22:33:44:55:66
, все буквы в нижнем регистре;
vlan_tag
- тэг VLAN, число от 1 до 4095 (включительно). Может быть null
, если пробрасывается сетевой интерфейс целиком;
comment
- комментарий, может быть пустым.
Ответ на успешный запрос:
{
"id": "string"
}
id
- идентификатор созданного интерфейса.
PATCH /network/vce_conns/<id интерфейса>
Json-тело запроса:
{
"title": "string",
"comment": "string"
}
title
- название интерфейса, не может быть пустым;
comment
- комментарий, может быть пустым.
Поля опциональны, можно передавать любое из них отдельно или оба сразу.
Ответ на успешный запрос: 200 OK
DELETE /network/vce_conns/<id интерфейса>
Ответ на успешный запрос: 200 ОК
GET /network/span
Ответ на успешный запрос:
[
{
"id": "string",
"title": "string",
"comment": "string",
"enabled": "boolean",
"mac": "string",
"monitor_interfaces": [ "string" ],
"direction": "string",
"osdevindex": "integer"
},
...
]
id
- идентификатор интерфейса (строка в формате UUID);
title
- название интерфейса, не может быть пустым;
comment
- комментарий. Может быть пустым.
enabled
- статус активности интерфейса:
true
- включен;
false
- выключен.
mac
- MAC-адрес сетевой карты;
monitor_interfaces
- список идентификаторов алиасов интерфейсов, трафик с которых надо зеркалировать. Допустимые типы алиасов: isp
, lan
, interface.vpn_traffic
;
direction
- тип трафика, который требуется дублировать на SPAN-интерфейс. Может принимать значения rx
- входящий, tx
- исходящий и both
- оба;
osdevindex
- суффикс (числовой индекс) названия существующего или планируемого сетевого интерфейса в ядре (например, число 43818 соответствует интерфейсу с системным именем Span43818
). Значение создается автоматически. Является уникальным и доступно только для чтения.
POST /network/span
Json-тело запроса:
{
"title": "string",
"comment": "string",
"enabled": "boolean",
"mac": "string",
"monitor_interfaces": [ "string" ],
"direction": "string"
}
title
- название интерфейса, не может быть пустым;
comment
- комментарий. Может быть пустым.
enabled
- статус активности интерфейса:
true
- включен;
false
- выключен.
mac
- MAC-адрес сетевой карты;
monitor_interfaces
- список идентификаторов алиасов интерфейсов, трафик с которых надо зеркалировать. Допустимые типы алиасов: isp
, lan
, ipsec
, ipsec_gre
, tunnel
;
direction
- тип трафика, который требуется дублировать на SPAN-интерфейс. Может принимать значения rx
- входящий, tx
- исходящий и both
- оба.
Ответ на успешный запрос:
{
"id": "string"
}
id
- идентификатор созданного SPAN-интерфейса.
PATCH /network/span/<id SPAN-интерфейса>
Json-тело запроса (любые поля интерфейса, кроме id и osdevindex):
{
"title": "string",
"comment": "string",
"enabled": "boolean",
"mac": "string",
"monitor_interfaces": [ "string" ],
"direction": "string"
}
title
- название интерфейса, не может быть пустым;
comment
- комментарий. Может быть пустым.
enabled
- статус активности интерфейса:
true
- включен;
false
- выключен.
mac
- MAC-адрес сетевой карты;
monitor_interfaces
- список идентификаторов алиасов интерфейсов, трафик с которых надо зеркалировать. Допустимые типы алиасов: isp
, lan
, ipsec
, ipsec_gre
, tunnel
;
direction
- тип трафика, который требуется дублировать на SPAN-интерфейс. Может принимать значения rx
- входящий, tx
- исходящий и both
- оба.
Ответ на успешный запрос: 200 ОК
netflow_index
- целое число от 0 до 65535, индекс сетевого подключения для .
netflow_index
- целое число от 0 до 65535, индекс сетевого подключения для ;
Json-тело запроса: один из объектов описанных в разделе :
Json-тело запроса: один из объектов описанных в разделе .
netflow_index
- целое число от 0 до 65535, индекс сетевого подключения для ;
netflow_index
- целое число от 0 до 65535, индекс сетевого подключения для ;
netflow_index
- целое число от 0 до 65535, индекс сетевого подключения для ;