このチュートリアルでは、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 |
Cloudflare ダッシュボードまたは API で IPsec トンネルを 2 本設定 します。以降の手順では、次の IPsec トンネル設定を使います。
- 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
- Tunnel name:
- Add pre-shared key later > Add tunnels を選択します。
- 同じ手順を繰り返し、次のオプションで 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
- Tunnel name:
- Add pre-shared key later > Add tunnels を選択します。
Add pre-shared key later で IPsec トンネルを作成すると、Cloudflare ダッシュボードに警告が表示されます。
- Edit を選択し、各 IPsec トンネルのプロパティを編集します。
- Generate a new pre-shared key > Update and generate pre-shared key を選択します。
- 各 IPsec トンネルの事前共有キーの値をコピーして保存し、Done を選択します。
IPsec トンネルを作成すると、Cloudflare ダッシュボードの Tunnels に一覧表示されます。IPsec トンネルの User ID を確認する手順は次のとおりです。
- Connectors ページを開きます。
- IPsec/GRE tunnels タブで、対象の IPsec トンネルを選択します。
- User ID までスクロールし、文字列をコピーします。例:
ipsec@long_string_of_letters_and_numbers。
pfSense ファイアウォールで IKE Phase 1 を設定するには、この User ID が必要です。
前のセクションで設定した 2 本の IPsec トンネルそれぞれに 静的ルート を作成します。次の設定を使い、ここにない項目はデフォルトのままで構いません。
- Description:
PF_TUNNEL_01 - Prefix:
10.1.100.0/24 - Tunnel/Next hop:
PF_TUNNEL_01
- Description:
PF_TUNNEL_02 - Prefix:
10.1.100.0/24 - Tunnel/Next hop:
PF_TUNNEL_02
pfSense をインストールして起動します。続けて LAN と WAN のインターフェイス、および IP アドレスを割り当てます。例:
- LAN:
203.0.113.254 - WAN:
<YOUR_WAN_ADDRESS>
次の設定で、新しい IPsec トンネルの Phase 1 エントリ ↗ を追加します。
- General Information
- Description:
CF1_IPsec_P1
- Description:
- 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 エントリ ↗ を追加します。Phase 2 エントリはトンネル 1 用とトンネル 2 用に 2 つ作成し、ローカルおよびリモートネットワークの IP アドレスをそれぞれ合わせて調整します。
- General Information
- Description:
CF1_IPsec_P2 - Mode: Routed (VTI)(Virtual Tunnel Interface)
- Description:
- 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。
- Local Network: Address > Cloudflare トンネルに割り当てた
- 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 の両方が接続されていることを確認します。

Interfaces > Assignments > Add で、最初の IPsec トンネルに割り当てる新しいインターフェイスを、次の設定で作成します。
- General configuration
- Description:
CF1_IPsec_1 - MSS:
1446
- Description:
- Interface Assignments
- WAN: WAN インターフェイスを追加します。例:
vnet1。 - LAN: LAN インターフェイスを追加します。例:
vnet0。 - 上記 Phase 1 の CF_IPsec_1 インターフェイスを追加します。
- WAN: WAN インターフェイスを追加します。例:
Save を選択して変更を適用します。


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

- Firewall Rules > IPsec interface で、すべての種類のトラフィックを許可します。

- Status > Gateways を開きます。
CF1_IPSEC_1_VTIV4がオンラインになっているはずです。

- Firewall > Rules > LAN で、すべての種類のトラフィックを許可します。
- Advanced セクションを展開します。
- Gateway を
CF1_IPSEC_1_VTIV4に変更します。
