設定API - ネットワーク範囲の追加、更新、および削除

Prev Next

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
    }
}