9

iOS 6 で設定した構成プロファイルがあったので、特定の URL にヒットすると VPN が作動します。

次の構成プロファイルキーを使用してこれを行っていました。

<key>OnDemandEnabled</key>
<integer>1</integer>
<key>OnDemandMatchDomainsAlways</key>
<array>
    <string>my_homepage.com</string>
</array>

iOS 6 では、これは正常に動作するようです。ただし、iOS 7 では、OnDemandRules キーを支持して OnDemandMatchDomainAlways が廃止されたようで、「OnDemandMatchDomainAlways」のデフォルトの動作は「OnDemandMatchDomainsOnRetry」のように動作することです。そのため、次のように OnDemandRules キーを使用して、以前のセットアップを iOS 7 で動作させようとしています。

<key>OnDemandRules</key>
<array>
    <dict>
        <key>Action</key>
        <string>Connect</string>
        <key>DNSDomainMatch</key>
        <array>
            <string>my_homepage.com</string>
        </array>
    </dict>
</array>

また、この方法を使用して設定しようとしました:

<key>OnDemandRules</key>
    <array>
        <dict>
                    <key>Action</key>
            <string>EvaluateConnection</string>
            <key>ActionParameters</key>
            <array>
                <dict>
                    <key>Domains</key>
                    <array>
                        <string>url-that-redirects-if-vpn-off.com</string>
                    </array>
                    <key>DomainAction</key>
                    <string>ConnectIfNeeded</string>
            </dict>
        </array>
    </dict>
</array>

ただし、これらの方法はどれも機能していないようです。VPN OnDemand 機能が iOS6 と同じように iOS 7 でも動作するように、iOS VPN プロファイルを設定する方法を知っている人はいますか?

前もって感謝します、

4

3 に答える 3

5

私は同じ問題に遭遇し、OnDemanRules キーを IPSec ブロックの一部として配置することで、オンデマンド機能を再び取得できました。つまり、

<key>IPSec</key>
<dict>
    <key>AuthenticationMethod</key>
    <string>Certificate</string>

    <!-- Other IPSEC VPN properties here. -->

    <key>OnDemandEnabled</key>
    <integer>1</integer>
    <key>OnDemandRules</key>
    <array>
        <dict>
        <key>Action</key>
        <string>Connect</string>
        <key>DNSDomainMatch</key>
        <array>
          <string>my_homepage.com</string>
        </array>
    </dict>
    </array>
</dict>

これは、公開されている構成プロファイル リファレンス ドキュメントと矛盾することに注意してください。しかし、私の場合、それは物事を機能させました。

于 2013-09-24T18:09:22.007 に答える
4

このスニペットは私のために働いた。「常に接続」の動作をエミュレートしようとしました

        <key>IPSec</key>
        <dict>
            <key>AuthenticationMethod</key>
            <string>Certificate</string>
            <key>OnDemandEnabled</key>
            <integer>1</integer>
                    <!-- on demand rules -->
                    <key>OnDemandRules</key>
                    <array>
                    <dict>
                    <key>Action</key>
                    <string>EvaluateConnection</string>
                    <key>ActionParameters</key>
                    <array>
                    <dict>
                    <key>Domains</key>
                    <array>
                    <string>domain.com</string>
                    </array>
                    <key>RequiredURLStringProbe</key>
                    <string>https://host.domain.com/nonexistent_url</string>                    
                    <key>DomainAction</key>
                    <string>ConnectIfNeeded</string>
                    </dict>
                    </array>
                    </dict>
                    </array>
                    <!-- on demand rules -->
            <key>PayloadCertificateUUID</key>
            <string>...</string>
            <key>PromptForVPNPIN</key>
            <false/>
            <key>RemoteAddress</key>
            <string>...</string>
        </dict>
于 2013-10-03T11:46:51.097 に答える
3

これは、iOS 7 および 7.1 で VPN オンデマンドに使用する私のプロファイルからの抜粋です。

            <key>AuthenticationMethod</key>
            <string>Certificate</string>
            <key>OnDemandEnabled</key>
            <integer>1</integer>
            <key>OnDemandRules</key>
            <array>
                <dict>
                <key>Action</key>
                <string>Connect</string>
                <key>URLStringProbe</key>
                <string>http://internet-accessible-url.example.com</string>
                </dict>
            </array>
            <key>PayloadCertificateUUID</key>

これにより、iOS デバイスがモバイル データ経由または WiFi 経由でインターネットにアクセスしようとするたびに、トリガーされ、ユーザーの操作を必要とせずに自動 VPN オンデマンド接続が開始されます。

明らかに証明書認証を備えた Cisco IPSec 互換 VPN サーバーとして機能する StrongSwan 5.1.2 サーバーを使用していますが、Xauth-noauth を使用して、iOS デバイスがセカンダリ、つまり xauth 認証のユーザー名/パスワードを常に要求するのを防ぎました。

Profile Manager は、iOS クライアント デバイスがセカンダリ xauth クレデンシャルのパスワードを保存することを許可しません。

これについての私のブログを参照してくださいhttp://jelockwood.blogspot.co.uk/2014/03/how-to-do-vpn-on-demand-for-ios-at-zero.html

于 2014-03-18T15:13:35.263 に答える