Cloudflare Virtual Network はルーティングテーブルを使い、Cloudflare のグローバルネットワークから接続済みネットワークへ、next-hop 経由でトラフィックを誘導します。Cloudflare Virtual Network のルーティングテーブルへのエントリ追加は、静的ルートの設定、または BGP ピアリング(ベータ)から学習したルートで行えます(Dataplane v2 の CNI に加え、IPsec と GRE トンネルでも利用できます)。
次に関連する技術的な側面は Traffic Steering を参照してください。
- ルートの優先度と重み
- 遅延を減らすためのリージョン単位のトラフィックスコープ
- BGP ピアリング(ベータ)
- Automatic Return Routing (ARR)
Cloudflare Virtual Network のルーティングテーブルで許可される IPv4 アドレス範囲は次のとおりです。
- RFC 1918 ↗ アドレス空間。具体的には
10.0.0.0/8、172.16.0.0/12、192.168.0.0/16です。
Cloudflare WAN と Cloudflare Tunnel を併用する場合、Cloudflare WAN の静的ルートを選ぶときは、Cloudflare Tunnel の静的ルートで使っている IP 範囲を考慮します。詳細は Cloudflare Tunnel を参照してください。
RFC 1918 以外のプレフィックスについては、Cloudflare のカスタマーサービスマネージャーへ連絡してください。
- Cloudflare One ↗ にログインし、Networks を開きます。
- Routes > WAN Routes を開き、Create を選択して新しいルートを追加します。
- Description にルートの分かりやすい名前を入力します。
- Prefix に IP アドレス範囲を入力します。例:
10.10.10.100/24。 - Tunnel/Next hop で、トンネルエンドポイントを設定する で作成したトンネルからルート用のトンネルを選びます。
- ルートの Priority を選びます。数値が小さいほど優先度が高くなります。
- (任意)ルートの Weight を選びます。例は 静的ルートの優先度と重みを設定する を参照してください。
- (任意)ルートを特定リージョンにスコープする必要がある場合は、Region code で設定できます。
- (任意)追加する前に Test routes を選択してルートをテストすることを強く推奨します。
- Add routes を選択します。
API を使って POST リクエストを作成し、1 つ以上の静的ルートを作成します。
例:
Required API token permissions
At least one of the following token permissions is required:Magic WAN WriteMagic Transit Write
curl "https://api.cloudflare.com/client/v4/accounts/$ACCOUNT_ID/magic/routes" \
--request POST \
--header "Authorization: Bearer $CLOUDFLARE_API_TOKEN" \
--json '{
"nexthop": "<IP_NEXT_HOP>",
"prefix": "<YOUR_IP_PREFIX>",
"priority": 0,
"id": "023e105f4ecef8ad9ca31a8372d0c353",
"description": "<ROUTE_DESCRIPTION>",
"scope": {
"colo_names": [
"den01"
],
"colo_regions": [
"APAC"
]
},
"weight": 0
}'{
"errors": [
{
"code": 1000,
"message": "message"
}
],
"messages": [
{
"code": 1000,
"message": "message"
}
],
"result": {
"routes": [
{
"nexthop": "203.0.113.1",
"prefix": "192.0.2.0/24",
"priority": 0,
"id": "023e105f4ecef8ad9ca31a8372d0c353",
"description": "New route for new prefix 203.0.113.1",
"scope": {
"colo_names": [
"den01"
],
"colo_regions": [
"APAC"
]
},
"weight": 0
}
]
},
"success": true
}- Routes > WAN Routes で、変更するルートを探します。
- 横の三点リーダーを選択し、Edit を選びます。
- 更新したルート情報を入力します。
- (任意)追加する前に Test routes を選択してルートをテストすることを強く推奨します。
- Edit routes を選択します。
API を使って PUT リクエストを作成し、1 つ以上の静的ルートを更新します。
例:
Required API token permissions
At least one of the following token permissions is required:Magic WAN WriteMagic Transit Write
curl "https://api.cloudflare.com/client/v4/accounts/$ACCOUNT_ID/magic/routes/$ROUTE_ID" \
--request PUT \
--header "Authorization: Bearer $CLOUDFLARE_API_TOKEN" \
--json '{
"nexthop": "<IP_NEXT_HOP>",
"prefix": "<YOUR_IP_PREFIX>",
"priority": 0,
"id": "023e105f4ecef8ad9ca31a8372d0c353",
"description": "<ROUTE_DESCRIPTION>",
"scope": {
"colo_names": [
"den01"
],
"colo_regions": [
"APAC"
]
},
"weight": 0
}'{
"errors": [
{
"code": 1000,
"message": "message"
}
],
"messages": [
{
"code": 1000,
"message": "message"
}
],
"result": {
"modified": true,
"modified_route": {
"nexthop": "203.0.113.1",
"prefix": "192.0.2.0/24",
"priority": 0,
"id": "023e105f4ecef8ad9ca31a8372d0c353",
"description": "New route for new prefix 203.0.113.1",
"scope": {
"colo_names": [
"den01"
],
"colo_regions": [
"APAC"
]
},
"weight": 0
}
},
"success": true
}- Routes > WAN Routes で、削除する静的ルートを探します。
- 横の三点リーダーを選択し、Delete を選びます。
- チェックボックスを選択して操作を確認し、Delete を選択します。
API を使って DELETE リクエストを作成し、静的ルートを削除します。
例:
Required API token permissions
At least one of the following token permissions is required:Magic WAN WriteMagic Transit Write
curl "https://api.cloudflare.com/client/v4/accounts/$ACCOUNT_ID/magic/routes/$ROUTE_ID" \
--request DELETE \
--header "Authorization: Bearer $CLOUDFLARE_API_TOKEN"{
"errors": [
{
"code": 1000,
"message": "message"
}
],
"messages": [
{
"code": 1000,
"message": "message"
}
],
"result": {
"deleted": true,
"deleted_route": {
"nexthop": "203.0.113.1",
"prefix": "192.0.2.0/24",
"priority": 0,
"id": "023e105f4ecef8ad9ca31a8372d0c353",
"description": "New route for new prefix 203.0.113.1",
"scope": {
"colo_names": [
"den01"
],
"colo_regions": [
"APAC"
]
},
"weight": 0
}
},
"success": true
}Automatic Return Routing により、Cloudflare は Cloudflare WAN(旧 Magic WAN)接続拠点からのネットワークフローを追跡し、静的または動的ルートなしで、受信した接続へ戻りトラフィックをルーティングします。この機能には Unified Routing モード が必要です。
ARR を有効にするには:
- IPsec または GRE トンネルの作成方法は トンネルを追加する を参照してください。
- トンネルのオプションで Automatic return routing を選択します。
- Add tunnels を選択して変更を保存します。
ARR を有効にした IPsec または GRE トンネルを作成する POST リクエストを作成します。例:
Required API token permissions
At least one of the following token permissions is required:Magic WAN WriteMagic Transit Write
curl "https://api.cloudflare.com/client/v4/accounts/$ACCOUNT_ID/magic/ipsec_tunnels" \
--request POST \
--header "Authorization: Bearer $CLOUDFLARE_API_TOKEN" \
--json '{
"cloudflare_endpoint": "<CLOUDFLARE_ENDPOINT>",
"interface_address": "<INTERFACE_ADDRESS>",
"name": "IPsec_1",
"customer_endpoint": "<CUSTOMER_ENDPOINT>",
"description": "Tunnel for ISP X",
"psk": "<PSK>",
"automatic_return_routing": "true"
}'BGP ピアリングは、次のオンランプで利用できます。
- Dataplane v2 の CNI(クローズドベータで、新規のお客様には提供されていません)。
- IPsec および GRE トンネル(ベータ)。Unified Routing が必要です。
Cloudflare Virtual Network のルーティングテーブルはお客様が管理します。Cloudflare 側の ASN(自律システム番号)と、お客様デバイスの ASN の両方を選べます。お客様デバイスの ASN は 2 バイトまたは 4 バイトです。
デフォルトでは、各 BGP ピアリングセッションは、Cloudflare Virtual Network ルーティングテーブルとのピアリングを表す同じ Cloudflare 側 ASN を使います。この ASN は CF Account ASN と呼ばれ、13335 に設定されます。プライベート 2 バイト ASN(64512 から 65534 の任意の値。例: 65000)に設定できます。
この ASN を設定するには:
- Cloudflare One ↗ にログインし、Networks を開きます。
- Routes > WAN configuration を開きます。
- Border Gateway Protocol (BGP) configuration で Edit を選択し、ASN を入力します。
- Save を選択します。
Cloudflare WAN のお客様は、次の点にも注意してください。
- お客様はデバイス ASN を選びます。Cloudflare 側 ASN と異なる必要があります。
- Cloudflare 側 ASN は、BGP 対応のオンランプ(インターコネクト、IPsec、GRE トンネル)へ通知されるルートの
AS_PATHに含まれます。 - お客様が通知する
AS_PATHはオンランプ間で推移的です。つまり、BGP 経由で Cloudflare から受け取ったルートのAS_PATHに、起点(お客様)ASN が見えます。デフォルトの BGP ループ防止により、ルーターはAS_PATHに自 ASN を含むルートを拒否します。たとえば、2 つの Cloudflare WAN 接続サイトがどちらもASN 65000を使う場合、サイト A はサイト B からのルートを受け入れず、その逆も同様です。各サイトが通知されたAS_PATHに自 ASN を見るためです。
Cloudflare WAN 経由でプライベートネットワーク間のルーティングを有効にするには、次のいずれかを行います。- 各サイト / ネットワークに一意の ASN を割り当てる、または
- エッジ CPE が
AS_PATHに自 ASN を含む BGP ルートを受け入れるよう設定する。
2 つの ASN を設定する必要があります。
- CF Account ASN という名前の Cloudflare アカウントスコープ ASN。
- BGP を設定したい各オンランプの ASN 1 つ。
Cloudflare アカウント ASN をすでに設定済みなら、次の手順 2 と 3 をスキップします。
-
Cloudflare One ↗ にログインし、Networks を開きます。
-
Routes > WAN configuration を開きます。
-
Border Gateway Protocol (BGP) configuration で Edit ASN を選択し、ASN を入力します。
-
Networks > Connectors > Interconnects を開きます。
-
Dataplane v2 の CNI インターコネクトを探し、横の 三点リーダー を選択して Configure BGP を選びます。
-
Customer device ASN にネットワークの ASN を入力します。
-
MD5 key には、任意でネットワークのキーを入力できます。これは誤設定の防止が目的で、セキュリティ機構ではありません。
-
(任意)Additional Advertised prefix list に、既存ルートと一緒に通知したい追加プレフィックスを入力します。追加ルートを通知しない場合は空のままにします。ここでよく設定するプレフィックスは次です。
- デフォルトルート
0.0.0.0/0へのルート — Gateway 付き Cloudflare WAN を使う場合に、インターネット向けトラフィックを引き込むため。 100.96.0.0/12へのルート。Cloudflare One Clients がデフォルトで使う CGNAT 空間の一部です。100.64.0.0/12へのルート。Cloudflare Source IPs がデフォルトで使う CGNAT 空間の一部です。
- デフォルトルート
-
Save を選択します。
-
Cloudflare One ↗ にログインし、Networks を開きます。
-
Routes > WAN configuration を開きます。
-
Border Gateway Protocol (BGP) configuration で Edit ASN を選択し、ASN を入力します。
-
Networks > Connectors > Cloudflare WAN を開きます。
-
IPsec/GRE tunnels で、BGP を設定したいトンネルを探し、横の 三点リーダー を選択して Configure BGP を選びます。
-
Customer device ASN にネットワークの ASN を入力します。
-
MD5 key には、任意でネットワークのキーを入力できます。これは誤設定の防止が目的で、セキュリティ機構ではありません。
-
(任意)Additional Advertised prefix list に、既存ルートと一緒に通知したい追加プレフィックスを入力します。追加ルートを通知しない場合は空のままにします。ここでよく設定するプレフィックスは次です。
- デフォルトルート
0.0.0.0/0へのルート — Gateway 付き Cloudflare WAN を使う場合に、インターネット向けトラフィックを引き込むため。 100.96.0.0/12へのルート。Cloudflare One Clients がデフォルトで使う CGNAT 空間の一部です。100.64.0.0/12へのルート。Cloudflare Source IPs がデフォルトで使う CGNAT 空間の一部です。
- デフォルトルート
-
Save を選択します。
トンネル(GRE または IPsec)の BGP ピアリングを設定する場合、次を把握してください。
-
Customer Premises Equipment (CPE) が BGP ピアリングセッションを開始する必要があります。Cloudflare は開始しません。
-
BGP スピーカーは、トンネルの IPv4 インターフェースアドレスとピアする必要があります。CPE 側のピアリング接続には任意の IPv4 アドレスを使えます。
/31または/30インターフェースサブネットのもう一方のアドレスを使う必要はありません。 -
Hold time は 0 秒より大きくする必要があります(BGP
KEEPALIVEメッセージが必要です)。Cloudflare は少なくとも 45 秒を推奨します。Cloudflare は GRE / IPsec トンネルに対して 90 秒の hold time を通知します。90 秒より大きい値を設定した場合、ネゴシエートされた hold time は BGP の標準的な交渉方法に従い 90 秒になります。 -
Connect retry time は低くしてください(例: 5 秒または 10 秒)。
-
CPE は 1 つの BGP セッションで最大 5,000 プレフィックスを通知できます。
-
MD5 認証は任意です。最大 80 文字です。サポートされる文字は
a-zA-Z0-9'!@#$%^&*()+[]{}<>/.,;:_-~`= \\|です。
トンネルとルートを設定したので、次はサイトを作成します。サイトはデータセンター、オフィス、その他の物理拠点のローカルネットワークを表し、そこで利用できるすべてのオンランプをまとめます。サイトでは、オンランプの状態を一目で確認し、サイトのオンランプに問題があるときに Cloudflare が通知するヘルスアラート設定も行えます。
詳細は サイトをセットアップする を参照してください。