Cato APIを使用する前に、Cato APIサポートポリシーを確認することを強くお勧めします。
この記事では、Cato APIを使用してサイトのネットワーク範囲を以下のコマンドで管理する方法を説明します:
addNetworkRange
updateNetworkRange
removeNetworkRange
ネットワーク範囲の概要
アカウント内のSocketサイトのネットワーク範囲を追加、更新、削除するためにネットワーク範囲のミューテーションAPIを使用し、サイトの次の設定を定義します:
ネットワーク範囲 ID (
addNetworkRangeで自動的に生成されます)LANソケットインタフェースID
ネットワーク範囲の設定: サブネット、ローカルIPまたはゲートウェイIP、およびVLAN
Azure vSocketの冗長化構成のフローティングIPアドレス
ネットワーク範囲のDHCP設定
リセラーアカウントでは、Cato APIを使用して設定する顧客アカウントごとに個別のAPIキーを作成できます。
あなたのアカウントのaccountIdの確認方法
アカウントIDは管理> 一般情報ページに表示されます。
このIDをaccountId引数内に入力し、例えば以下のようにサイト作成APIで使用します:
site(accountId: 26) {
addSocketSite(input: $addSocketSite) {
siteId
}
}addNetworkRangeとupdateNetworkRange引数の詳細
Cato設定APIを使用して、Socketサイトのネットワーク範囲を作成または更新するために同じ引数を使用します。 addNetworkRangeの場合、オプションとしてマークされていない限り、引数は必須です。 updateNetworkRangeの場合、あなたが更新しているソケットインタフェース設定のための引数を含めます。
networkRangeId - ネットワーク範囲のID (updateNetworkRangeの場合)
lanSocketInterfaceId - ネットワーク範囲が関連付けられているネットワークインタフェースのID (addNetworkRangeの場合)
name - ネットワーク範囲の名前
rangeType - ネットワーク範囲のタイプ (ルーテッド、ダイレクトなど)
サブネット - CIDR形式のLANインタフェースのネイティブ範囲
localIP - LANネットワーク範囲のローカルIPアドレス
gateway - ルーテッド範囲の場合、隣接ルーターの次のホップIPアドレス
vlan - ネットワーク範囲のVLAN ID
azureFloutingIP - Azure冗長化構成の場合、LANルーティングテーブルの次のホップIPアドレス
dhcpSettings - このネットワーク範囲がデフォルトのアカウントDHCP設定またはカスタム設定を使用するかを定義
networkRangeId (updateNetworkRangeの場合)
networkRangeIdは、entityLookup読み取り専用APIを使用して取得できます。typeにsiteRangeとしての値を使用します
また、searchパラメータにサイトの名前を指定し、他のサイトの範囲を除外するフィルタを使用することもできます。
lanSocketInterfaceId (addNetworkRangeの場合)
entityLookup APIクエリを使用して、次のようにlanSocketInterfaceIdの値を取得します。 Cato API - EntityLookupにさらに詳しい情報があります。
typeにnetworkInterfaceの値を使用し、これらのparentフィールドからの値を使用します:
id - <サイトID>
name - <インタフェースの名前>
下のlanSocketInterfaceIdのサンプルスクリプトを確認し、サンプルPostmanスクリプトを参照してください。
ネットワーク範囲名前
name引数はネットワーク範囲の名前です。
ネットワーク範囲のタイプ
rangeTypeは、ネットワーク範囲のタイプを定義する列挙引数です。
これらがオプションです:
ルーテッド - ルートを通してソケットに接続するネットワーク範囲
ダイレクト - ソケットまたはファイアウォールに直接接続したネットワーク範囲 (ルーターを経由せず、サイトのネイティブ範囲と異なるIP範囲) 。
VLAN - Catoに接続するVLANはトランクポートに類似しています。
ネイティブ - 各LANインタフェースに定義されたIP範囲
セカンダリネイティブ - ソケット冗長化構成の場合、セカンダリソケット用のネイティブ範囲
ネットワーク範囲サブネット
subnet引数でCIDR IPサブネット形式でサイトのネットワーク範囲のIP範囲を定義します。 /31および/32 CIDRブロックはサポートされていません。
ネットワーク範囲ローカルIP
(次の範囲に必須: ネイティブ、セカンダリネイティブ、ダイレクト、VLAN) localIP引数でLANネットワーク範囲のローカルIPアドレスを定義します。
ネットワーク範囲ゲートウェイ
(ルーテッド範囲に必須) gateway引数でLANネットワーク範囲のゲートウェイIPアドレスを定義します。
ネットワーク範囲VLAN
(VLAN範囲に必須) vlan引数でLANネットワーク範囲のVLAN IDを定義します。
ネットワーク範囲AzureフローティングIP
(Azure冗長化ソケット構成に必須) azureFloatingIp引数でLANネットワーク範囲のフローティングIPを定義します。
ネットワーク範囲DHCP設定 (オプション)
dhcpSettingsは、ネットワーク範囲のDHCP設定を定義する列挙引数です。
これらがオプションです:
dhcpType - 次のDHCPタイプのいずれかをネットワーク範囲に設定します:
DHCP_RELAY - このネットワーク範囲はアカウントに設定されたDHCPリレーを使用します (
relayGroupId引数で定義) 。DHCP_RANGE - このネットワーク範囲は、
ipRange引数で定義されたIP範囲に従ってCato DHCPサーバーを使用します。ACCOUNT_DEFAULT - このネットワーク範囲はアカウントに定義されたデフォルトのDHCPリレーを使用します。
DHCP_DISABLED - このネットワーク範囲ではDHCPが無効です。
ipRange - 上記のDHCP_Rangeオプションの場合、Cato DHCPサーバーがホストに割り当てることができるIP範囲を定義します。
relayGroupId - このネットワーク範囲が使用するDHCPリレーグループのIDを入力します。
entityLookupの場合、
typeにdhcpRelayGroupの値を使用します。
removeNetworkRange
removeNetworkRange APIを使用して、サイトからネットワーク範囲を削除します。 このAPIを使用するには、networkRangeIdのみを使用する必要があります。
サンプルPostmanスクリプト
サンプルentityLookup for lanSocketInterfaceID
query entityLookup ($accountID: ID!, $type: EntityType!, $parent: EntityInput!) {
entityLookup (accountID: $accountID, type: $type, parent: $parent) {
items {
entity {
id
name
type
}
description
}
}
}GraphQL Variables for entityLookup for lanSocketInterfaceID
{
"accountID": "26",
"type": "networkInterface",
"parent": {
"id": 26,
"type": "site"
}
}サンプルPostmanスクリプト to Create New VLAN Range
mutation addNetworkRange ($accountId: ID!, $lanSocketInterfaceId: ID!, $input: AddNetworkRangeInput!) {
site(accountId: $accountId) {
addNetworkRange (lanSocketInterfaceId: $lanSocketInterfaceId, input: $input) {
networkRangeId
}
}
}GraphQL Variable for New VLAN Range
{
"accountId": "26",
"lanSocketInterfaceId": 26,
"input": {
"name": "Guest WIFI",
"rangeType": "VLAN",
"subnet": "10.1.0.0/24",
"localIp": "10.1.0.0.1",
"vlan": 100
}
}