web-dev-qa-db-ja.com

サイト間OpenVPNとpfSenseがトラフィックを通過させないという問題

組み込みルーターで実行されているpfSense1.2.3-RELEASEでOpenVPNトンネルを実行しようとしています。

私はローカルLAN10.34.43.0/254を持っています。リモートLANは10.200.1.0/24です。ローカルのpfSenseはクライアントとして構成され、リモートはサーバーとして構成されます。

私のOpenVPNトンネルは内部でIP範囲10.99.89.0/24を使用しています。トンネルを介してルーティングされるリモート側にもいくつかの追加のLANがありますが、チェーンのそのポイントの前に接続が失敗するため、問題はそれらにありません。

トンネルは正常に起動し、ログは正常に見えます。私が見つけたのはこれです:-

  • ローカルのpfSenseボックスのシェルからリモートLANおよび追加のリモートLANにpingおよびtelnetで接続できます。
  • ローカルネットワークからリモートLANにpingまたはtelnetできません。
  • リモートLANまたはリモートpfSenseボックスのシェルからローカルネットワークにpingまたはtelnetできません。
  • 両側のtunインターフェイスをtcpdumpして、ローカルLANからpingを実行すると、パケットがローカルでトンネルに到達するのがわかりますが、リモート側には表示されません(tcpdumpを実行した場合、リモートLANインターフェイスにも表示されません)。
  • 両側のtunインターフェイスをtcpdumpし、ローカルのpfSenseシェルからpingを実行すると、パケットがローカルでトンネルに到達し、リモート側を出ることがわかります。また、リモートLANインターフェイスをtcpdumpして、そこを通過することも確認できます。
  • 両側のtunインターフェイスをtcpdumpし、リモートpfSenseシェルからpingを実行すると、パケットがリモートtunにヒットしますが、ローカルtunからは出てきません。

リモート側が使用している設定ファイルは次のとおりです。-

#user nobody
#group nobody
daemon
keepalive 10 60
ping-timer-rem
persist-tun
persist-key
dev tun
proto udp
cipher BF-CBC
up /etc/rc.filter_configure
down /etc/rc.filter_configure
server 10.99.89.0 255.255.255.0
client-config-dir /var/etc/openvpn_csc
Push "route 10.200.1.0 255.255.255.0"
lport <port>
route 10.34.43.0 255.255.255.0
ca /var/etc/openvpn_server0.ca
cert /var/etc/openvpn_server0.cert
key /var/etc/openvpn_server0.key
dh /var/etc/openvpn_server0.dh
comp-lzo
Push "route 205.217.5.128 255.255.255.224"
Push "route 205.217.5.64 255.255.255.224"
Push "route 165.193.147.128 255.255.255.224"
Push "route 165.193.147.32 255.255.255.240"
Push "route 192.168.1.16 255.255.255.240"
Push "route 192.168.2.16 255.255.255.240"

ローカル設定は次のとおりです。-

writepid /var/run/openvpn_client0.pid
#user nobody
#group nobody
daemon
keepalive 10 60
ping-timer-rem
persist-tun
persist-key
dev tun
proto udp
cipher BF-CBC
up /etc/rc.filter_configure
down /etc/rc.filter_configure
remote <Host> <port>
client
lport 1194
ifconfig 10.99.89.2 10.99.89.1
ca /var/etc/openvpn_client0.ca
cert /var/etc/openvpn_client0.cert
key /var/etc/openvpn_client0.key
comp-lzo

ここでpfSenseから抽出されたルーティングテーブルの関連部分を見ることができます http://pastie.org/53658

ローカルファイアウォールはLANからのすべてのICMPを許可し、私のPCはどこへでもすべてを許可されます。リモートファイアウォールはLANを信頼できるものとして扱い、そのインターフェイス上のすべてのトラフィックを許可します。

なぜこれが機能しないのか、そして次に何を試すことができるのか、誰かが提案できますか?

1
JohnCC

SSL/TLSサイト間VPNでは、サーバー上のルートと、クライアント固有のオーバーライドでのirouteが必要です。ここでの説明は、そのirouteが欠落しているように聞こえます。共有キーとは異なり、サーバー上のルートで十分です。このようなVPNの場合、サーバー上のルートはそのトラフィックをその特定のOpenVPNインスタンスに送信し、その内部ルーティングはirouteを介して、その特定のネットワークをルーティングするクライアントを認識している必要があります。

[VPN]> [OpenVPN]の[クライアント固有の上書き]タブで、新しいエントリを追加します。 「共通名」は、クライアント側の証明書からCNを入力します。 [詳細設定]ボックスに、「iroute 10.34.43.0255.255.255.0」(引用符なし)を入力します。残りはデフォルトのままにして、[保存]をクリックします。クライアントシステムの[ステータス]> [サービス]からOpenVPNクライアントを再起動します。再接続すると、実際にirouteが欠落している場合は機能するはずです。

1
Chris Buechler