Skip to content

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

pfSense

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

このチュートリアルでは、pfSense ファイアウォールを Cloudflare WAN(旧称 Magic WAN)に接続するための IPsec トンネル設定手順を説明します。

検証したソフトウェア

メーカー ファームウェアの版
pfSense 24.03

前提条件

このチュートリアルでは、次の情報が必要です。

  • Anycast IP アドレス(Cloudflare が提供します)
  • 外部 IP アドレス
  • 内部 IP アドレス範囲
  • トンネル内側の /31 範囲

シナリオの例

このチュートリアルでは、次の IP アドレスを使います。例では、インターネット上で正式にルーティング可能な IP アドレスの代わりに、203.0.113.0/24 サブネット内の文書用予約 IPv4 アドレスブロック(RFC 5737)を使います。

トンネル名 PF_TUNNEL_01 PF_TUNNEL_02
Interface address 10.252.2.26/31 10.252.2.28/31
Customer endpoint 203.0.113.254 203.0.113.254
Cloudflare endpoint <YOUR_ANYCAST_IP_ADDRESS_1> <YOUR_ANYCAST_IP_ADDRESS_2>
pfSense IPsec Phase 2 Local IP 10.252.2.27 10.252.2.29
pfSense IPsec Phase 2 Remote IP 10.252.2.26 10.252.2.28
Cloudflare WAN 静的ルート - Prefix 10.1.100.0/24 10.1.100.0/24
Cloudflare WAN 静的ルート - Next hop PF_TUNNEL_01 PF_TUNNEL_02

1. Cloudflare WAN の IPsec トンネルを設定する

Cloudflare ダッシュボードまたは API で IPsec トンネルを 2 本設定 します。以降の手順では、次の IPsec トンネル設定を使います。

IPsec トンネルを追加する

  1. Add tunnels の手順に従い、次のオプションで必要な IPsec トンネルを作成します。
    • Tunnel name: PF_TUNNEL_01
    • Interface address: 10.252.2.26/31
    • Customer endpoint: 203.0.113.254
    • Cloudflare endpoint: Leased IPs で確認できる、アカウントに割り当てられた anycast IP アドレスの 1 つを入力します。
    • Health check rate: Medium
    • Health check type: Request
    • Health check direction: Bidirectional
    • Turn on replay protection: Enable
  2. Add pre-shared key later > Add tunnels を選択します。
  3. 同じ手順を繰り返し、次のオプションで 2 本目の IPsec トンネルを作成します。
    • Tunnel name: PF_TUNNEL_02
    • Interface address: 10.252.2.28/31
    • Customer endpoint: 203.0.113.254
    • Cloudflare endpoint: アカウントに割り当てられた 2 つ目の anycast IP アドレスを入力します。
    • Health check rate: Medium
    • Health check type: Request
    • Health check direction: Bidirectional
    • Turn on replay protection: Enable
  4. Add pre-shared key later > Add tunnels を選択します。

事前共有キーを生成する

Add pre-shared key later で IPsec トンネルを作成すると、Cloudflare ダッシュボードに警告が表示されます。

  1. Edit を選択し、各 IPsec トンネルのプロパティを編集します。
  2. Generate a new pre-shared key > Update and generate pre-shared key を選択します。
  3. 各 IPsec トンネルの事前共有キーの値をコピーして保存し、Done を選択します。

IPsec 識別子 - User ID

IPsec トンネルを作成すると、Cloudflare ダッシュボードの Tunnels に一覧表示されます。IPsec トンネルの User ID を確認する手順は次のとおりです。

  1. Connectors ページを開きます。
Connectors を開く ↗
  1. IPsec/GRE tunnels タブで、対象の IPsec トンネルを選択します。
  2. User ID までスクロールし、文字列をコピーします。例: ipsec@long_string_of_letters_and_numbers

pfSense ファイアウォールで IKE Phase 1 を設定するには、この User ID が必要です。

2. Cloudflare WAN の静的ルートを作成する

前のセクションで設定した 2 本の IPsec トンネルそれぞれに 静的ルート を作成します。次の設定を使い、ここにない項目はデフォルトのままで構いません。

Tunnel 01

  • Description: PF_TUNNEL_01
  • Prefix: 10.1.100.0/24
  • Tunnel/Next hop: PF_TUNNEL_01

Tunnel 02

  • Description: PF_TUNNEL_02
  • Prefix: 10.1.100.0/24
  • Tunnel/Next hop: PF_TUNNEL_02

3. pfSense ファイアウォールを設定する

pfSense をインストールして起動します。続けて LAN と WAN のインターフェイス、および IP アドレスを割り当てます。例:

  • LAN: 203.0.113.254
  • WAN: <YOUR_WAN_ADDRESS>

IPsec Phase 1 を設定する

次の設定で、新しい IPsec トンネルの Phase 1 エントリ を追加します。

  • General Information
    • Description: CF1_IPsec_P1
  • IKE Endpoint Configuration
    • Key exchange version: IKE_v2
    • Internet Protocol: IPv4
    • Interface: WAN
    • Remote gateway: Cloudflare の Anycast IP アドレスを入力します。
  • Phase 1 Proposal (Authentication)
    • Authentication method: Mutual PSK
    • My identifier: User Fully qualified domain name > ipsec@long_string_of_letters_and_numbers
      (この識別子は Cloudflare の IPsec トンネル設定 > User ID で確認します)
    • Peer identifier: Peer IP Address(Cloudflare Anycast IP)
    • Pre-Shared Key (PSK): Cloudflare の IPsec トンネルで使った事前共有キーを入力します。
  • Phase 1 proposal (Encryption algorithm)
    • Encryption algorithm: AES 256 bits
    • Key length: 256 bits
    • Hash algorithm: SHA256
    • DH key group: 20
    • Lifetime: 86400

IPsec Phase 2 を設定する

次の設定で、新しい IPsec トンネルの Phase 2 エントリ を追加します。Phase 2 エントリはトンネル 1 用とトンネル 2 用に 2 つ作成し、ローカルおよびリモートネットワークの IP アドレスをそれぞれ合わせて調整します。

  • General Information
    • Description: CF1_IPsec_P2
    • Mode: Routed (VTI)(Virtual Tunnel Interface)
  • Networks
    • Local Network: Address > Cloudflare トンネルに割り当てた /31 のうち大きい方の IP アドレス。例: トンネル 1 は 10.252.2.27、トンネル 2 は 10.252.2.29
    • Remote Network: Address > Cloudflare 側の /31 のうち小さい方の IP アドレス。例: トンネル 1 は 10.252.2.26、トンネル 2 は 10.252.2.28
  • Phase 2 Proposal (SA/Key Exchange)
    • Protocol: ESP(Encapsulating Security Payload)
    • Encryption algorithm: AES 256 bits
    • Hash algorithm: SHA256
    • DH key group: 20
    • Lifetime: 28800

変更を適用します。Status > IPsec を開き、Phase 1 と Phase 2 の両方が接続されていることを確認します。

pfSense の IPsec 概要

インターフェイスの割り当て

Interfaces > Assignments > Add で、最初の IPsec トンネルに割り当てる新しいインターフェイスを、次の設定で作成します。

  • General configuration
    • Description: CF1_IPsec_1
    • MSS: 1446
  • Interface Assignments
    • WAN: WAN インターフェイスを追加します。例: vnet1
    • LAN: LAN インターフェイスを追加します。例: vnet0
    • 上記 Phase 1 の CF_IPsec_1 インターフェイスを追加します。

Save を選択して変更を適用します。

最初の IPsec トンネルに新しいインターフェイスを割り当てます
インターフェイス割り当てを設定します

ゲートウェイ

System > Routing > Gateways には、すでにゲートウェイがあるはずです。この例では名前は CF1_IPSEC_1_VTIV4 です。

インターフェイスには、すでにゲートウェイが設定されています

ファイアウォールルール(IPsec)

  1. Firewall Rules > IPsec interface で、すべての種類のトラフィックを許可します。
IPsec ですべてのトラフィックを許可します
  1. Status > Gateways を開きます。CF1_IPSEC_1_VTIV4 がオンラインになっているはずです。
ゲートウェイがオンラインになっているはずです

ファイアウォールルール(LAN)

  1. Firewall > Rules > LAN で、すべての種類のトラフィックを許可します。
  2. Advanced セクションを展開します。
  3. Gateway を CF1_IPSEC_1_VTIV4 に変更します。
LAN トラフィックのファイアウォールルールでゲートウェイを変更します

役に立ちましたか?