OpenVPNを使用してpfSense上でProton VPNを設定する方法
- 閲覧中
- 2 分
- カテゴリー
- ルーター
本ガイドでは、OpenVPNのVPNプロトコルを使用して、pfSense 23.09およびpfSense 2.7.xにProton VPNをセットアップする方法を説明します。これにより、お客様のルーターが、接続されているすべてのデバイスをProton VPN接続で保護できるようになります。
pfSense 2.7.xをご利用の場合は、代わりにWireGuard®プロトコルの使用をお勧めします。
また、OpenVPNを使用した複数接続は推奨されませんのでご注意ください。このユースケースでは、同様にWireGuardの使用をお勧めします。
開始する前に、以下が必要になります:
- 新規にインストールされたpfSense 23.09またはpfSense 2.7.x
- pfSenseのフロントエンドにアクセスできるように、お客様のLANネットワークに接続されたコンピューター
- お客様のOpenVPNのユーザー名とパスワード。これらは通常のProton VPNのユーザー名とパスワードとは異なります。これらを確認するには、account.protonvpn.comにサインインし、[アカウント] → [OpenVPNユーザー名]に移動してください。

1. OpenVPN設定ファイルを作成する
account.protonvpn.comにて、Protonアカウントのユーザー名とパスワードを使用してProton VPNにサインインし、ダウンロード → OpenVPN 設定ファイルに進み、OpenVPN設定ファイルをダウンロードします。その際、必ずプラットフォームを選択:ルーターにしてください。
Proton VPNからOpenVPN設定ファイルをダウンロードする方法はこちら
pfSenseを設定するには、この設定ファイルからTLS証明書(新しいウィンドウ)を取得する必要があります。これを確認するには、ダウンロードしたOpenVPN設定ファイルをテキストエディタで開き、—–BEGIN CERTIFICATE—- で始まり、-—-END CERTIFICATE—–で終わるテキストを探します。

また、VPNサーバーのIPアドレスとポート番号も必要になります。これらは、証明書に記載されている最初のremoteの行で確認できます。最初の数字がIPアドレス、二番目の数字がポート番号です。以下の例では、IPアドレスは185.159.157.6、ポート番号は51820です。

最後に、OpenVPN Static keyが必要です。これは—–BEGIN OpenVPN Static key V1—-で始まり、—–END OpenVPN Static key V1—–で終わります。

2. pfSenseにTLS証明書を追加する
ブラウザのURLバーに192.168.1.1と入力して、pfSenseのウェブインターフェースを開きます。サインインして、System(システム) → Certificates(証明書) → Add → Import certificate(追加 → 証明書のインポート)に移動します。

以下の設定を行います。
CAの作成/編集。[Authorities](認証機関) → [Add](追加)に移動し、以下の設定を変更します。
- Descriptive name(わかりやすい名前): ProtonのTLS証明書を説明するのに適した任意の名前を入力できます
- Method: Import an existing Certificate Authority(既存の認証機関をインポート)
既存の認証機関(Existing Certificate Authority)
- OpenVPN設定ファイルからTLS証明書をコピーして、ここに貼り付けます

完了したら、保存をクリックします。
3. OpenVPNクライアントを設定する
データを暗号化してVPNサーバーにトンネリングするためのOpenVPNクライアントを追加します。
VPN → OpenVPN → Clients(クライアント)に移動し、Add(追加)をクリックして、 以下の設定を行います。
General Information(一般情報):
- Description(詳細): この構成の表示名を選択します
- Disabled(無効化): チェックを外す
モード構成(Mode Configuration)
- Server Mode(サーバーモード): Peer to Peer (SSL/TLS)
- Device mode(デバイスモード): tun – Layer 3 Tunnel Mode
エンドポイント構成(Endpoint Configuration)
- Protocol(プロトコル): UDP on IPv4 only(IPv4でのみUDP)またはTCP on IPv4 only(IPv4でのみTCP)のいずれか(任意ですが、ダウンロードした設定ファイルと一致する必要があります)。UDPとTCPの比較について詳しくはこちら。
- Interface(インターフェース): WAN
- Local Port(ローカルポート): –
- Server host or address(サーバーのホストまたはアドレス): ステップ1を参照して確認してください。
- Server port(サーバーのポート): こちらもステップ1を参照して確認してください。
- Proxy host or address(プロキシのホストまたはアドレス): –
- Proxy port(プロキシのポート): –
- Proxy Authentication(プロキシ認証): なし

User Authentication Settings(ユーザー認証設定)
- Username(ユーザー名): お客様のProton VPN OpenVPNユーザー名
- Password(パスワード): お客様のProton VPN OpenVPNパスワード
- Authentication Retry(認証の再試行): チェックを外したままにする
注意: これらは通常のProton VPNのユーザー名とパスワードとは異なります。追加機能を有効にするには、お客様のOpenVPNユーザー名の末尾に以下のサフィックスを追加してください。
- NetShield Ad-blocker: +f1
- NetShield Ad-blocker 拡張(有料プランをご利用の場合にのみ使用可能。マルウェアやトラッカーもブロックします): +f2
例えば、NetShield Ad-blockerを有効にするには、username+f1と入力します。

Cryptographic Settings(暗号設定)
- Use a TLS Key(TLSキーを使用): チェックを入れる
- Automatically generate a TLS Key(TLSキーを自動生成): チェックを外す
- TLS Key(TLSキー): OpenVPN設定ファイルから取得したOpenVPN Static keyをここに貼り付けます(ステップ1を参照)
- TLS Key Usage Mode: TLS暗号化および認証
- TLS keydir direction: デフォルトの方向を使用
- Peer Certificate Authority: Proton AG(またはステップ2でお客様が使用したわかりやすい名前)
- Peer Certificate Revocation List: 変更しない
- Client Certificate: なし(ユーザー名および/またはパスワードが必要)
- Data Encryption Negotiation: チェックを入れる
- Data Encryption Algorithms: AES-256-GCM、CHACHA20-POLY1305
- Fallback Data Encryption Algorithm: AES-256-GCM
- Auth digest algorithm: SHA256 (256ビット)
- Hardware Crypto: これがサポートされているかどうかは、お客様のデバイスによって異なります。サポートされている場合は、まずSystem → Advanced → Miscellaneousに移動して有効にする必要があります。不明な場合は、No hardware crypto accelerationを選択してください。
- Server Certificate Key Usage Validation: チェックを入れる

トンネル設定
- IPv4 Tunnel Network: –
- IPv6 Tunnel Network:-
- IPv4 Remote network(s): –
- IPv6 Remote network(s): –
- Limit outgoing bandwidth: -(お客様の特別なご希望がない限り)
- Allow Compression: すべての非スタブ圧縮を拒否(最も安全)
- Topology: Subnet — 共通サブネット内のクライアントごとに一つのIPアドレス
- Type of service: チェックを外したままにする
- Don’t pull routes: チェックを入れる
- Don’t add/remove routes: チェックを外したままにする
- Pull DNS: チェックを入れる

Ping設定
- すべてデフォルト値のままにしてください。

拡張構成
- Custom Options: 以下を追加します:
tun-mtu 1500;
mssfix 0;
reneg-sec 0;
remote-cert-tls server;
注意:これらの設定は、以下のスクリーンショットに示されている設定に代わるものです。
接続の信頼性を向上させるには、お客様がダウンロードしたOpenVPN構成ファイルをテキストエディタで開き、remoteで始まる行を探します。二行目のremote行以降、remoteで始まる各行をpfSenseのCustom Optionsフィールドにコピーし、末尾にセミコロンを記述してください。

- UDP Fast I/O: チェックを入れる
- Exit Notify: 無効
- Send/Receive Buffer: デフォルト
- Gateway creation: IPv4のみ
- Verbosity level: 3(推奨)

Saveをクリックし、Status → OpenVPNに移動します。新しいVPNクライアントが表示され、そのStatusがupになっているはずです。

4. OpenVPNインターフェイスの設定
VPNクライアントは起動していますが、トラフィックはまだルーティングされていません。お客様のすべてのネットワークトラフィックを安全なProton VPNトンネル経由でルーティングするには、インターフェイスとファイアウォールルールを設定する必要があります。
Interfaces → Interface Assignments → Available network portsに移動し、ドロップダウンメニューから今追加したVPNクライアントを選択してAddをクリックします。
これにより、「OPTx」(xはルーターの物理インターフェースの数によって異なります)という名前のインターフェースが作成されます。新しく作成されたインターフェースをクリックして構成します。

Interfacesタブに移動してOPTxをクリックし、以下の構成設定を入力します·
一般構成:
- 有効にする:チェックあり
- Description: インターフェイスのわかりやすい名前を指定してください
予約済みネットワーク:
- Block bogon networks: チェックを入れる
残りのフィールドは変更しないでください。
SaveとApply Changesをクリックします。

5. ファイアウォールルールを構成する
ファイアウォールルールを使用して、設定したばかりのProton VPNインターフェイス経由ですべてのトラフィックをルーティングします。Firewall → NAT → Outboundに移動し、Manual Outbound NAT rule generationを選択します。その後、SaveとApply Changesをクリックします。

Mappingsの下に、六つのルールが表示されます。Source列では、これらのルールのうち4つにアドレス「127.0.0.0/8」および「::1/128」が表示されています。これらは無視し、残りの二つのルールを編集(Actions列の鉛筆アイコンをクリック)してください。

両方のルールについて、Interfaceをステップ4でお客様が作成したProton VPNインターフェイスに変更します。SaveとApply Changesをクリックします。

注意:これにより、インターフェイスと同じ名前のゲートウェイも自動的に作成されます。

マッピングの設定は、以下のようになっているはずです:

ファイアウォール → ルール → LANに進みます。Default allow LAN IPv6 to any ruleの横にある✓アイコンをクリックして無効化します。

Default allow LAN to any rule → 編集 (鉛筆アイコン)に進みます。

Display advanced → ゲートウェイをクリックし、ステップ5で作成したゲートウェイを選択します。保存および変更を適用をクリックします。

次に、ステータス → OpenVPNに移動し、サービス → 再起動アイコンをクリックして、新しい設定でOpenVPNクライアントを再起動します。

DNS設定の構成
pfSenseファイアウォールを通過するすべてのインターネットトラフィックは、Proton VPNサーバー経由でルーティングされるようになります。ただし、DNSリクエストはルーティングされません。これを修正するには、pfSenseのDNS設定を変更する必要があります。
システム → 一般セットアップ → DNSサーバー → DNSサーバーに進み、以下の設定を入力します:
- DNSサーバー → アドレス: 10.2.0.1
- DNSサーバー → ゲートウェイ: ステップ4で作成したVPNインターフェイスを選択します
- DNS Server Override: チェックします
- DNS Resolution Behavior: リモートDNSサーバーを使用し、ローカルDNSを無視します

次に、サービス → DNSリゾルバー → 送信ネットワークインターフェイスに移動し、以下の設定を入力します:
- 送信ネットワークインターフェイス: ステップ4で作成したVPNインターフェイスを選択します
- DNS Query Forwarding: チェックします
OpenVPNのユーザー名に「+f1」または「+f2」のサフィックスを追加して、NetShield広告ブロッカー機能を有効にしている場合(ステップ3を参照)、DNSSECサポートを 無効化 する必要があります。

保存と変更を適用をクリックします。
セットアップが完了しました。これでお客様のネットワークからのすべてのトラフィックが、選択したProton VPNサーバーを経由して安全にルーティングされます。ネットワーク上の任意のデバイスから、当社の無料の安全なIPスキャナーにアクセスしてテストできます。
オプションの微調整
お客様は、ネットワーク上の一部のコンピューターがVPNインターフェイスを使用しないように除外できます。例えば、ゲーム機をVPNに接続せずにインターネットにアクセスさせたい場合などです。手順は以下の通りです:
1. ファイアウォール → ルール → LAN → 追加に移動します。

2. 以下のように設定を構成します:
- アクション: Pass
- Disabled(無効化): チェックを外す
- インターフェイス: LAN
- アドレスファミリー: IPv4
- プロトコル: Any
- 送信元(Source): 「Single Host or Alias」を選択し、除外したいデバイスのIPを追加します
- 送信先(Destination): Any
- ログ: 変更なし
- 詳細(Description): 詳細を追加します

3. Display Advancedをクリックし、ゲートウェイをWANに変更します。

4. 保存および変更を適用をクリックします。

5. ファイアウォール → NAT → アウトバウンドに移動し、モードを自動(Automatic)に切り替えてから、保存および変更を適用をクリックします。その後、モードを手動(Manual)に戻し、再度保存および変更を適用をクリックします。

これにより、選択したデバイスがローカルWANネットワークにアクセスできるようにする二つの新しいルールが作成されます。

デバイスはVPNインターフェイスから除外され、ISPから割り当てられたIPアドレスを使用してインターネットにアクセスするようになります。ただし、DNSサーバーはProton VPNのDNSサーバーを使用します。