2016/08/17

自動 VPN 接続の仕様が変わった? 変わってた?

Windows 8.1 で以前は動いていた Add-VPNConnectionTriggerDNSConfiguration による DNS サフィックスによる自動 VPN 接続(Auto-Trigger VPN)。Windows 10 では設定しても動かないかもしれません。Windows 8.1 でも改めてやってみると動かなくなっていました。設定しても VPN 接続は無反応です。Add-VPNConnectionTriggerApplication はこれまでどおり動きます。

関連:
Windows 8.1 Preview > Auto-Triggered VPN (自動 VPN 接続) できました (2013/07/19)

(関係ないですけど、「自動VPN 接続」という訳語が出回っているのは私のこの記事のせい?正式な日本語の機能名はない?)

Windows 10 にも Add-VPNConnectionTriggerDNSConfiguration コマンドレットはあるけど、オンライン版のヘルプが無い。Windows 8.1 向けの オンラインドキュメントにも見当たらない。謎。

(→再び使えるようにする方法を最後に追記しました)



Windows 8.1 正式リリース前の 2013 年 6 月の以下のブログ投稿には Add-VPNConnectionTriggerDNSConfiguration コマンドレットに関する説明はありませんが...

Networking Blog|Automatically Triggering VPN Connections and VPN Diagnostics Enhancements in Windows 8.1
[URL] https://blogs.technet.microsoft.com/networking/2013/10/02/automatically-triggering-vpn-connections-and-vpn-diagnostics-enhancements-in-windows-8-1/

2013 年 7 月のこちらのブログ投稿では説明されています。

What’s New in 2012 R2: People-centric IT in Action – End-to-end Scenarios Across Products
[URL] https://blogs.technet.microsoft.com/enterprisemobility/2013/07/17/whats-new-in-2012-r2-people-centric-it-in-action-end-to-end-scenarios-across-products/

Windows 8.1 Update (KB2919355 適用済み) をクリーン インストールしてみたら、この時点では既に使えなくなっていたらしい。いつ、変わったんだろう...?

・・・

と試行錯誤していて初めて知ったのですが、自動 VPN 接続を PC が接続中のローカルネットワークに応じて抑制する方法として、Add-VPNConnectionTriggerTrustedNetwork を使うんですね。例えば、PC のローカル ネットワークが demo.contoso.com だったら自動 VPN 接続を使わないなら...

Add-VPNConnectionTriggerTrustedNetwork -ConnectionName "VPN接続名" -DNSSuffix demo.contoso.com

PC のローカル ネットワークが demo.contoso.com でないときは、トリガー アプリの開始に自動 VPN 接続が反応。

PC のローカル ネットワークが demo.contoso.com だったら、トリガー アプリの開始に自動 VPN 接続は無反応。

DNS サフィックスは DHCP で自動構成されないとダメみたい。IPv4 のプロパティで DNS サフィックスを静的に設定した場合、正しく機能しませんでした。

また、忘れがちなんですが、自動 VPN 接続は AD ドメイン参加 PC では動きません。ワークグループ構成が必須。Azure AD 参加ならワークグループ構成でもあるので動くと思います(試していませんが)。

追記:
Add-VPNConnectionTriggerDNSConfiguration を以前の動作に戻す方法を見つけました。ただし、試してみるなら、自己責任で。例えば、Web ブラウザーで ad.local(リモートのDNSサーバーのIPは10.0.0.101の場合)にアクセスしたときに自動 VPN 接続を開始するには...

1) トリガーを作成

Add-VPNConnectionTriggerDNSConfiguration -ConnectionName "VPN接続名" -DNSSuffix ad.local -DNSIPAddress 10.0.0.101

2) Gpedit.msc で ad.local 汎用 DNS サーバー 10.0.0.101 に対する名前解決ポリシーを作成。


3) gpupdate

4) Regedit で以下のレジストリ値を作成。
HKLM\System\CurrentControlSet\services\Dnscache\Parameters\DnsPolicyConfig\{GUID} 
 タイプ: REG_DWORD 
 名前: VpnRequired
 値のデータ: 1
(参考: 2.2.2.15 Auto-Trigger VPN https://msdn.microsoft.com/en-us/library/dn366791.aspx)

5) IE や Edge で http://www.ad.local を開く。自動 VPN 接続が反応。



1 件のコメント:

  1. オンラインヘルプはこちらに発見

    https://docs.microsoft.com/en-us/powershell/module/vpnclient/add-vpnconnectiontriggerdnsconfiguration?view=win10-ps

    返信削除

注: コメントを投稿できるのは、このブログのメンバーだけです。