コンテンツにスキップ

pfSense

Last reviewed: 3 months ago

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

テスト済みソフトウェア

メーカーファームウェアのリビジョン
pfSense24.03

前提条件

このチュートリアルでは、以下の情報を知っている必要があります。

  • Cloudflareから提供されたAnycast IPアドレス
  • 外部IPアドレス
  • 内部IPアドレス範囲
  • トンネル内の/31範囲

例のシナリオ

このチュートリアル全体で使用されるIPアドレスは以下の通りです。法的にルーティング可能なIPアドレスは、203.0.113.0/24サブネット内のIPv4アドレスブロック予約(RFC 5737)に置き換えられています。

トンネル名PF_TUNNEL_01PF_TUNNEL_02
インターフェースアドレス10.252.2.26/3110.252.2.28/31
顧客エンドポイント203.0.113.254203.0.113.254
Cloudflareエンドポイント<YOUR_ANYCAST_IP_ADDRESS_1><YOUR_ANYCAST_IP_ADDRESS_2>
pfSense IPsecフェーズ2ローカルIP10.252.2.2710.252.2.29
pfSense IPsecフェーズ2リモートIP10.252.2.2610.252.2.28
Magic WAN静的ルート — プレフィックス10.1.100.0/2410.1.100.0/24
Magic WAN静的ルート — 次ホップPF_TUNNEL_01PF_TUNNEL_02

1. Magic WAN IPsecトンネルの構成

CloudflareダッシュボードまたはAPIを使用して、2つのIPsecトンネルを構成します。以下に示す設定は、このガイドの残りの部分で参照されるIPsecトンネルに使用されます。

IPsecトンネルの追加

  1. トンネルの追加の手順に従って、以下のオプションで必要なIPsecトンネルを作成します。
    • トンネル名: PF_TUNNEL_01
    • インターフェースアドレス: 10.252.2.26/31
    • 顧客エンドポイント: 203.0.113.254
    • Cloudflareエンドポイント: Cloudflareから提供されたAnycast IPアドレスを入力します。
    • ヘルスチェックレート:
    • ヘルスチェックタイプ: リクエスト
    • ヘルスチェック方向: 双方向
  2. 後で事前共有キーを追加 > トンネルを追加を選択します。
  3. 同様のプロセスを繰り返して、以下のオプションで2つ目のIPsecトンネルを作成します。
    • トンネル名: PF_TUNNEL_02
    • インターフェースアドレス: 10.252.2.28/31
    • 顧客エンドポイント: 203.0.113.254
    • Cloudflareエンドポイント: Cloudflareから提供されたAnycast IPアドレスを入力します。
    • ヘルスチェックレート:
    • ヘルスチェックタイプ: リクエスト
    • ヘルスチェック方向: 双方向
  4. 後で事前共有キーを追加 > トンネルを追加を選択します。

事前共有キーの生成

後で事前共有キーを追加オプションでIPsecトンネルを作成すると、Cloudflareダッシュボードに警告インジケーターが表示されます。

  1. 作成した各IPsecトンネルのプロパティを編集するために編集を選択します。
  2. 新しい事前共有キーを生成 > 更新して事前共有キーを生成を選択します。
  3. 各IPsecトンネルの事前共有キーの値をコピーし、安全な場所に保存します。その後、完了を選択します。

IPsec識別子 - ユーザーID

IPsecトンネルを作成した後、Cloudflareダッシュボードにそれらがトンネルの下にリストされます。IPsecトンネルのユーザーIDを取得するには:

  1. Magic WAN > 構成に移動します。
  2. トンネルを選択します。
  3. IPsecトンネルを選択します。
  4. ユーザーIDまでスクロールし、文字列をコピーします。例えば、ipsec@long_string_of_letters_and_numbers

ユーザーIDは、pfSenseファイアウォールでIKEフェーズ1を構成する際に必要です。

2. Magic WAN静的ルートの作成

前のセクションで構成した2つのIPsecトンネルそれぞれに対して、以下の設定で静的ルートを作成します(ここで言及されていない設定はデフォルト値のままで構いません)。

トンネル01

  • 説明: PF_TUNNEL_01
  • プレフィックス: 10.1.100.0/24
  • トンネル/次ホップ: PF_TUNNEL_01

トンネル02

  • 説明: PF_TUNNEL_02
  • プレフィックス: 10.1.100.0/24
  • トンネル/次ホップ: PF_TUNNEL_02

3. pfSenseファイアウォールの構成

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

  • LAN: 203.0.113.254
  • WAN: <YOUR_WAN_ADDRESS>

IPsecフェーズ1の構成

新しい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

pfSense IPsecフェーズ1設定

pfSense IPsecフェーズ1設定

IPsecフェーズ2の構成

新しい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
  • フェーズ2提案(SA/鍵交換)
    • プロトコル: ESP
    • 暗号化アルゴリズム: AES 256ビット
    • ハッシュアルゴリズム: SHA256
    • DH鍵グループ: 14
    • ライフタイム: 3600

pfSense IPsecフェーズ2設定

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

pfSense IPsec概要

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

インターフェース > 割り当て > 追加で、最初のIPsecトンネルに割り当てる新しいインターフェースを作成し、以下の設定を行います。

  • 一般設定
    • 説明: CF1_IPsec_1
    • MSS: 1446
  • インターフェースの割り当て
    • WAN: WANインターフェースを追加します。例えば、vnet1
    • LAN: LANインターフェースを追加します。例えば、vnet0
    • フェーズ1のために上記で作成したCF_IPsec_1を追加します。

完了したら保存を選択します。

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

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

ゲートウェイ

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

インターフェースにすでに構成されたゲートウェイがあるはずです

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

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

IPsecのすべてのトラフィックを許可

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

ゲートウェイがオンラインになっているはずです

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

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

LANトラフィックのファイアウォールルールでゲートウェイを変更