web-dev-qa-db-ja.com

IPv6 over Cisco IPSec VPN?

ネットワーク上のファイアウォールおよびIPSecVPNエンドポイントとしてCiscoASA5505を使用しています。

スプリットトンネリングを使用して、インターネットリンクの負荷を軽減します。つまり、誰かがVPNに接続すると、そのDNSクエリは内部DNSサーバーを通過し、10.0.0.0/8に解決されるホストのすべてのトラフィックはトンネルを介して送信されます。その他のトラフィックは、ローカルインターネットゲートウェイを介して送信されます。これは、IPv4トラフィックに対してうまく機能しました。

これで、LAN上のすべてのサーバーとデスクトップにIPv6接続(SixXS 6in4トンネル)を展開しました。 (うまくいけば)多くのユーザーが自宅で独自のIPv6接続を使用しています。

内部サーバーのIPv6アドレスを内部Bind9DNSに追加すると、一部の外部ユーザーが内部サーバーに適切に接続できなくなります。 DNSとそのアプリケーションからAAAAレコードを取得し、AAAAアドレスを優先して、IPSecトンネルを使用せずにIPv6経由でサーバーに直接接続しようとすると想定しています。それらはファイアウォールにぶつかり、最終的にタイムアウトしてIPv4経由で接続します。それに応じて、DNSからAAAAレコードを削除しました。

このフォーラムの投稿 によると、Cisco IPSecクライアントはIPv6をサポートしていないため、コストのかかるAnyConnectへのアップグレードを行う必要があります。

私が考えた回避策:

  • AAAAレコードをLANホストに提供し、AレコードのみをVPNクライアントに提供するスプリットブレインDNSを作成します。 VPNクライアントは特定のIPv4範囲にありますが、スプリットブレインDNSを設定する方法がわかりません。
  • 内部DNSでAAAAレコードを提供しないだけです。これにより、IPv6の使用が、内部クライアントからAAAAレコードをアドバタイズするインターネットサーバーへの接続に制限されます。内部トラフィックはIPv4のままになります。

あなたの考えをお願いしますか? IPSec VPNを使い続けながら、サーバーでIPv6をアドバタイズできるソリューションはありますか?

5
Martijn Heemels

これは最も洗練されたソリューションではありませんが、BIND分割ビューを使用してDNSレベルでこの問題に対処できます。これにより、さまざまなDNS情報をさまざまなクライアントに提示できます。 VPNクライアントはきちんと分離されているため、フィルタリングは簡単になります。サーバーごとに複数のエントリを作成する必要がないようにゾーンファイルを設定するには、少し手間がかかりますが、それほど難しくはありません。 この例 またはBIND9のドキュメントを参照してください。

1
justarobert