設定API - networkRangeの追加、更新、および削除

この記事では、次のコマンドを使用してサイトのネットワーク範囲を管理するためのCato APIの使用方法を説明します:

  • addNetworkRange

  • updateNetworkRange

  • removeNetworkRange

networkRangeの概要

ネットワーク範囲の追加、更新、および削除を行うためにnetworkRangeミューテーションAPIを使用して、次の設定をアカウント内のサイトに定義します:

  • ネットワーク範囲ID(addNetworkRange用に自動生成)

  • LAN SocketインターフェースID

  • ネットワーク範囲の設定には、サブネット、ローカルIPまたはゲートウェイIP、VLANが含まれます

  • Azure vSocket HA構成の場合、フローティングIPアドレス

  • ネットワーク範囲のDHCP設定

リセラーアカウントの場合、顧客アカウントごとにAPIキーを作成して、Cato APIを用いた設定を行うことができます。

アカウントのアカウントIDを探す

アカウントIDは管理>一般情報ページに表示されます。

このIDをaccountId引数に入力してサイト作成APIを使用します。例えば:

site(accountId: 26) {
    addSocketSite(input: $addSocketSite) { 
        siteId 
    } 
}

addNetworkRangeとupdateNetworkRange引数の詳細

Cato設定APIを使用して、Socketサイトのネットワーク範囲を作成または更新するために同じ引数が使用されます。 addNetworkRangeの場合、引数は必須ですが、オプションとしてマークされたものを除きます。 updateNetworkRangeの場合、更新するSocketインターフェース設定の引数を含めます。

  • networkRangeId - ネットワーク範囲のID(updateNetworkRange用)

  • lanSocketInterfaceId - ネットワーク範囲が関連付けられているネットワークインタフェースのID(addNetworkRange用)

  • name - ネットワーク範囲のネットワーク範囲名

  • rangeType - ネットワーク範囲の種類(ルーティング、直接接続等)

  • subnet - CIDRフォーマットでLANインタフェースのネイティブ範囲

  • localIP - LANネットワーク範囲のローカルIPアドレス

  • gateway - ルーティング範囲用の隣接ルーターの次のホップIPアドレス

  • vlan - ネットワーク範囲のVLAN ID

  • azureFloutingIP - Azure HA構成の場合、LANルートテーブルの次のホップIPアドレス

  • dhcpSettings - このネットワーク範囲がアカウントのデフォルトのDHCP設定またはカスタマイズされた設定を使用するかどうかを定義します

networkRangeId(updateNetworkRange用)

networkRangeIdは、値をsiteRangeとするtypeを使用してentityLookup読み取り専用APIを使って取得できます

また、サイト名を値としてsearchパラメータを使用し、他のサイトから範囲をフィルタリングすることができます。

lanSocketInterfaceId(addNetworkRange用)

entityLookup APIクエリを使用して、lanSocketInterfaceId引数の値を取得します。以下の通りです。 詳細については、Cato API - EntityLookupを参照してください。

typeに値をnetworkInterfaceとし、次のparentフィールドの値を指定します:

  • id - <サイトID>

  • name - <インタフェース名>

以下にlanSocketInterfaceIdのサンプルスクリプトを示します、サンプルPostmanスクリプト

networkRangeのネットワーク範囲名

name引数はネットワーク範囲の名称です。

networkRangeの種類

rangeTypeは、ネットワーク範囲の種類を定義するenum引数です。

これらはオプションです:

  • ルーティング - Socketを経由して接続するネットワーク範囲

  • 直接接続 - Socketまたはファイアウォールに直接接続されるネットワーク範囲(ルーターを介さない)が、IP範囲はサイトのネイティブ範囲と異なる

  • VLAN - Catoに接続するVLANはトランクポートに似ています

  • ネイティブ - 各LANインタフェースに定義されたIP範囲

  • セカンダリネイティブ - Socket HA構成のセカンダリSocketのネイティブ範囲

networkRangeのサブネット

subnet引数にCIDR IPSubnet形式でサイトのネットワーク範囲に対するIP範囲を定義します。 /31および/32 CIDRブロックはサポートされていません。

networkRangeのローカルIP

(ネイティブ、セカンダリネイティブ、直接接続、VLANの各範囲必須)localIP引数にLANネットワーク範囲のローカルIPアドレスを定義します。

networkRangeのゲートウェイ

(ルーティング範囲必須)gateway引数にLANネットワーク範囲のゲートウェイIPアドレスを定義します。

networkRangeのVLAN

(VLAN範囲必須)vlan引数にLANネットワーク範囲のVLAN IDを定義します。

networkRangeのAzureフローティングIP

(Azure HA Socket構成必須)azureFloatingIp引数にLANネットワーク範囲のフローティングIPを定義します。

networkRangeのDHCP設定(オプション)

dhcpSettingsはネットワーク範囲のDHCP設定を定義するenum引数です。

これらはオプションです:

  • dhcpType - ネットワーク範囲のDHCPタイプを以下のいずれかに設定する:

    • DHCP_RELAY - アカウントに設定されたDHCPリレー(relayGroupId引数で定義)を使用するネットワーク範囲

    • DHCP_RANGE - Cato DHCPサーバーがIP範囲に従ってDHCPを行うネットワーク範囲(ipRange引数で定義)

    • ACCOUNT_DEFAULT - アカウントに定義されたデフォルトのDHCPリレーを使用するネットワーク範囲

    • DHCP_DISABLED - このネットワーク範囲ではDHCPは無効

  • ipRange - 上記のDHCP_Rangeオプションのために、Cato DHCPサーバーがホストに割り当て可能なIP範囲を定義する

  • relayGroupId - このネットワーク範囲が使用するDHCPリレーグループのIDを入力する

    entityLookupでは、値をdhcpRelayGroupとするtypeを使用します

removeNetworkRange

removeNetworkRange APIを使用してサイトからネットワーク範囲を削除します。 このAPIではnetworkRangeIdのみを使用する必要があります。

サンプルPostmanスクリプト

lanSocketInterfaceIDのためのサンプルentityLookup

query entityLookup ($accountID: ID!, $type: EntityType!, $parent: EntityInput!) {
    entityLookup (accountID: $accountID, type: $type, parent: $parent) {
        items {
            entity {
                id
                name
                type
            }
            description
        }
    }
}

lanSocketInterfaceIDのためのGraphQL変数

{    
"accountID": "26",    
"type": "networkInterface",    
"parent": {
        "id": 26,
        "type": "site"
    }
}

新しいVLAN範囲を作成するためのサンプルPostmanスクリプト

mutation addNetworkRange ($accountId: ID!, $lanSocketInterfaceId: ID!, $input: AddNetworkRangeInput!) {
    site(accountId: $accountId) {
        addNetworkRange (lanSocketInterfaceId: $lanSocketInterfaceId, input: $input) {
            networkRangeId
        }
    }
}

新しいVLAN範囲のためのGraphQL変数

{
    "accountId": "26",
    "lanSocketInterfaceId": 26,
    "input": {
        "name": "Guest WIFI",
        "rangeType": "VLAN",
        "subnet": "10.1.0.0/24",
        "localIp": "10.1.0.0.1",
        "vlan": 100
    }
}

この記事は役に立ちましたか?

1人中0人がこの記事が役に立ったと言っています

0件のコメント