VMware Partner Gateway には、さまざまな設定オプションがあります。Gateway のインストール前にワークシートを準備する必要があります。

ワークシート

SD-WAN Gateway
  • バージョン (Version)
  • OVA/QCOW2 ファイルの場所
  • アクティベーション キー (Activation Key)
  • SD-WAN Orchestrator(IP アドレス/vco-fqdn-hostname)
  • ホスト名
ハイパーバイザー アドレス/クラスタ名
ストレージ ルート ボリューム データストア(40 GB 以上を推奨)
注: Partner Gateway ホストでは、/tmp/partition ディレクトリの空きディスク容量をメモリ (RAM) の 2 倍以上にすることをお勧めします。
CPU 割り当て KVM/VMware の CPU 割り当て。
インストールの選択 DPDK:これはオプションで、スループットを向上させるためにデフォルトで有効になっています。DPDK を無効にする場合は、VMware カスタマー サポートにお問い合わせください。
OAM ネットワーク([オプション。「カスタム設定」を参照]
  • DHCP
  • OAM IPv4 アドレス
  • OAM IPv4 ネットマスク
  • DNS サーバ - プライマリ
  • DNS サーバ - セカンダリ
  • スタティック ルート
ETH0 - インターネットに接続するネットワーク
  • IPv4 アドレス
  • IPv4 ネットマスク
  • IPv4 デフォルト ゲートウェイ
  • DNS サーバ - プライマリ
  • DNS サーバ - セカンダリ
ハンドオフ (ETH1) - ネットワーク
  • 管理 VRF の IPv4 アドレス
  • 管理 VRF の IPv4 ネットマスク
  • 管理 VRF の IPv4 デフォルト ゲートウェイ
  • DNS サーバ - プライマリ
  • DNS サーバ - セカンダリ
  • ハンドオフ(QinQ (0x8100)、QinQ (0x9100)、なし、802.1Q、802.1ad)
  • C-タグ
  • S-タグ
コンソール アクセス
  • コンソールのパスワード
  • SSH:
    • 有効(はい/いいえ)
    • SSH パブリック キー
NTP([オプション。「カスタム設定」セクションを参照]
  • パブリック NTP:
    • server 0.ubuntu.pool.ntp.org
    • server 1.ubuntu.pool.ntp.org
    • server 2.ubuntu.pool.ntp.org
    • server 3.ubuntu.pool.ntp.org
  • 内部 NTP サーバ - 1
  • 内部 NTP サーバ - 2

SD-WAN Gateway セクション

SD-WAN Gateway セクションのほとんどは、名称を見ただけで機能がわかります。

SD-WAN Gateway
  • バージョン - SD-WAN Orchestrator と同じかそれ以下である必要があります。
  • OVA/QCOW2 ファイルの場所 - ファイルの場所とディスクの割り当てを事前に決めておいてください。
  • アクティベーション キー (Activation Key)
  • SD-WAN Orchestrator(IP アドレス/vco-fqdn-hostname)
  • ホスト名 - 有効な Linux ホスト名「RFC 1123」

Gateway の作成とアクティベーション キーの取得

  1. [オペレータ (Operator)] > [Gateway プール (Gateway Pool)] に移動して、新しい SD-WAN Gateway プールを作成します。サービス プロバイダ ネットワークで SD-WAN Gateway を実行するには、[Partner Gateway を許可 (Allow Partner Gateway)] チェックボックスをオンにします。この Gateway プールに Partner Gateway を含めるためのオプションが有効になります。

    vcg-new-pool

  2. [オペレータ (Operator)] > [Gateway] に移動し、新しい Gateway を作成してプールに割り当てます。ここで入力する Gateway の IP アドレスは、Gateway の [パブリック IP アドレス (public IP address)] と一致する必要があります。不明な場合は、SD-WAN Gateway のパブリック IP アドレスを返す curl ipinfo.io/ipSD-WAN Gateway から実行することができます。

    vcg-create-new-gateway

  3. アクティベーション キーをメモし、ワークシートに追加します。

    vcg-gateway-activation-key

Partner Gateway モードの有効化

  1. [オペレータ (Operator)] > [Gateway] に移動して、SD-WAN Gateway を選択します。[Partner Gateway] チェックボックスをオンにして、Partner Gateway を有効にします。

    vcg-properties-partner-gateway-checkbox

    他にも、設定可能なパラメータがあります。最も一般的なのは次のとおりです。

    [暗号化なしで 0.0.0.0/0 を広報]

    vcg-advanced-handoff-static-routes

このオプションを使用すると、SAAS アプリケーションに関して Partner Gateway がクラウド トラフィックへのパスを広報できるようになります。[暗号化 (Encrypt)] フラグがオフになっているため、このパスを使用するかどうかはカスタマーのビジネス ポリシーの設定によります。

もう 1 つのお勧めのオプションは、SD-WAN Orchestrator の IP アドレスを /32 として暗号化ありで広報するものです。

vcg-advanced-handoff-static-routes-encrypt-checkbox

これを使用すると、Edge から SD-WAN Orchestrator に送信されるトラフィックがゲートウェイ パスを通るようになり、SD-WAN EdgeSD-WAN Orchestrator に到達するためにとる動作を予測できるようになるので、お勧めです。

ネットワーク

重要: 以下の手順とスクリーンショットでは、最も一般的なデプロイである、Gateway のツーアーム インストールを主に想定しています。OAM ネットワークの追加については、 OAM インターフェイスとスタティック ルートセクションを参照して検討してください。

vcg-partner-gateway-pe-image

上記の図は、ツーアーム デプロイの場合の SD-WAN Gateway を表しています。この例では、eth0 をパブリック ネットワーク(インターネット)に接続するインターフェイス、eth1 を内部ネットワーク(ハンドオフまたは VRF インターフェイス)に接続するインターフェイスとします。

注: [管理 VRF]SD-WAN Gateway で作成され、定期的な ARP 更新をデフォルトのゲートウェイ IP アドレスに送信するために使用されます。これにより、ハンドオフ インターフェイスが物理的に稼動していることを確認し、フェイルオーバーを迅速化することができます。その際には、PE ルーターに専用の VRF を設定することをお勧めします。必要に応じて、同じ管理 VRF を PE ルーターで使用して、 SD-WAN Gateway のステータスを確認するために IP SLA プローブを SD-WAN Gateway に送信することもできます( SD-WAN Gateway には、そのサービスが稼動している場合にのみ ping に応答するステートフル ICMP レスポンダがあります)。専用の管理 VRF が設定されていない場合は、カスタマー VRF の 1 つを管理 VRF として使用することができますが、そのような方法は推奨されていません。

インターネットに接しているネットワークについては、必要なのは基本的なネットワーク設定のみです。

ETH0 - インターネットに接続するネットワーク
  • IPv4 アドレス
  • IPv4 ネットマスク
  • IPv4 デフォルト ゲートウェイ
  • プライマリ DNS サーバ
  • セカンダリ DNS サーバ

ハンドオフ インターフェイスについては、設定するハンドオフのタイプと、管理 VRF のハンドオフ設定を把握しておく必要があります。

ETH1 - ハンドオフ ネットワーク
  • 管理 IPv4 アドレス
  • 管理 IPv4 ネットマスク
  • 管理 IPv4 デフォルト ゲートウェイ
  • プライマリ DNS サーバ
  • セカンダリ DNS サーバ
  • ハンドオフ(QinQ (0x8100)、QinQ (0x9100)、なし、802.1Q、802.1ad)
  • 管理 VRF の C-タグ
  • 管理 VRF の S-タグ

コンソール アクセス (Console Access)

コンソール アクセス
  • コンソールのパスワード
  • SSH:
    • 有効(はい/いいえ)
    • SSH パブリック キー

Gateway にアクセスするには、コンソール パスワードまたは SSH パブリック キー(あるいはその両方)を作成する必要があります。

cloud-init の作成

ワークシートで定義したゲートウェイの設定オプションは、cloud-init 設定で使用されます。cloud-init 設定は、メタデータ ファイルと user-data ファイルという 2 つの主要な設定ファイルで構成されます。メタデータには Gateway のネットワーク設定が含まれ、user-data には Gateway ソフトウェア設定が含まれます。このファイルは、インストールされている SD-WAN Gateway のインスタンスを識別するための情報を提供します。

Meta_data ファイルと User_data ファイルの両方のテンプレートを以下に示します。

ワークシートの情報をテンプレートに入力してください。すべての #_VARIABLE_# を値に置き換える必要があります。また、#ACTION# もすべて指定されていることを確認してください。

重要: テンプレートは、インターフェイスにスタティック設定を使用していることを前提としています。また、すべてのインターフェイスで SR-IOV を使用している場合と SR-IOV を一切使用していない場合のどちらかを前提としています。詳細については、 OAM - vmxnet3 による SR-IOV または VIRTIO による SR-IOVを参照してください。
meta-data ファイル:
instance-id: #_Hostname_#
local-hostname: #_Hostname_#
 
network-interfaces: |
   auto eth0
      iface eth0 inet static
         address #_IPv4_Address_# 
         mac_address #_mac_Address_#       
         netmask #_IPv4_Netmask_# 
         gateway #_IPv4_Gateway_# 
         dns-nameservers 
            #_DNS_server_primary_# 
            #_DNS_server_secondary_# 
   auto eth1
      iface eth1 inet static
         metric '13'
         address #_MGMT_IPv4_Address_# 
         mac_address #_MGMT_mac_Address_# 
         netmask #_MGMT_IPv4_Netmask_# 
         gateway #_MGMT_IPv4_Gateway_# 
         dns-nameservers 
            #_DNS_server_primary_# 
            #_DNS_server_secondary_# 
 
user-data ファイル:
#cloud-config
hostname: #_Hostname_#
password: #_Console_Password_# 
chpasswd: 
  expire: false

ssh_authorized_keys: 
  - #_SSH_public_Key_#
ssh_pwauth: true

velocloud: 
  vcg: 
    activation_code: #_Activation_Key_#
    vco: #_VCO_#

runcmd: 
  - "echo \"[]\" > /opt/vc/etc/vc_blocked_subnets.json"
  - "sed -iorig \"s/wan=\\\".*/wan=\\\"eth0 eth1\\\"/\" /etc/config/gatewayd-tunnel"
  - /var/lib/cloud/scripts/per-boot/config_gateway
  - "sleep 10"
  - "/opt/vc/bin/vc_procmon restart"

write_files: 
  - 
    content: |
        #!/usr/bin/python
        import json
        ### EDIT GATEWAYD ###
        with open("/etc/config/gatewayd", "r") as jsonFile:
          data = json.load(jsonFile)
        data["global"]["vcmp.interfaces"] = ["eth0"]
        data["global"]["wan"] = ["eth1"]
        # NOTE FOR HAND OFF IT CAN BE "QinQ (0x8100)" "QinQ (0x9100)" "none" "802.1Q" "802.1ad"
        data["vrf_vlan"]["tag_info"][0]["mode"] = "#_Handoff_" 
        data["vrf_vlan"]["tag_info"][0]["interface"] = "eth1"
        data["vrf_vlan"]["tag_info"][0]["c_tag"] = "#_C_TAG_FOR_MGMT_VRF_#" 
        data["vrf_vlan"]["tag_info"][0]["s_tag"] = "#_S_TAG_FOR_MGMT_VRF_" 
        with open("/etc/config/gatewayd", "w") as jsonFile:
          jsonFile.write(json.dumps(data,sort_keys=True,indent=4, separators=(",", ": ")))
        ### EDIT DPDK ###
        with open("/opt/vc/etc/dpdk.json", "r") as jsonFile:
          data = json.load(jsonFile)
        #SET 0 or 1 for enabled or DISABLED example data["dpdk_enabled"] = 0
        data["dpdk_enabled"] = #_DKDP_ENABLED_(1)_OR_DISABLED_(0)_# 
        with open("/opt/vc/etc/dpdk.json", "w") as jsonFile:
          jsonFile.write(json.dumps(data,sort_keys=True,indent=4, separators=(",", ": ")))
    path: /var/lib/cloud/scripts/per-boot/config_gateway
    permissions: "0755"

final_message: "==== Cloud-init completed ===="

power_state: 
  condition: true
  delay: "+1"
  message: "Bye Bye"
  mode: reboot
  timeout: 30
重要:
  • VMware は、すべての本番環境の Orchestrator に対して適切な完全修飾ドメイン名 (FQDN) を設定し、適切な TLS 証明書が発行されるようにすることをお勧めします。
  • Orchestrator の IP アドレスを使用したアクティベーション以外に利用できるオプションがない場合は、次の例を使用して、Edge に対して TLS 検証をバイパスするように指示します。
    commands.getoutput("/opt/vc/bin/ activate.py -s myvco.example.com -i #_activation_key_#")
  • この設定は、本番環境での使用には推奨されませんので、可能な限りすぐに Orchestrator のホスト名に対して再アクティベーションを行うことをお勧めします。
注: 必ず、 http://www.yamllint.com/ を使用して user-data とメタデータを検証してください。また、cloud-init が完了したら、メタデータがネットワーク インターフェイス ( /etc/network/interfaces) セクションで有効なネットワーク設定となる必要があります。Windows または Mac のコピーと貼り付け機能を使用すると、スマート クォートの問題が発生し、ファイルの破損につながる可能性があります。次のコマンドを実行して、スマート クォートがないことを確認してください。
sed s/[”“]/'"'/g /tmp/user-data > /tmp/user-data_new

ISO ファイルの作成

ファイルの入力が完了したら、ISO イメージにパッケージ化する必要があります。この ISO イメージは、仮想マシンとともに仮想設定 CD として使用されます。この ISO イメージは vcg01-cidata.iso と呼ばれ、Linux システムで次のコマンドを使用して作成されます。

genisoimage -output vcg01-cidata.iso -volid cidata -joliet -rock user-data meta-data

MAC OSX を使用している場合は、代わりに次のコマンドを使用してください。

mkisofs -output vcg01-cidata.iso -volid cidata -joliet -rock {user-data,meta-data}

この ISO ファイルは #CLOUD_INIT_ISO_FILE# と呼ばれ、OVA のインストールと VMware のインストールの両方で使用されます。