このチュートリアルでは、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 |
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: アカウントに割り当てられたエニーキャスト IP アドレスの 1 つを入力します。Leased IPs ↗ で確認できます。
- 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 つ目のエニーキャスト 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 のエニーキャスト 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 エントリ ↗ を追加します。Phase 2 エントリは 2 つ(トンネル 1 用とトンネル 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に変更します。
