このチュートリアルでは、次のバージョンの 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: Leased IPs ↗ で確認できる、アカウントに割り当てられた Cloudflare anycast IP アドレスのいずれかを入力します。この例では
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 で IPsec トンネル作成後に保存した 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 トンネルのヘルスを監視します。詳細は ダッシュボードでトンネルヘルスを確認する を参照してください。