Skip to content

非公式本サイトは非公式の日本語ドキュメントであり、Cloudflare 公式サイトではありません。最新情報はdevelopers.cloudflare.comをご確認ください。

トンネルエンドポイントを設定する

最終更新 Markdown で表示Agent セットアップ

Cloudflare は、ネットワークのルーターが使うトンネル宛先として、アカウントに IPv4 anycast アドレスを割り当てます。このアドレスは、Cloudflare ダッシュボードの Address Space > Leased IPs で確認できます。追加のエンドポイントアドレスが必要な場合は、アカウントチームにお問い合わせください。

Cloudflare は、世界中に分散した多数のデータセンターの複数ノードからエンドポイント IP を広告することで、自社ネットワーク上の障害を自動で処理します。お客様側ネットワークの障害に備えるには、別々のルーターから 2 本のトンネルを設定します。

始める前に

トンネルを作成する前に、次の情報を用意します。

  • Cloudflare endpoint address: アカウントに割り当てられた anycast IP アドレスです。Cloudflare ダッシュボードの Address Space > Leased IPs で確認できます。
  • Customer endpoint IP: Cloudflare がお客様の代わりに広告するプレフィックスの外にある、インターネットで経路広告可能なパブリック IP アドレスです(通常は ISP から提供されます)。Cloudflare Network Interconnect を使う場合、または IPsec トンネルの場合は不要です(ルーターが ID_IPV4_ADDR 型の IKE ID を使う場合を除く)。
  • Interface address: RFC 1918 のプライベート IP 空間(10.0.0.0/8172.16.0.0/12192.168.0.0/16)または 169.254.240.0/20(リンクローカルアドレスでもあります)からの /31(推奨)または /30 サブネットです。

Cloudflare へトラフィックをオンボードする方法

GRE トンネルと IPsec トンネル

GRE または IPsec トンネルを使い、トラフィックを Cloudflare WAN へオンボードできます。設定は Cloudflare ダッシュボードまたは API から行います。API を使う場合は、アカウント IDAPI キー が必要です。

GRE と IPsec の選び方

機能 GRE IPsec
暗号化 なし あり
認証 なし Pre-shared key (PSK)
セットアップの複雑さ より簡単 PSK の交換が必要
適した用途 信頼できるネットワーク、CNI 接続 暗号化が必要なインターネット向け接続

技術要件の詳細は トンネルとカプセル化 を参照してください。

IPsec でサポートする暗号

完全な一覧は IPsec でサポートする暗号 を参照してください。IPsec トンネルが対応するのは Internet Key Exchange version 2 (IKEv2) のみです。

アンチリプレイ保護

Cloudflare WAN と anycast IPsec トンネルを使う場合、アンチリプレイ保護は無効にすることを推奨します。Cloudflare はこの設定をデフォルトで無効にしています。ただし、無効化に対応していないデバイス(Cisco Meraki、Velocloud、AWS VPN Gateway など)向けに、API または Cloudflare ダッシュボードから有効にできます。

詳細は アンチリプレイ保護 を参照してください。有効化の手順は IPsec トンネルを追加する を参照してください。

Network Interconnect (CNI)

GRE および IPsec トンネル以外に、Network Interconnect (CNI) でもトラフィックを Cloudflare WAN へオンボードできます。詳細は Network Interconnect (CNI) を参照してください。

トンネルを追加する

  1. Cloudflare One にログインし、Networks を開きます。
  2. Connectors > Cloudflare WAN を開き、Create を選びます。
  3. Add Tunnel ページで、GRE tunnel または IPsec tunnel を選びます。
  4. Name に、トンネルのわかりやすい名前を入力します。名前は一意で、スペースや特殊文字を含められず、他のトンネルと共有できません。
  5. (任意) Description にトンネルの説明を入力します。
  6. IPv4 Interface address に、トンネルの内部 IP アドレスとインターフェイスのプレフィックス長(/31 または /30)を入力します。Cloudflare 側でトンネル経由のトラフィックをルーティングするために使います。IP アドレス空間を最も効率よく使えるため、/31 サブネットを推奨します。

トンネルの種類に応じて、次のセクションを展開して設定を完了します。

GRE トンネル

  1. Customer GRE endpoint に、ルーターのパブリック IP アドレスを入力します。Cloudflare Network Interconnect のような物理または仮想接続を使う場合、Cloudflare が提供するためこの値は不要です。

  2. Cloudflare GRE endpoint に、アカウントに割り当てられた anycast アドレスの 1 つを入力します。Leased IPs で確認できます。

  3. (任意) TTLMTU はデフォルトのままにするか、ネットワークに合わせてカスタマイズします。

  4. (任意) ヘルスチェックの設定を行います。各オプションの詳細は次を展開してください。

    ヘルスチェックのオプション

    • Tunnel health checks: デフォルトで有効です。トンネルヘルスチェックを無効にすると、トンネルが動作していても トンネルヘルスダッシュボード では 100% ダウンと表示されます。Cloudflare はトンネルがダウンしたことを検知する手段なしに、トラフィックを送り続けます。ダウンしたトンネルを検知する仕組みは、お客様側で用意する必要があります。Cloudflare はダウンを通知できません。詳細は トンネルヘルスチェック を参照してください。
    • Health check rate: トンネルヘルスチェックを有効のままにする場合、トンネルの ヘルスチェックレート を選びます。選択肢は LowMediumHigh です。
    • Health check type: デフォルトは Reply で、ICMP (Internet Control Message Protocol) の reply を作成します。ファイアウォールがこのパケットを攻撃とみなして破棄する場合は、ICMP request を作成する Request に変更します。詳細は トンネルヘルスチェック を参照してください。
    • Health check direction: Cloudflare WAN ではデフォルトで bidirectional です。詳細は 双方向ヘルスチェックと単方向ヘルスチェック を参照してください。
    • Health check target: トンネルのお客様側エンドです。このフィールドは Health check directionUnidirectional のときだけ表示されます。
  5. (任意) 正式に追加する前にトンネルをテストすることを推奨します。テストするには Test tunnels を選びます。

  6. (任意) Cloudflare との間でトラフィックを送受信するだけで、WAN 内の他サイトからのトラフィックを受け取る必要がないサイト向けにこのトンネルを設定する場合は、Automatic return routing を選びます。この機能には Unified Routing が必要です。詳細は Automatic Return Routing を設定する を参照してください。

  7. 複数のトンネルを追加するには、新しいトンネルごとに Add GRE tunnel を選びます。

  8. トンネル情報を追加したあと、Add tunnels を選びます。

  9. (任意) ネットワークと Cloudflare の間でルートを動的に交換する場合は、Allow BGP (Border Gateway Protocol) peering(ベータ)を選びます。この機能には Unified Routing が必要です。
    ルートが頻繁に変わる環境や、自動フェイルオーバーが必要な場合は BGP を推奨します。詳細は BGP ルートを設定する を参照してください。

IPsec トンネル

  1. (任意) Customer endpoint に、ルーターのパブリック IP アドレスを入力します。この値は、ルーターが ID_IPV4_ADDR 型の IKE ID を使う場合にだけ必要です。

  2. Cloudflare endpoint に、アカウントに割り当てられた anycast アドレスの 1 つを入力します。Leased IPs で確認できます。

  3. (任意) ヘルスチェックの設定を行います。各オプションの詳細は次を展開してください。

    ヘルスチェックのオプション

    • Tunnel health checks: デフォルトで有効です。トンネルヘルスチェックを無効にすると、トンネルが動作していても トンネルヘルスダッシュボード では 100% ダウンと表示されます。Cloudflare はトンネルがダウンしたことを検知する手段なしに、トラフィックを送り続けます。ダウンしたトンネルを検知する仕組みは、お客様側で用意する必要があります。Cloudflare はダウンを通知できません。詳細は トンネルヘルスチェック を参照してください。
    • Health check rate: トンネルヘルスチェックを有効のままにする場合、トンネルの ヘルスチェックレート を選びます。選択肢は LowMediumHigh です。
    • Health check type: デフォルトは Reply で、ICMP (Internet Control Message Protocol) の reply を作成します。ファイアウォールがこのパケットを攻撃とみなして破棄する場合は、ICMP request を作成する Request に変更します。詳細は トンネルヘルスチェック を参照してください。
    • Health check direction: Cloudflare WAN ではデフォルトで bidirectional です。詳細は 双方向ヘルスチェックと単方向ヘルスチェック を参照してください。
    • Health check target: トンネルのお客様側エンドです。このフィールドは Health check directionUnidirectional のときだけ表示されます。
  4. まだ pre-shared key がない場合:

    1. Add pre-shared key later を選びます。
    2. (任意) 正式に追加する前にトンネル設定をテストすることを推奨します。テストするには Test tunnels を選びます。
    3. Add tunnels を選びます。
    4. Cloudflare ダッシュボードに、設定済みトンネルの一覧が読み込まれます。作成したばかりの IPsec トンネルには、まだ動作していないことを示す警告の三角アイコンが表示されます。Edit を選びます。
    5. Generate a new pre-shared key > Update and generate a pre-shared key を選びます。キーを安全な場所に保存し、Done を選びます。
  5. すでに pre-shared key がある場合:

    1. Use my own pre-shared key を選びます。
    2. Your pre-shared key にキーを貼り付けます。
    3. (任意) 正式に追加する前にトンネルをテストすることを推奨します。テストするには Test tunnels を選びます。
    4. Add tunnels を選びます。
  6. (任意) 無効化に対応していないデバイスがある場合は Replay protection を有効にします。詳細は アンチリプレイ保護 を参照してください。

  7. (任意) Cloudflare との間でトラフィックを送受信するだけで、WAN 内の他サイトからのトラフィックを受け取る必要がないサイト向けにこのトンネルを設定する場合は、Automatic return routing を選びます。この機能には Unified Routing が必要です。詳細は Automatic Return Routing を設定する を参照してください。

  8. 複数のトンネルを追加するには、新しいトンネルごとに Add IPsec tunnel を選びます。

  9. トンネル情報を追加したあと、Add tunnels を選びます。

  10. (任意) ネットワークと Cloudflare の間でルートを動的に交換する場合は、Allow BGP (Border Gateway Protocol) peering(ベータ)を選びます。この機能には Unified Routing が必要です。
    ルートが頻繁に変わる環境や、自動フェイルオーバーが必要な場合は BGP を推奨します。詳細は BGP ルートを設定する を参照してください。

GRE トンネル

GRE トンネルを作成するには、APIPOST リクエストを作成します。

Required API token permissions

At least one of the following token permissions is required:
  • Magic WAN Write
  • Magic Transit Write
Create a GRE tunnelbash
curl "https://api.cloudflare.com/client/v4/accounts/$ACCOUNT_ID/magic/gre_tunnels" \
	--request POST \
	--header "Authorization: Bearer $CLOUDFLARE_API_TOKEN" \
	--json '{
		"name": "<TUNNEL_NAME>",
		"description": "<TUNNEL_DESCRIPTION>",
		"interface_address": "<INTERFACE_ADDRESS>",
		"cloudflare_gre_endpoint": "<CLOUDFLARE_ENDPOINT>",
		"customer_gre_endpoint": "<CUSTOMER_ENDPOINT>"
	}'
{
  "errors": [
    {
      "code": 1000,
      "message": "message"
    }
  ],
  "messages": [
    {
      "code": 1000,
      "message": "message"
    }
  ],
  "result": {
    "gre_tunnels": [
      {
        "cloudflare_gre_endpoint": "<IP_ADDRESS>",
        "customer_gre_endpoint": "<IP_ADDRESS>",
        "interface_address": "<INTERFACE_CIDR>",
        "name": "<TUNNEL_NAME>",
        "description": "<TUNNEL_DESCRIPTION>",
        "health_check": {
          "direction": "unidirectional",
          "enabled": true,
          "rate": "low",
          "type": "reply"
        },
        "mtu": 0,
        "ttl": 0
      }
    ]
  },
  "success": true
}

IPsec トンネル

  1. IPsec トンネルを作成するには、APIPOST リクエストを作成します。

    この例では、リプレイ保護はデフォルトで無効です。使うデバイスがこの機能の無効化に対応していない場合は、IPsec トンネルごとに "replay_protection": true フラグで有効にできます。すでに IPsec トンネルを作成済みなら、PUT リクエスト で更新します。詳細は アンチリプレイ保護 を参照してください。

    Required API token permissions

    At least one of the following token permissions is required:
    • Magic WAN Write
    • Magic Transit Write
    Create an IPsec tunnelbash
    curl "https://api.cloudflare.com/client/v4/accounts/$ACCOUNT_ID/magic/ipsec_tunnels" \
    	--request POST \
    	--header "Authorization: Bearer $CLOUDFLARE_API_TOKEN" \
    	--json '{
    		"name": "<TUNNEL_NAME>",
    		"description": "<TUNNEL_DESCRIPTION>",
    		"interface_address": "<INTERFACE_ADDRESS>",
    		"cloudflare_endpoint": "<CLOUDFLARE_ENDPOINT>",
    		"customer_endpoint": "<CUSTOMER_ENDPOINT>"
    	}'
    {
    	"errors": [
    		{
    			"code": 1000,
    			"message": "message"
    		}
    	],
    	"messages": [
    		{
    			"code": 1000,
    			"message": "message"
    		}
    	],
    	"result": {
    		"ipsec_tunnels": [
    			{
    				"id": "<IPSEC_TUNNEL_ID>",
    				"interface_address": "<INTERFACE_CIDR>",
    				"name": "<TUNNEL_NAME>",
    				"cloudflare_endpoint": "<IP_ADDRESS>",
    				"customer_endpoint": "<IP_ADDRESS>",
    				"description": "<TUNNEL_DESCRIPTION>",
    				"health_check": {
    					"direction": "unidirectional",
    					"enabled": true,
    					"rate": "low",
    					"type": "reply"
    				},
    				"psk_metadata": {},
    				"replay_protection": false
    			}
    		]
    	},
    	"success": true
    }

    トンネルの id 値を控えてください。pre-shared key (PSK) の生成に使います。

  2. PSK を生成するには POST リクエスト を作成します。前のコマンドで受け取ったトンネル id を使います。

    Required API token permissions

    At least one of the following token permissions is required:
    • Magic WAN Write
    • Magic Transit Write
    Generate Pre-Shared Key (PSK) for IPsec tunnelsbash
    curl "https://api.cloudflare.com/client/v4/accounts/$ACCOUNT_ID/magic/ipsec_tunnels/$IPSEC_TUNNEL_ID/psk_generate" \
    	--request POST \
    	--header "Authorization: Bearer $CLOUDFLARE_API_TOKEN"
    {
    	"result": {
    		"ipsec_id": "<IPSEC_ID>",
    		"ipsec_tunnel_id": "<IPSEC_TUNNEL_ID>",
    		"psk": "<PSK_CODE>",
    		"psk_metadata": {
    			"last_generated_on": "2025-03-13T14:28:47.054317925Z"
    		}
    	},
    	"success": true,
    	"errors": [],
    	"messages": []
    }

    psk 値を控えてください。

  3. PSK で IPsec トンネルを更新するには PUT リクエスト を作成します。

    curl "https://api.cloudflare.com/client/v4/accounts/%7Baccount_id%7D/magic/ipsec_tunnels/%7Bipsec_tunnel_id%7D" \
    	--request PUT \
    	--json '{
    		"psk": "<PSK_VALUE>"
    	}'
{
  "result": {
    "modified": true,
    "modified_ipsec_tunnel": {
      "id": "<IPSEC_ID>",
      "interface_address": "<IPSEC_CIDR>",
      "created_on": "2025-03-13T14:28:21.139535Z",
      "modified_on": "2025-03-13T14:33:26.09683Z",
      "name": "<TUNNEL_NAME>",
      "cloudflare_endpoint": "<IP_ADDRESS>",
      "customer_endpoint": "<IP_ADDRESS>",
      "remote_identities": {
        "hex_id": "",
        "fqdn_id": "",
        "user_id": ""
      },
      "psk_metadata": {
        "last_generated_on": "2025-03-13T14:28:47.054318Z"
      },
      "description": "<TUNNEL_DESCRIPTION>",
      "health_check": {
        "enabled": true,
        "target": "",
        "type": "reply",
        "rate": "mid",
        "direction": "unidirectional"
      }
    }
  },
  "success": true,
  "errors": [],
  "messages": []
}
  1. ステップ 3 の psk 値を使い、機器側の IPsec トンネルも設定します。

双方向ヘルスチェックを設定する

双方向ヘルスチェックは GRE トンネルと IPsec トンネルで利用できます。Cloudflare WAN ではこのオプションはデフォルトで双方向です。

API では "bidirectional" または "unidirectional" で変更できます。

curl "https://api.cloudflare.com/client/v4/accounts/%7Baccount_id%7D/magic/ipsec_tunnels/%7Bipsec_tunnel_id%7D" \
	--request PUT \
	--json '{
		"health_check": {
				"direction": "bidirectional"
		}
	}'
{
  "result": {
    "modified": true,
    "modified_ipsec_tunnel": {
      "id": "<IPSEC_ID>",
      "interface_address": "<IPSEC_CIDR>",
      "created_on": "2025-03-13T14:28:21.139535Z",
      "modified_on": "2025-03-13T14:33:26.09683Z",
      "name": "<TUNNEL_NAME>",
      "cloudflare_endpoint": "<IP_ADDRESS>",
      "customer_endpoint": "<IP_ADDRESS>",
      "remote_identities": {
        "hex_id": "",
        "fqdn_id": "",
        "user_id": ""
      },
      "psk_metadata": {
        "last_generated_on": "2025-03-13T14:28:47.054318Z"
      },
      "description": "<TUNNEL_DESCRIPTION>",
      "health_check": {
        "enabled": true,
        "target": "",
        "type": "reply",
        "rate": "mid",
        "direction": "bidirectional"
      }
    }
  },
  "success": true,
  "errors": [],
  "messages": []
}

双方向ヘルスチェックと単方向ヘルスチェック

トンネルの健全性を確認するため、Cloudflare は ICMP (Internet Control Message Protocol) の reply パケット からなる ヘルスチェックプローブ をお客様のネットワークへ送ります。トンネルが健全かどうかを知るには、Cloudflare がこれらのプローブを受信する必要があります。

Cloudflare WAN では双方向ヘルスチェックがデフォルトです。Magic Transit(ダイレクトサーバーリターン)では単方向ヘルスチェックがデフォルトです。ただし、インターネット経由で単方向の ICMP reply パケットを Cloudflare へ戻す経路は、ステートフルファイアウォールなどの中間機器で破棄されることがあります。エグレス トラフィックがある Magic Transit のお客様は、この設定を双方向に変更できます。

レガシーの双方向ヘルスチェック

パブリック IP 範囲を使うレガシーヘルスチェックシステムをご利用のお客様には、次を推奨します。

  • トンネルヘルスチェックのターゲット IP アドレスを、172.64.240.252/30 プレフィックス範囲内のアドレスに設定する。
  • 送信元 IP アドレスが設定済みのトンネルヘルスチェックターゲット(例: 172.64.240.253/32)と一致する パケット に一致するポリシーベースルートを適用し、トンネル経由で Cloudflare へ戻す。

次のステップ

トンネルエンドポイントを設定したら、Cloudflare 経由でトラフィックを向けるルートを設定します。ルーティングの選択肢は 2 つです。

  • 静的ルート: ルートがほとんど変わらない、単純で安定したネットワーク向けです。各ルートを手動で定義します。
  • BGP peering: ルートが頻繁に変わる動的な環境、複数プレフィックスがある場合、自動フェイルオーバーが必要な場合に向きます。作成時にトンネルで BGP を有効にする必要があります。

両方の詳細な手順は ルートを設定する を参照してください。

ルートを設定したあと、サイトを設定 します。

トラブルシューティング

トンネルで問題が起きた場合:

役に立ちましたか?