Home > Windows にまつわる e.t.c.

Windows Server 2012 DirectAccess の職場の接続が「接続済み」になるための条件


Windows Server 2012 の DirectAccess はウィザードでお手軽に構築できるのですが、DirectAccess Server が、IPv4/IPv6 デュアルスタックで、IPv4 環境から DirectAccess 接続していると、「職場の接続」が「接続中」のままになったままになり、「接続済み」にならない事があります。

DirectAccess 自体の通信は出来ているのですが、「接続済み」にならないのが気持ち悪いので、この部分のチェック要件をまとめてみました。

ミソは、「企業リソース」で指定している Web Server と、「ドメインの場所を特定する URL の指定」で指定している Web Server が別物である点です。これが同一だとうまく「接続済み」になりません。

その理由は「職場の接続が「接続済み」と判定される条件」にあるように、DirectAccess 経由でのアクセスチェックと DirectAccess を使わないアクセスチェックで接続済み判定をしているからです。
つまり、「企業リソース」(directaccess-WebProbeHost)に DirectAccess 経由でアクセスが可能で、「ドメインの場所を特定する URL の指定」を DirectAccess を使わずにアクセスして、アクセス不能であことを判断条件としているからです。

 

●不具合の可能性

Windows Update をしていれば、これは対処済みのはずですが、KB2769240 として修正プログラムが出ています。

< DirectAccess クライアント Windows 8 または Windows Server 2012 で企業ネットワークに接続できません。>
http://support.microsoft.com/kb/2769240

●DirectAccess クライアントが LAN ではなく、インターネット上に居ると判断する条件

ISP提供のキャッシュ DNS を使用して以下の条件が満たされると、LAN 環境ではなく、インターネット環境に DirectAccess クライアントが置かれていると判定します。

< IPv4 環境から接続している場合 >

(1) http://www.msftncsi.com/ncsi.txt にアクセスし、「Microsoft NCSI」が返される

(2) dns.msftncsi.com の名前解決結果として、131.107.255.255 が返る

(3) 社内ネットワークと直接通信が出来ない

< IPv4 / IPv6 デュアルスタック環境から接続している場合 >

(1) http://ipv6.msftncsi.com/ncsi.txt にアクセスし、「Microsoft NCSI」が返される

(2) dns.msftncsi.com の名前解決結果として、fd3e:4f5a:5b81::1 が返る

(3) 社内ネットワークと直接通信が出来ない

●DirectAccessが接続済みであると判断する条件(名前解決)

ドメインコントローラーが持っている DNS で、以下の条件が満たされると、DirectAccess が接続済みであると判定します。

< IPv4 シングルスタック環境で運用している場合 >

(1) directaccess-corpConnectivityHost にループバックである A/127.0.0.1、AAAA/64:ff9b::127.0.0.1(NAT64)が登録されている
ちなみに、64:ff9b::127.0.0.1 と入力できますが、AAAA は 64:ff9b::7f00:1 となります

(2) directaccess-webProbeHost が LAN 上に構築されており、インターネット側から直接アクセスできない Web サーバーの IPv4 アドレスが A に登録されている

(3) directaccess-webProbeHost がインターネットからアクセスできないLAN 上からアクセスできない Web サーバーの IPv4 アドレスが DNS の A に登録されており、GPO の[企業リソース]に登録されている

(1) IPv4ループバック

(1) NAT64のループバック

(1) NAT64のループバックで実際に登録される IPv6 アドレス

(2) LAN上に実在する Web Server IPv4 アドレス

< IPv4/IPv6 デュアルタック環境で運用している場合 >

(1) directaccess-corpConnectivityHost にループバックである A/127.0.0.1、AAAA/64:ff9b::127.0.0.1(NAT64)、AAAA/::1 が登録されている(理論的には ::1 だけ登録されていれば良いはず)

(2) directaccess-webProbeHost が LAN 上に構築されており、インターネット側から直接アクセスできない Web サーバーの IPv4/IPv6 アドレスが A/AAAA に登録されている

(3) directaccess-webProbeHost がインターネットからアクセスできないLAN 上からアクセスできない Web サーバーの IPv4 アドレスが DNS の A/AAAA に登録されており、GPO の[企業リソース]に登録されている。

(1) IPv6 のループバック

(2) LAN上に実在する Web Server IPv6 アドレス(GUA)

(2) LAN上に実在する Web Server IPv6 アドレス(ULA)

●DirectAccessが接続済みであると判断する条件(GPO設定)

対象となる GPO 名「DirectAccess クライアントの設定」

(1) ドメインの場所を特定する URL の指定
[コンピューターの構成]-[ポリシー]-[管理用テンプレート]-[ネットワーク]-[ネットワーク接続状態インジケーター] - [ドメインの場所を特定する URL の指定] にインターネット上からアクセスできない Web サーバーの URL(https)が登録されおり、DA Client から https 通信が出来る様に構成されている
(デフォルトでは、「nls.ドメイン名」ですが、僕は意図的に LAN 上に存在する物理サーバーに IIS を立てて SSL 証明書を入れています)

(2) 企業 DNS プローブ ホスト名の指定
上記の所にある[企業 DNS プローブ ホスト名の指定]に「directaccess-corpConnectivityHost.ドメイン名」が登録されている

(3) 企業 DNS プローブ ホスト アドレスの指定
上記の所にある[企業 DNS プローブ ホスト アドレスの指定]にループバックが設定されている

(4)  企業 Web サイト プローブ URL の指定
上記の所にある[企業 Web サイト プローブ URL の指定]に「http://directaccess-WebProbeHost.ドメイン名」が設定されている

(5) 企業リソース
[コンピューターの構成]-[ポリシー]-[管理用テンプレート]-[ネットワーク]-[DirectAccess クライアント エクスペリエンスの設定]-[企業リソース] に「HTTP:http://directaccess-WebProbeHost.ドメイン名」が登録されている。

(1) ドメインの場所を特定する URL の指定

(2) 企業 DNS プローブ ホスト名の指定

(3) 企業 DNS プローブ ホスト アドレスの指定

(4) 企業 Web サイト プローブ URL の指定

(5) 企業リソース

 

●職場の接続が「接続済み」と判定される条件

インターネットから DirectAccess 接続した際に、以下の条件が満たされると、「職場の接続」が「接続済み」と判定されます。

(1) DirectAccess クライアントが LAN 上ではなくインターネット上に位置していると判断され、DirectAccess 接続が発動

(2) 「ドメインの場所を特定する URL の指定」に対してアクセスできない(直接通信)

(3) 「企業リソース」(directaccess-WebProbeHost)に対してアクセスが出来る(DirectAccess 経由通信)

これを実現するためには、DirectAccess の設定で「ドメインの場所を特定する URL の指定」に設定する Server は、DirectAccess 対象外にしておく必要があります。

「ドメインの場所を特定する URL の指定」に指定する Server は DirectAccess 対象外に

 

back.gif (1980 バイト)

home.gif (1907 バイト)

Copyright © MURA All rights reserved.