pfSense
このチュートリアルでは、pfSenseファイアウォールをCloudflare Magic WANに接続するためのIPsecトンネルを構成する手順を説明します。
| メーカー | ファームウェアのリビジョン |
|---|---|
| pfSense | 24.03 |
このチュートリアルでは、以下の情報を知っている必要があります。
- Cloudflareから提供されたAnycast IPアドレス
- 外部IPアドレス
- 内部IPアドレス範囲
- トンネル内の
/31範囲
このチュートリアル全体で使用されるIPアドレスは以下の通りです。法的にルーティング可能なIPアドレスは、203.0.113.0/24サブネット内のIPv4アドレスブロック予約(RFC 5737 ↗)に置き換えられています。
| トンネル名 | PF_TUNNEL_01 | PF_TUNNEL_02 |
|---|---|---|
| インターフェースアドレス | 10.252.2.26/31 | 10.252.2.28/31 |
| 顧客エンドポイント | 203.0.113.254 | 203.0.113.254 |
| Cloudflareエンドポイント | <YOUR_ANYCAST_IP_ADDRESS_1> | <YOUR_ANYCAST_IP_ADDRESS_2> |
| pfSense IPsecフェーズ2ローカルIP | 10.252.2.27 | 10.252.2.29 |
| pfSense IPsecフェーズ2リモートIP | 10.252.2.26 | 10.252.2.28 |
| Magic WAN静的ルート — プレフィックス | 10.1.100.0/24 | 10.1.100.0/24 |
| Magic WAN静的ルート — 次ホップ | PF_TUNNEL_01 | PF_TUNNEL_02 |
CloudflareダッシュボードまたはAPIを使用して、2つのIPsecトンネルを構成します。以下に示す設定は、このガイドの残りの部分で参照されるIPsecトンネルに使用されます。
- トンネルの追加の手順に従って、以下のオプションで必要なIPsecトンネルを作成します。
- トンネル名:
PF_TUNNEL_01 - インターフェースアドレス:
10.252.2.26/31 - 顧客エンドポイント:
203.0.113.254 - Cloudflareエンドポイント: Cloudflareから提供されたAnycast IPアドレスを入力します。
- ヘルスチェックレート: 中
- ヘルスチェックタイプ: リクエスト
- ヘルスチェック方向: 双方向
- トンネル名:
- 後で事前共有キーを追加 > トンネルを追加を選択します。
- 同様のプロセスを繰り返して、以下のオプションで2つ目のIPsecトンネルを作成します。
- トンネル名:
PF_TUNNEL_02 - インターフェースアドレス:
10.252.2.28/31 - 顧客エンドポイント:
203.0.113.254 - Cloudflareエンドポイント: Cloudflareから提供されたAnycast IPアドレスを入力します。
- ヘルスチェックレート: 中
- ヘルスチェックタイプ: リクエスト
- ヘルスチェック方向: 双方向
- トンネル名:
- 後で事前共有キーを追加 > トンネルを追加を選択します。
後で事前共有キーを追加オプションでIPsecトンネルを作成すると、Cloudflareダッシュボードに警告インジケーターが表示されます。
- 作成した各IPsecトンネルのプロパティを編集するために編集を選択します。
- 新しい事前共有キーを生成 > 更新して事前共有キーを生成を選択します。
- 各IPsecトンネルの事前共有キーの値をコピーし、安全な場所に保存します。その後、完了を選択します。
IPsecトンネルを作成した後、Cloudflareダッシュボードにそれらがトンネルの下にリストされます。IPsecトンネルのユーザーIDを取得するには:
- Magic WAN > 構成に移動します。
- トンネルを選択します。
- IPsecトンネルを選択します。
- ユーザーIDまでスクロールし、文字列をコピーします。例えば、
ipsec@long_string_of_letters_and_numbers。
ユーザーIDは、pfSenseファイアウォールでIKEフェーズ1を構成する際に必要です。
前のセクションで構成した2つのIPsecトンネルそれぞれに対して、以下の設定で静的ルートを作成します(ここで言及されていない設定はデフォルト値のままで構いません)。
- 説明:
PF_TUNNEL_01 - プレフィックス:
10.1.100.0/24 - トンネル/次ホップ:
PF_TUNNEL_01
- 説明:
PF_TUNNEL_02 - プレフィックス:
10.1.100.0/24 - トンネル/次ホップ:
PF_TUNNEL_02
pfSenseをインストールして起動します。その後、LANおよびWANインターフェースとIPアドレスを割り当てて設定します。例えば:
- LAN:
203.0.113.254 - WAN:
<YOUR_WAN_ADDRESS>
新しいIPsecトンネルのフェーズ1エントリ ↗を追加し、以下の設定を行います。
- 一般情報
- 説明:
CF1_IPsec_P1
- 説明:
- IKEエンドポイント構成
- 鍵交換バージョン: IKE_v2
- インターネットプロトコル: IPv4
- インターフェース: WAN
- リモートゲートウェイ: CloudflareのAnycast IPアドレスを入力します。
- フェーズ1提案(認証)
- 認証方法: 相互PSK
- 私の識別子: ユーザー完全修飾ドメイン名 >
ipsec@long_string_of_letters_and_numbers
(この識別子はCloudflareのIPsecトンネル構成 > ユーザーIDから取得できます) - ピア識別子: ピアIPアドレス(CloudflareのAnycast IP)
- 事前共有キー: CloudflareのIPsecトンネルで使用しているPSKを入力します。
- フェーズ1提案(暗号化アルゴリズム)
- 暗号化アルゴリズム: AES 256ビット
- 鍵長: 256ビット
- ハッシュアルゴリズム: SHA256
- DH鍵グループ: 14
- ライフタイム:
28800


新しいIPsecトンネルのフェーズ2エントリ ↗を追加し、以下の設定を行います。トンネル1と2のエントリを作成し、ローカルおよびリモートネットワークのIPアドレスに適切な変更を加えます。
- 一般情報
- 説明:
CF1_IPsec_P2 - モード: ルーティング(VTI)
- 説明:
- ネットワーク
- ローカルネットワーク: アドレス > Cloudflareトンネルで割り当てられた
/31の上位IPアドレス。例えば、トンネル1の場合は10.252.2.27、トンネル2の場合は10.252.2.29。 - リモートネットワーク: アドレス > Cloudflare側の
/31の下位IPアドレス。例えば、トンネル1の場合は10.252.2.26、トンネル2の場合は10.252.2.28。
- ローカルネットワーク: アドレス > Cloudflareトンネルで割り当てられた
- フェーズ2提案(SA/鍵交換)
- プロトコル: ESP
- 暗号化アルゴリズム: AES 256ビット
- ハッシュアルゴリズム: SHA256
- DH鍵グループ: 14
- ライフタイム:
3600

変更が完了したら、変更を適用します。ステータス > IPsecに移動すると、フェーズ1とフェーズ2の両方が接続されていることを確認できます。

インターフェース > 割り当て > 追加で、最初のIPsecトンネルに割り当てる新しいインターフェースを作成し、以下の設定を行います。
- 一般設定
- 説明:
CF1_IPsec_1 - MSS:
1446
- 説明:
- インターフェースの割り当て
- WAN: WANインターフェースを追加します。例えば、
vnet1。 - LAN: LANインターフェースを追加します。例えば、
vnet0。 - フェーズ1のために上記で作成したCF_IPsec_1を追加します。
- WAN: WANインターフェースを追加します。例えば、
完了したら保存を選択します。


システム > ルーティング > ゲートウェイには、すでにゲートウェイが存在するはずです。この例では、CF1_IPSEC_1_VTIV4と名付けられています。

- ファイアウォールルール > IPsecインターフェースで、すべてのタイプのトラフィックを許可します。

- ステータス > ゲートウェイに移動します。
CF1_IPSEC_1_VTIV4がオンラインになっているはずです。

- ファイアウォール > ルール > LANで、すべてのタイプのトラフィックを許可します。
- 詳細セクションを展開します。
- ゲートウェイを
CF1_IPSEC_1_VTIV4に変更します。
