Nous recommandons fortement qu'avant de commencer à utiliser l'API Cato, vous consultiez la politique de support pour l'API Cato.
Cet article explique comment utiliser l'API Cato pour gérer les plages réseau d'un site avec ces commandes :
addNetworkRange
updateNetworkRange
removeNetworkRange
Aperçu de networkRange
Utilisez les APIs de mutation networkRange pour ajouter, mettre à jour et supprimer des plages réseau pour un site Socket dans votre compte et définissez les paramètres suivants pour le site :
ID de la plage réseau (créé automatiquement pour
addNetworkRange)Identifiant d'interface LAN pour Socket
Paramètres de la plage réseau incluant : sous-réseau, IP locale ou IP de passerelle, et VLAN
Pour les configurations Azure vSocket HA, l'adresse IP flottante
Paramètres DHCP pour la plage réseau
Pour les comptes revendeurs, vous pouvez créer des clés API séparées dans chaque compte client avec lequel vous configurez les paramètres API Cato.
Localisation de l'accountId pour Votre Compte
L'ID de compte est affiché dans la page Administration> Infos générales.
Entrez cet ID dans l'argument accountId pour l'API de création de site, par exemple :
site(accountId: 26) {
addSocketSite(input: $addSocketSite) {
siteId
}
}Détails pour les arguments addNetworkRange et updateNetworkRange
Les mêmes arguments sont utilisés pour créer ou mettre à jour une plage réseau pour un site Socket en utilisant l'API de configuration Cato. Pour addNetworkRange, les arguments sont obligatoires sauf s'ils sont marqués comme optionnels. Pour updateNetworkRange, incluez les arguments pour les paramètres d'interface Socket que vous mettez à jour.
networkRangeId - ID pour la plage réseau (pour updateNetworkRange)
lanSocketInterfaceId - ID pour l'interface réseau que la plage réseau associe (pour addNetworkRange)
Nom - Nom de la plage réseau
rangeType - Type de plage réseau (Routée, Directe, etc.)
subnet - Plage native pour l'interface LAN au format CIDR
localIP - Adresse IP locale pour la plage réseau LAN
passerelle - Pour les plages Routées, l'adresse IP suivante pour le routeur voisin
vlan - ID VLAN pour la plage réseau
azureFloutingIP - Pour les configurations Azure HA, l'adresse IP suivante pour le tableau de routage LAN
dhcpSettings - Indique si cette plage réseau utilise les paramètres DHCP du compte par défaut ou personnalisés
networkRangeId (pour updateNetworkRange)
Le networkRangeId peut être récupéré à l'aide de l'API en lecture seule entityLookup, utilisez le type avec la valeur siteRange
Vous pouvez aussi utiliser le paramètre search avec la valeur comme le nom du site, et la requête filtre les plages d'autres sites.
lanSocketInterfaceId (pour addNetworkRange)
Utilisez la requête API entityLookup pour récupérer les valeurs pour les arguments lanSocketInterfaceId, comme suit. Pour plus d'informations, voir Cato API - EntityLookup.
Utilisez le type ayant la valeur networkInterface, et les valeurs de ces champs parent :
id - <site id>
Nom - <nom de l'interface>
Voir ci-dessous un script d'exemple pour le lanSocketInterfaceId, Script Postman d'exemple.
Nom de la plage réseau networkRange
L'argument Nom est utilisé pour le nom de la plage réseau.
Type de plage réseau networkRange
Le rangeType est un argument d'enum qui définit le type de plage réseau.
Voici les options :
Routée - Plage réseau qui se connecte à un Socket via une route
Direct - Plage réseau directement connectée au Socket ou au pare-feu (non via un routeur), mais la plage IP est différente de la plage native du site.
VLAN - Les VLANs qui se connectent à Cato sont semblables à un port de trunk
Natif - Plage IP définie pour chaque interface LAN
SecondaryNative - Pour les configurations Socket HA, la plage native pour le Socket secondaire
Sous-réseau networkRange
Définissez la plage IP pour la plage réseau pour le site dans l'argument subnet au format CIDR IPSubnet. Les blocs CIDR /31 et /32 ne sont pas pris en charge.
localIP de networkRange
(Obligatoire pour ces plages : Native, SecondaryNative, Direct, VLAN) Définissez l'adresse IP locale pour la plage réseau LAN dans l'argument localIP.
Passerelle de networkRange
(Obligatoire pour les plages Routées) Définissez l'adresse IP de la passerelle pour la plage réseau LAN dans l'argument gateway.
VLAN de networkRange
(Obligatoire pour les plages VLAN) Définissez l'ID VLAN pour la plage réseau LAN dans l'argument vlan.
azureFloatingIp de networkRange
(Obligatoire pour les configurations Azure HA Socket) Définissez l'IP flottante pour la plage réseau LAN dans l'argument azureFloatingIp.
dhcpSettings de networkRange (optionnel)
Le dhcpSettings est un argument d'enum qui définit les paramètres DHCP pour la plage réseau.
Voici les options :
dhcpType - Configurez un des types DHCP suivants pour la plage réseau :
DHCP_RELAY - La plage réseau utilise un relais DHCP configuré pour le compte (défini dans l'argument
relayGroupId)DHCP_RANGE - La plage réseau utilise le serveur DHCP Cato selon la plage IP définie dans l'argument
ipRangeACCOUNT_DEFAULT - La plage réseau utilise le relais DHCP par défaut défini pour le compte
DHCP_DISABLED - DHCP est désactivé pour cette plage réseau
ipRange - Pour l'option DHCP_Range ci-dessus, définissez la plage IP que le serveur DHCP Cato peut attribuer aux hôtes
relayGroupId - Entrez l'ID pour le groupe de relais DHCP que cette plage réseau utilise
Pour entityLookup, utilisez le
typeavec la valeur dhcpRelayGroup
removeNetworkRange
Utilisez l'API removeNetworkRange pour supprimer une plage réseau d'un site. Vous devez uniquement utiliser le networkRangeId avec cette API.
Exemple de script Postman
Échantillon entityLookup pour lanSocketInterfaceID
query entityLookup ($accountID: ID!, $type: EntityType!, $parent: EntityInput!) {
entityLookup (accountID: $accountID, type: $type, parent: $parent) {
items {
entity {
id
Nom
Type
}
Description
}
}
}Variables GraphQL pour entityLookup pour lanSocketInterfaceID
{
"accountID": "26",
"type": "networkInterface",
"parent": {
"id": 26,
"type": "site"
}
}Script Postman d'exemple pour créer une nouvelle plage VLAN
mutation addNetworkRange ($accountId : ID!, $lanSocketInterfaceId : ID!, $input : AddNetworkRangeInput!) {
site(accountId : $accountId) {
addNetworkRange (lanSocketInterfaceId : $lanSocketInterfaceId, input : $input) {
networkRangeId
}
}
}Variable GraphQL pour nouvelle plage VLAN
{
"accountId": "26",
"lanSocketInterfaceId": 26,
"input": {
"Nom": "Guest WIFI",
"rangeType": "VLAN",
"subnet": "10.1.0.0/24",
"localIp": "10.1.0.0.1",
"vlan": 100
}
}