Skip to content

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

pfSense

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

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

検証したソフトウェア

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

前提条件

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

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

シナリオ例

このチュートリアルでは、次の IP アドレスを使います。実際にルーティング可能な IP アドレスの代わりに、ドキュメント用に予約された IPv4 アドレスブロック(RFC 5737)の 203.0.113.0/24 サブネット内のアドレスを使っています。

Tunnel name 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 static routes - Prefix 10.1.100.0/24 10.1.100.0/24
Cloudflare WAN static routes - 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: アカウントに割り当てられたエニーキャスト IP アドレスの 1 つを入力します。Leased IPs で確認できます。
    • 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 つ目のエニーキャスト 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 トンネルそれぞれに、次の設定で 静的ルート を作成します(ここに記載していない設定はデフォルトのままで構いません)。

トンネル 01

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

トンネル 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 のエニーキャスト 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 のエニーキャスト 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 エントリは 2 つ(トンネル 1 用とトンネル 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 です。

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

Firewall Rules IPsec

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

Firewall Rules LAN

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

役に立ちましたか?