このチュートリアルでは、次のバージョンの SonicWall アプライアンスで Cloudflare WAN(旧 Magic WAN)を使う方法を説明します。
- 検証したハードウェア:
- SonicWall NSv 470
- SonicWall 3700
- 検証したソフトウェアバージョン:
- SonicOS 7.0.1
SonicWall アプライアンスは IPsec トンネル 経由で Cloudflare WAN に接続できます。Generic Routing Encapsulation(GRE)は SonicWall ではサポートされていません。
注: この画像のラベルは、以前の製品名のままの場合があります。
次の手順では、SonicWall デバイスに IPsec 接続を設定します。接続の作成には、上記トポロジー例の IP 範囲を使います。明示していない設定は、デフォルト値のままで構いません。
-
まず Cloudflare 側で IPsec トンネルを作成 します。必要に応じてトンネルに名前と説明を付け、次の設定を追加します。
- Interface address: IPsec トンネルの Cloudflare 側の内部トンネル IP を入力します。この例では
10.200.1.0/31です。 - Customer endpoint: SonicWall デバイスの WAN IP アドレスを入力します。この例では
198.51.100.2です。 - Cloudflare endpoint: アカウントに割り当てられた Cloudflare anycast IP アドレスの 1 つを入力します。アドレスは Leased IPs ↗ で確認できます。この例では
1.2.3.4です。 - Pre-shared key: Use my own pre-shared key を選択し、用意した安全なキーを貼り付けます。
- Interface address: IPsec トンネルの Cloudflare 側の内部トンネル IP を入力します。この例では
-
完了したら Add tunnels を選択します。
-
トンネル作成後、Cloudflare ダッシュボードにアカウントのトンネル一覧が表示されます。作成したトンネルの矢印を選択して展開し、次の設定を確認します。
- Customer endpoint: VPN ポリシーがバインドされる SonicWall の WAN IP です(赤)。
- Cloudflare endpoint: Cloudflare の anycast IP アドレスです(青)。
- FQDN ID: SonicWall の Local IKE ID として VPN ポリシーで使う ID です。この ID をコピーして保存します。SonicWall 側のトンネル設定で使います(緑)。
IPsec トンネル経由で到達するネットワークには、静的ルートが必要です。この例では、172.31.3.0/24 とトンネルネットワーク 10.200.1.0/31 の 2 つがあります。
-
静的ルートを作成 します。必要に応じて名前と説明を付け、次の設定を追加します。
- First tunnel: この例では、Prefix に
10.200.1.0/31、Tunnel/Next hop に10.200.1.1を指定します。 - Second tunnel: この例では、Prefix に
172.31.3.0/24、Tunnel/Next hop に10.200.1.1を指定します。
- First tunnel: この例では、Prefix に
-
完了したら Add routes を選択します。
- Network > IPsec VPN > Rules and Settings を開きます。
- Add を選択します。
- General > Security Policy グループで、次の設定を追加します。
- Authentication Method: IKE Using Preshared Secret。
- IPsec Primary Gateway Name or Address: プライマリゲートウェイ用の Cloudflare anycast IP アドレスを入力します(青)。
- IKE Authentication グループで、次の設定を追加します。
- Shared secret: 手順 1 で IPsec トンネル作成時に使った事前共有キーを貼り付けます(紫)。
- Local IKE ID: ドロップダウンから Domain name を選び、手順 1 でトンネル作成後に保存した FQDN ID を貼り付けます(緑)。
- Peer IKE IDE: ドロップダウンから IPv4 Address を選び、Cloudflare anycast IP アドレスを入力します(青)。

- Proposals を選択します。VPN Policy はある程度柔軟です。組織のセキュリティポリシーに合わせて調整してください。例として、次の設定を使えます。
- IKE (Phase 1) Proposal グループで、次の設定を選択します。
- Exchange: IKEv2 Mode
- DH Group: Group 20
- Encryption: AES-256
- Authentication: SHA256
- Life Time (seconds):
86400
- IPsec (Phase 2) Proposal グループで、次の設定を追加します。
- Protocol: ESP
- Encryption: AESGCM16-256
- Authentication: None
- Enable Perfect Forward Secrecy: Enabled
- DH Group: Group 20
- Life Time (seconds):
28800
- Advanced を選択します。
- Disable IPsec Anti-Replay を有効にします。
- VPN Policy bound to で、ドロップダウンから WAN インターフェースを選び、VPN にバインドします。
- Save を選択します。

SonicOS では、Cloudflare WAN 経由でトラフィックをルーティングするために VPN トンネルインターフェースが必要です。インターフェース作成時はプレフィックス 10.200.1.1/31 を使います。これは、このトンネルの Cloudflare 側 10.200.1.0 と対応します。
- Network > System > Interfaces を開きます。
- Add interface > VPN Tunnel Interface を選択します。
- IP Address には
10.200.1.1を使います。 - Ping を有効にします。デバッグと Cloudflare WAN のヘルスチェックで、インターフェースへ ping できるようにするために必要です。

- Advanced を選択します。
- Enable Asymmetric Route Support オプションを有効にします。IPsec トンネルのヘルスチェックに必要です。

- OK を選択します。
アドレスオブジェクトは、ルートポリシーに必要です。この例では、Cloudflare WAN 経由で到達する別サイトが 1 つあります。まず各ネットワークのアドレスオブジェクトを作成します。次に、リモートネットワークをすべて含むアドレスグループを作成します。このアドレスグループは、次の手順で正しいルートポリシーを作成するときに使います。
アドレスオブジェクトを追加するには、次の手順を実行します。
- Object > Match Objects > Addresses を選択します。
- Address Objects > Add を選択します。
- アドレスオブジェクトの情報を入力します。例はトポロジー画像を参照してください。アドレスは VPN ゾーンにあるため、オブジェクトの Zone Assignment は VPN にします。
- Save を選択します。複数入力しやすいよう、ウィンドウは開いたままです。閉じるには X を選択します。

- Address Groups > Add を選択し、新しいアドレスグループを追加します。
- アドレスグループの Name を入力します。
- 左メニューで作成済みの個別ネットワークオブジェクトを選び、中央列の右向き矢印でグループに追加します。
- Save を選択します。

作成したアドレスオブジェクトまたはグループを宛先として、ルートを追加します。
- Policy > Rules and Policies > Routing Rules を選択します。
- Add を選択し、ルートポリシーを追加します。
- Next Hop は、先ほどインターフェースパネルで作成した VPN トンネルインターフェースにします。
Cloudflare WAN のヘルスチェックを正しく動かすには、追加のアクセスルールが必要です。これにより、WAN IP がトンネル経由で ICMP ping を受信し、WAN 経由で応答を返せます。
- Policy > Rules and Policies を選択します。
- Access Rules > Add を選択します。
- ポリシーに分かりやすい名前を入力します。
- Source / Destination > Destination > Port/Services で、ドロップダウンから ICMP を選択します。
- Optional Settings を選択します。
- Others で Allow Management traffic を有効にします。
Cloudflare WAN のヘルスチェック を正しく設定する必要があります。設定例は次のとおりです。
curl --request PUT \
https://api.cloudflare.com/client/v4/accounts/{account_id}/magic/ipsec_tunnels/{tunnel_id} \
--header "X-Auth-Email: <EMAIL>" \
--header "X-Auth-Key: <API_KEY>" \
--header "Content-Type: application/json" \
--data '{
"health_check": {
"direction": "bidirectional",
"enabled": true,
"type": "request",
"rate": "low"
}
}'設定変更後、ヘルスチェックが安定するまで時間がかかることがあります。
Cloudflare ダッシュボードは、Cloudflare からオリジンネットワークへトラフィックをルーティングする、アカウント上のすべての anycast トンネルの健全性を監視します。詳細は ダッシュボードでトンネルの健全性を確認する を参照してください。