Мы настоятельно рекомендуем перед началом использования Cato API ознакомиться с Политикой поддержки Cato API.
Эта статья объясняет, как использовать Cato API для управления диапазонами сети для сайта с помощью следующих команд:
addNetworkRange
updateNetworkRange
removeNetworkRange
Обзор networkRange
Используйте API мутации networkRange для добавления, обновления и удаления диапазонов сети для Socket сайта в вашей учетной записи и для определения следующих настроек для сайта:
ID диапазона сети (создается автоматически для
addNetworkRange)ID интерфейса LAN Socket
Настройки для диапазона сети, включая: подсеть, локальный IP или шлюз и VLAN
Для конфигураций Azure vSocket HA, плавающий IP-адрес
Настройки DHCP для диапазона сети
Для аккаунтов реселлеров вы можете создавать отдельные ключи API внутри каждой учетной записи клиента, в которой настраиваете параметры с помощью API Cato.
Поиск accountId для вашей учетной записи
ID учетной записи отображается на странице Администрирование > Общая информация.
Введите этот идентификатор в аргумент accountId для API создания сайта, например:
site(accountId: 26) {
addSocketSite(input: $addSocketSite) {
siteId
}
}Подробности об аргументах addNetworkRange и updateNetworkRange
Те же аргументы используются для создания или обновления диапазона сети для Socket сайта с использованием Cato configuration API. Для addNetworkRange аргументы обязательны, если не помечены как необязательные. Для updateNetworkRange включите аргументы для настроек интерфейса Socket, которые вы обновляете.
networkRangeId - ID для диапазона сети (для updateNetworkRange)
lanSocketInterfaceId - ID для сетевого интерфейса, с которым связан диапазон сети (для addNetworkRange)
name - Имя диапазона сети
rangeType - Тип диапазона сети (маршрутизируемый, прямой и т.д.)
субнет - Нативный диапазон для интерфейса LAN в формате CIDR
localIP - Локальный IP-адрес для диапазона сетей LAN
gateway - Для маршрутизируемых диапазонов, следующий IP-адрес перехода для соседнего маршрутизатора
vlan - ID VLAN для диапазона сети
azureFloutingIP - Для конфигураций Azure HA, следующий IP-адрес перехода для таблицы маршрутов LAN
dhcpSettings - Определяет, использует ли этот диапазон сети стандартные настройки DHCP для учетной записи или пользовательские настройки
networkRangeId (для updateNetworkRange)
networkRangeId можно получить с помощью API entityLookup только для чтения, используйте type со значением siteRange
Вы также можете использовать параметр search со значением в виде имени сайта, и запрос отфильтрует диапазоны с других сайтов.
lanSocketInterfaceId (для addNetworkRange)
Используйте запрос API entityLookup, чтобы получить значения для аргументов lanSocketInterfaceId следующим образом. Для получения дополнительной информации, см. Cato API - EntityLookup.
Используйте type со значением networkInterface, и значения из этих полей parent:
id - <site id>
name - <name of interface>
См. пример скрипта для lanSocketInterfaceId ниже, Пример скрипта Postman.
Имя диапазона сети
Аргумент name для имени диапазона сети.
Тип диапазона сети
Аргумент rangeType является аргументом перечисления, который определяет тип диапазона сети.
Вот доступные параметры:
Маршрутизируемый - Диапазон сети, который подключается к Socket через маршрут
Прямой - Диапазон сети, напрямую подключенный к Socket или межсетевому экрану (не через маршрутизатор), но IP-диапазон отличается от родного диапазона сайта.
VLAN - VLAN аналогичен магистральному порту
Родной - Определенный диапазон IP для каждого LAN интерфейса
ВторичныйРодной - Для конфигураций Socket HA, родной диапазон для вторичного Socket
Подсеть диапазона сети
Определите диапазон IP для диапазона сети для сайта в аргументе subnet в формате CIDR IPSubnet. /31 и /32 CIDR блоки не поддерживаются.
Локальный IP диапазона сети
(Обязательно для этих диапазонов: родной, вторичный родной, прямой, VLAN) Определите локальный IP-адрес для диапазона сети LAN в аргументе localIP.
Шлюз диапазона сети
(Обязательно для маршрутизируемых диапазонов) Определите IP-адрес шлюза для диапазона сети LAN в аргументе gateway.
VLAN диапазона сети
(Обязательно для диапазонов VLAN) Определите ID VLAN для диапазона сети LAN в аргументе vlan.
azureFloatingIp диапазона сети
(Обязательно для конфигураций Azure HA Socket) Определите плавающий IP для диапазона сети LAN в аргументе azureFloatingIp.
dhcpSettings диапазона сети (необязательно)
Аргумент dhcpSettings является аргументом перечисления, который определяет настройки DHCP для диапазона сети.
Вот доступные параметры:
dhcpType - Настройте один из следующих типов DHCP для диапазона сети:
DHCP_RELAY - Диапазон сети использует DHCP ретрансляцию, настроенную для учетной записи (определяется в аргументе
relayGroupId)DHCP_RANGE - Диапазон сети использует DHCP сервер Cato для DHCP, согласно IP-диапазону, определенному в аргументе
ipRangeACCOUNT_DEFAULT - Диапазон сети использует стандартную DHCP ретрансляцию, определенную для учетной записи
DHCP_DISABLED - DHCP отключен для данного диапазона сети
ipRange - Для опции DHCP_Range выше, определите диапазон IP, который DHCP сервер Cato может назначить хостам
relayGroupId - Введите ID для группы ретрансляции DHCP, которая использует данный диапазон сети
Для entityLookup используйте
typeсо значением dhcpRelayGroup
removeNetworkRange
Используйте API removeNetworkRange для удаления диапазона сети с сайта. Вам нужно использовать только networkRangeId с этим API.
Пример скрипта для Postman
Пример entityLookup для lanSocketInterfaceID
query entityLookup ($accountID: ID!, $type: EntityType!, $parent: EntityInput!) {
entityLookup (accountID: $accountID, type: $type, parent: $parent) {
items {
entity {
id
name
type
}
description
}
}
}ГрафQL переменные для entityLookup для lanSocketInterfaceID
{
"accountID": "26",
"type": "networkInterface",
"parent": {
"id": 26,
"type": "site"
}
}Пример скрипта Postman для создания нового диапазона VLAN
мутация addNetworkRange ($accountId: ID!, $lanSocketInterfaceId: ID!, $input: AddNetworkRangeInput!) {
site(accountId: $accountId) {
addNetworkRange (lanSocketInterfaceId: $lanSocketInterfaceId, input: $input) {
networkRangeId
}
}
}ГрафQL Переменная для нового диапазона VLAN
{
"accountId": "26",
"lanSocketInterfaceId": 26,
"input": {
"name": "Guest WIFI",
"rangeType": "VLAN",
"subnet": "10.1.0.0/24",
"localIp": "10.1.0.0.1",
"vlan": 100
}
}