web-dev-qa-db-ja.com

OpenVPNを使用したpfSenseサイト間VPNは接続しますが、トラフィックをルーティングしません

2つのpfSenseルーターを使用して、2つのサイト間に共有キーVPNを作成しました。どちらのルーターもpfSense 1.2.2です。クライアントサイトのpfSenseボックスは、そのサイトのゲートウェイルーターですが、サーバーサイトでは、pfSenseはそのLANのゲートウェイではありません。クライアントサイトはサーバーサイトに正常に接続し、接続が成功したことを示す「初期化シーケンスが完了しました」というログメッセージが表示されます。

その後、クライアントサイトから、クライアントLAN上の任意のマシンを使用して、そのLANアドレス上のサーバーサイトのpfSenseボックスにpingを送信できます(Webインターフェイスを介して構成することもできるため、VPNは少なくともこのアドレスに対して機能しています)。 「インターフェースIP」(クライアント構成)/「アドレスプール」(サーバー構成)IP範囲の両方のアドレスにpingすることもできます。これらは、同じプライベートサブネットであり、クライアントまたはサーバーのLAN範囲にはありません。

問題は、サーバーサイトのLAN上の他のIPにアクセスできないことです。サーバーサイトからクライアントサイトLAN上のマシンにアクセスできる必要はありませんが、クライアントサイトからサーバー以外にもアクセスできる必要があります。現在、クライアントLAN上の誰もがサーバーのLANインターフェイスまでpingでき、クライアントLAN上の誰もがpfSenseサーバー自体からpingできますが、サーバーLANからはpingできません。サーバーのLANインターフェイスファイアウォールルールにany <> anyルールを追加しました。

サーバーのLANインターフェイスでトラフィックをキャプチャすると、クライアントLANサイトから渡されたパケットが表示されますが、スニッフィングすると、これらのパケットがサーバーのLANに到達するのが表示されません。私が言ったように、私は以下のようにany-to-anyを許可するルールをLANインターフェースに追加しました、それでトンネルからLANへのそしてその逆のトラフィックを許可するために他に何をする必要がありますか?

更新:クライアントpfSenseにサーバーLANのプッシュルートを追加しました。その逆も同様です。また、pfSense 1.2.3のRCにアップグレードし、Opt1インターフェイスセットをtun0に追加してから、opt1とLANの間に許可ルールを追加してみました。まだ運がない。

更新2:受け入れられた回答に記載されているように、サーバーLANに正しいルーティングを設定する必要がありましたが、サーバーpfSense/OpenVPNユニットがKVMの下でゲストOSとして実行されていたこと、および残りの半分について言及しませんでした問題の1つは、ホストOSの/etc/ufw/before.rulesでIP転送を有効にする必要があることでした。それは私がセットアップをより完全に説明しないことで得られるものです。

4
nedm

問題となる可能性のあるものを次に示します。次のネットワークがあるとします。

address pool: 10.1.1.0/255.255.255.0
router: 10.1.1.1
internal interface on internal vpn server: 10.1.1.2
some external machine that VPNs to network: 10.2.2.2
some internal client machine: 10.1.1.90

外部VPNボックスからSICにアクセスしようとすると、トラフィックルートは次のようになります。

  • 10.2.2.2
  • vpn(インターネット)
  • 10.1.1.2
  • 10.1.1.90
  • OK

しかし、トラフィックが流れるためには、10.1.1.90マシンが応答できる必要があります。つまり、このマシンからのパケットも10.2.2.2にルーティング可能である必要があります。内部クライアントには明らかにip:10.1.1.90、マスク:255.255.255.0、ルーター:10.1.1.90があります。したがって、パケットは次のようにルーティングされます。

  • 10.1.1.90
  • 10.1.1.1(ルーターであり、10.2.2.2は直接アドレス指定できません)
  • インターネット
  • 見つかりません

基本的に、応答パケットはVPNにさえ到達しません。あなたは何ができますか?明らかに、機能するのは、内部クライアントにルートを追加して、すべてのパケットをルーターではなくVPNボックス(Windowsボックス)ではなく10.2.2.2にルーティングすることです。

route add 10.2.2.0 mask 255.255.255.0 10.1.1.2

これにより、単一マシンレベルで問題が解決されます。返信パケットが送信されます:

  • 10.1.1.90
  • 10.1.1.2(明示ルート)
  • vPN(インターネット)
  • 10.2.2.2

ネットワークレベルで問題を解決するには、10.2.2.0に向かうすべてのトラフィックを10.1.1.2にリダイレクトするようにルーターを変更する必要があります。このように応答パケットは行きます:

  • 10.1.1.90
  • 10.1.1.1
  • 10.1.1.2
  • vpn(インターネット)
  • 10.2.2.2

もう1つの解決策は、VPNボックスを10.1.1.2インターフェイスでNATに設定することです。これにより、内部マシンの場合、すべてのトラフィックが10.1.1.2から発信されているように見え、応答は10.1に送信されます。 .1.2。ただし、NATは接続トラッカー用にVPNボックスに追加のリソースが必要になるため、ルーティングを実行することをお勧めします

8
galets

ファイアウォールルールを作成 トラフィックが目的の場所に流れるようにしましたか?

2
EEAA