web-dev-qa-db-ja.com

PFSenseを使用したOpenVPNSite2Site

私は現在、2つのpfsenseアプライアンス(2.0.2)を使用してs2sVPNを構築しています。トンネルは構築されますが、一方の側からもう一方の側にトラフィックをルーティングできません。テストラボを確認してください。


さて、エラーを絞り込むために新しいテストラボを作成します。これが私が行っていることです:

  • バージョンの問題ではないことを確認するために、pfsense2.0.1に切り替えました
  • ネットワークA:192.168.3.0/24
  • ネットワークB:192.168.2.0/24
  • 「インターネットシミュレーションネットワーク」:10.10.10.0/24

PFSenseサイトA:

  • em0:WAN、10.10.10.10
  • em1:LAN、192.168.3.10

クライアントサイトA:

  • if0:LAN、192.168.3.100、gw:192.168.3.10
  • ファイアウォールが無効になっているため、gwにpingを実行できます。

PFSenseサイトB:

  • em0:WAN、10.10.10.20
  • em1:LAN、192.168.2.20

クライアントサイトB:

  • if0:LAN、192.168.2.100、gw:192.168.2.20
  • ファイアウォールが無効になっているため、gwにpingを実行できます。

PFSenseサイトBの構成:

  • すべての単一インターフェイスのすべてのファイアウォールルールは、
  • gWまたはルートが追加されていないため、デフォルトのインターフェイスネットワークのみがpfsenseに認識されます
  • pfsenseGUIを使用して作成されたテストCA
  • pfsense guiと作成されたcaを使用して作成されたサーバー(タイプ:サーバー)証明書
  • pfsense guiを使用して作成されたクライアント(タイプ:ユーザー)証明書
  • クライアント証明書のエクスポートされた秘密鍵と公開鍵
  • cA証明書のエクスポートされた公開鍵
  • ウィザードを使用せずに「追加」をクリックして新しいOpenVPNサーバーを作成しました(ウィザードが提供しないピアツーピアOVPNが必要なため)
  • 次のように構成しました。#サーバーモード:ピアツーピア(SSL/TLS)#プロトコルTCP#デバイスモード:TUN#インターフェイス:WAN#ポート443#テスト用に無効なTLS認証#作成したものを使用CAと作成されたサーバー証明書。 #デフォルトの暗号#トンネルネットワーク:172.16.0.0/24

    ローカルネットワーク:192.168.2.0/24#リモートネットワーク:192.168.3.0/24#同時接続:2#残りのデフォルト/空白

  • 新しいインターフェイスOPT1(ovpnc1)を追加しました
  • oTP1インターフェイスを有効にしました(タイプ:なし)
  • はい:OVPNインターフェースのFWルールもANY TOANYを許可するように設定されています
  • openvpnサーバーを無効にしてから再度有効にする
  • チェックされたルート:リモートネットワークへのルートは、ovpnc1NICを使用して存在します

PFSenseサイトAの構成:

  • すべての単一インターフェイスのすべてのファイアウォールルールは、
  • gWまたはルートが追加されていないため、デフォルトのインターフェイスネットワークのみがpfsenseに認識されます
  • 公開鍵を使用してサイトBからCAをインポートしました
  • 公開鍵と秘密鍵を使用してサイトBのクライアント証明書をインポートしました
  • open vpn clientセクションの「add」アイコンをクリックして、新しいOpenVPNクライアントを作成しました
  • このように構成しました:
  • サーバーモード:ピアツーピア(SSL/TLS)#Protocol TCP #Device Mode:TUN #Interface:WAN #Port 443 #Server Host or address:10.10.10.20

    サーバーポート:443#テスト用の無効なTLS認証#インポートされたCAとインポートされたクライアント証明書の使用。 #デフォルトの暗号#トンネル

    ネットワーク:172.16.0.0/24#リモートネットワーク:192.168.2.0/24 #rest default/blank
  • 新しいインターフェイスOPT1(ovpnc1)を追加しました
  • oTP1インターフェイスを有効にしました(タイプ:なし)
  • はい:OVPNインターフェースのFWルールもANY TOANYを許可するように設定されています
  • openvpnサーバーを無効にしてから再度有効にする
  • チェックされたルート:リモートネットワークへのルートは、ovpnc1NICを使用して存在します

-> VPNトンネルが起動し、pfsenseの両端でアップ状態が表示されます。 他に何もpfsenseで構成されていません

テスト:

サイトAのクライアントはサイトBのクライアントにpingを実行できません。その逆も同様です。 pathpingは、ルートがクライアントのgw(PFSense LANポート)で終了することを示します。

サイトAのPFSenseは、LANおよびWANインターフェイスを使用してサイトBのクライアントにpingを実行できませんが、OTP1インターフェイスを使用して正常に動作します。ただし、サイトBのクライアントはサイトAのPFSenseにpingを実行できません。

ただし、これはサイトBのPFSenseからサイトAのクライアントへのpingには当てはまりません。pingはどのインターフェイスからも機能しません。ここでも、サイトAのクライアントからサイトBのPFSenseにpingを実行すると失敗します。

また、サイトBのPFSenseは、サイトAのクライアントにpingを実行できません。その逆も同様です。 WAN、LAN、およびOTP1インターフェイスを使用してpingを送信することをテストしました。

奇妙なことに、サイトAのPFsenseはサイトBのPFSenseにpingを実行できますが、その逆はできません。

結果:

サイトAのpfsenseである直接クライアントのみが、リモートネットワーク上のすべてのもの(pfsenseまたは任意のクライアント)と通信できるようです。 pfsenseを介してルーティングしようとするクライアントは、pfsenseと同じサブネット上にあると考えても通信に失敗するため、ネットワークをリモートサイトに認識させる必要があります。また、サーバーサイト(B)で開始された通信は、クライアントサイト(A)の何にも到達していないようです。

これにより2つの質問が発生します:-PFsense/OpenVPNに、(同じサブネットから)pfsense経由でルーティングするクライアントからのVPNトランスポートトラフィックも送信するように指示するにはどうすればよいですか(NATは機能すると思いますが他に方法はありませんか?)-サーバーサイト(B)で生成されたトラフィックがVPN経由でクライアントサイトに移動できるようにするにはどうすればよいですか?

編集番号2

これをサーバー側の高度な構成に追加しましたが、上記のテストで説明した以外の効果はありませんでした。

route 192.168.2.0 255.255.255.0;Push "route 192.168.3.0 255.255.255.0";

また、pfsense 2.0.1を使用して、vpn接続が確立されると、ovpnインターフェイスのIPがゲートウェイに追加されたゲートウェイがあることに気付きました。これにより、そのインターフェイスを使用してリモートネットワークに静的ルートを追加できるようになりました。私はこれをサイトAとサイトB(または必要に応じてクライアントとサーバー)の両方で行いました。

編集番号

ここにルートを示す画面があります:サイトB(サーバー)ルート: Site B (server) routes

サイトA(クライアント): Site A (client)

2
masi

S2sの状況では、プッシュルートではなく静的ルートを使用します。または、ネットワークの複雑さに応じて、OSPFを使用してルートを交換します。しかし、正直なところ、私はs2sの状況でルートをプッシュしようとしたことはありません。簡単なセットアップでは問題なく動作する場合があります。

Pfsenseでopenvpnを使用してs2をセットアップするには、openvpnサーバー/クライアントを構成した後、2つのことを行う必要があります。

  1. 各ルーターの[インターフェース]-> [割り当て]で、インターフェースとしてs2sトンネルを追加する必要があります。
  2. デフォルトでは、ファイアウォールはこれらのインターフェイス上のすべてのトラフィックをブロックするため、これらのインターフェイスにすべてのルールを許可するものを追加する必要があります。作業が完了したら、必要に応じてルールを適用できます
1
3dinfluence