SE の雑記

SQL Server の情報をメインに Microsoft 製品の勉強内容を日々投稿

TMG で Azure の Virtual Network に接続できるか挑戦中 (未完)

2 comments

挑戦中なだけでうまく接続ができていないのですが…。
# NAT の後ろに配置した TMG で Virtual Network に接続できた方がいらっしゃいましたらコメントを頂けると嬉しいです。

MSDN 上の情報としては以下になるようです。サポートされているデバイスの情報なども記載されています。
About VPN Devices for Virtual Network

フォーラムも開かれているようですのでこちらも定期的に確認をすると良さそうです。
Windows Azure Virtual Machines Virtual Network

IP Sec についてはこちらの情報がわかり易いです。
T10:IPSec ~技術概要とセキュアなネットワークの実現手法~ 第一部IPsecの基本とリモートアクセスへの応用

TMG にグローバル IP を割り当てた状態で、接続するための手順がこちらで詳細に説明されています。素晴らしい!!
Windows Azure Virtual Network VPN with TMG 2010

この辺も参考で
Azure Connect UP but can not route accross
Custom pre-shared key

ここまで調べた内容をメモとして。

一番詳しいのは以下の MSDN のスレッドになると思います。
Azure VPN with Microsoft TMG 2010 Firewall

こちらのスレッドで TMG で Azure の Virtual Network (VPN) についての議論がされています。

ポイントとしては、

  • 暗号化アルゴリズムとして、3DES or SHA1 を使用する
  • TMG の VPN の IPsec の設定は以下で接続できたという事例あり

IKE Phase I Parameters:
Mode: Main mode
Encryption: AES128
Integrity: SHA1
Diffie-Hellman group: Group 2 (1024 bit)
Authentication Method: Pre-shared secret (your secret here)
Security Association Lifetime: 28800 seconds

IKE Phase II Parameters:
Mode: ESP tunnel mode
Encryption: AES128
Integrity: SHA1
Perfect Forward Secrecy: OFF
Diffie-Hellman group: Group 2 (1024 bit)
Time Rekeying: ON
Security Association Lifetime: 3600 seconds

Kbyte Rekeying: ON
Rekey After Sending: 102400000 Kbytes

辺りになると思うのですがそもそも NAT 越しでアクセスできたという事例が見当らないのでうまくいくのかもわからないのですが…。
なお、Create a Virtual Network for Cross-Premises Connectivity には以下のように書かれています。
# 自宅だとネットワークエンジニアは自分ですからね…。

The public IP address for your VPN device. This VPN device cannot be behind a NAT. You can get this from your network engineer.

私は NEC の無線 LAN ルーターをインターネットの接続に使用しており、この聞きには IPsec パススルーの機能がついているので有効にはしているのですが駄目でした。

TMG で IPsec のサイト間接続のログを確認するには、

というような方法があるようです。

Network Monitor で [Source=="<管理ポータルで確認したゲートウェイの IP>" OR Destination=="<管理ポータルで確認したゲートウェイの IP>" ] の表示フィルタを設定してキャプチャをすることで通信状況を把握することができます。
私は、ネットワークはあまり詳しくないので詳細には追えないのですが Quick Mode を使用した NAT-T の通信は発生していそうなのですよね。
# たまに Main Mode のまま処理が行われようとしているのも謎なのですが…。
そのあと、[ERROR_IPSEC_IKE_NO_POLICY] や [ERROR_IPSEC_IKE_TIMED_OUT] でエラーとなってしまい接続を確立できていないようです。
接続が成功すると IP セキュリティモニターのクイックモードのセキュリティアソシエーションに表示がされるのかな~と思うのですがここにも表示がされていないのですよね。

以下のような環境が組めると検証の敷居が低くてうれしいのですが。
某 Azurer の方からの情報によると YAMAHA の RTX 1100 は事前共有キーの文字数が、32 文字までのようで RTX 1200 等の Rev.10 系のファームでないと駄目だったそうです。
# RTX 1000 は Rev.8 系のファームなのでこちらも駄目でした。

image

ということでタイトル通り未完の投稿なのですが情報が増えたらちょいちょい試していきたいと思います。

2012/7/1 追記

この投稿以降、いろいろと検証してみたので追記してみました。

家の環境では NEC の Aterm8370N を使用しているのですが、一応つながりました。
ただ、つながっただけで通信ができていないのですが…。
# DATA IN / DATA OUT が 0B から増えません…。
image

■TMG の設定


ネットワークは不得手なのでログ見ないといかんともしがたいかったので、TMG の Data Packager で VPN のログを取得 の投稿のように Data Packager を使用してログを取得しながら検証することにしました。
そのため、Windows Server 2008 SP2 + TMG 2012 SP2 CU2 の環境を使用することにしています。

TMG のリモートサイトは以下の設定となっています。
Azure 側のアドレス空間として、172.23.0.0/16 、サブネットとして 172.23.1.0/24 を割り当てていますので、VPN のアドレス範囲としては Azure の VPN のゲートウェイのグローバル IP と 172.23.0.0~172.23.255.255 を設定しています。
Azure で使用している VPN のアドレス範囲が TMG の VPN のアドレス範囲に登録されていないとエラーになるようです。また、Virtual Network 作成後にポータルから範囲を変更してもうまく疎通ができない場合は一度 Virtual Network を削除して再作成してしまった方が早いかもしれません。
# ポータルで範囲を追加してみたのですがログを見る限りその範囲が使用されていなかったことがありました。

今回は NAT の後ろに TMG を配置していますので、ローカル VPN ゲートウェイの IP アドレスに関しては TMG に設定をしているプライベート IP アドレスを指定しています。
imageimageimageimageimageimage

私の検証環境は適当に 10.0.0.0/8 と 192.168.0.0/24 を使用しているので、TMG の内部のアドレス範囲としては以下のように設定をしています。
image

TMG の設定としてはこれで大丈夫なようです。
Windows Update を実行して最新のパッチを適用した状態で TMG のインストールをしていますが、今回の OS は Windows Server 2008 SP2 になりますので KB2523881 は不要でした。

■ルーターの設定


今回、インターネットへの末端は Aterm を使用していますので、Aterm のポートマッピングの設定をする必要があります。
NAT の設定としてはこのようになります。
image

TMG のプライベート IP アドレスに対して

  • ESP (プロトコル番号 : 50)
  • IKE (UDP : 500)
  • NAT-T (UDP : 4500)

をフォワードするように設定します。

NAT の後ろにない場合は NAT-T は不要だと思いますが、今回は Aterm で PPPoE でインターネットに接続している環境の後ろに配置していますので NAT-T もフォワードするように設定をしています。

Aterm には IPsec パススルーの機能があるのですが、ポートフォワードをしている場合にこれが必須になるのかが分かっていません…。
# 有効でも無効でも接続の確立はできました。
image

 

■ネットワークパケットの確認


Virtual Network の検証で、ネットワークの状態を確認したい場合はパケットキャプチャでどのような通信が行われているかを確認してみるのが良いと思います。

キャプチャツールとしては、WiresharkNetwork Monitor が有名だと思います。
私は Network Monitor の方が使い慣れているので Network Monitor でパケットをキャプチャしています。

VPN で使用されているプロトコルは IKE になりますので Display Filter として IKE を使用すると内容を確認しやすくなると思います。
image

最初に確認をしておきたい内容としては、通信で Quick Mode が使用されているかという点になります。
VPN で Phase2 ネゴシエーションが行われている場合、モードは Main Mode ではなく Quick Mode が使用されます。

Main Mode となっている場合は、Phase1 ネゴシエーションでエラーになっている場合がありますので Phase1 ネゴシエーションの設定を見直してみると良いかもしれません。
ちなみに上記のパケットは TMG で Azure のゲートウェイの IP を間違えて設定していたために Main Mode となっていました。

正常に Quick Mode で通信出来ている場合は以下のようなパケットになるようです。
image

Quick Mode のパケットになっているが、その次のパケットが [IKE:version 0.0, Unknown Exchange Type (0)] になってしまっている場合は、Phase2 ネゴシエーションが正常にできていないようでした。

ここまでの対応をしたところポータル上からは接続の確立ができたようでした。
image

IN / OUT が 0 B のままなので本当にAzure とオンプレミス間の通信ができる状態なのかを現在検証中なのですが、少し前進したようです。

Written by masayuki.ozawa

6月 23rd, 2012 at 9:15 pm

2 Responses to 'TMG で Azure の Virtual Network に接続できるか挑戦中 (未完)'

Subscribe to comments with RSS or TrackBack to 'TMG で Azure の Virtual Network に接続できるか挑戦中 (未完)'.

  1. […] TMG で Azure の Virtual Network に接続できるか挑戦中 (未完) の続編です。 […]

  2. […] TMG で Azure の Virtual Network に接続できるか挑戦中 (未完) の続編です。 […]

Leave a Reply

*