Ios7 在iOS 7上设置VPN配置文件

Ios7 在iOS 7上设置VPN配置文件,ios7,vpn,ondemand,configuration-profile,Ios7,Vpn,Ondemand,Configuration Profile,我在iOS 6上设置了一个配置文件,这样当某个URL被点击时,VPN就会启动 我使用以下配置配置文件键执行此操作: <key>OnDemandEnabled</key> <integer>1</integer> <key>OnDemandMatchDomainsAlways</key> <array> <string>my_homepage.com</string> </ar

我在iOS 6上设置了一个配置文件,这样当某个URL被点击时,VPN就会启动

我使用以下配置配置文件键执行此操作:

<key>OnDemandEnabled</key>
<integer>1</integer>
<key>OnDemandMatchDomainsAlways</key>
<array>
    <string>my_homepage.com</string>
</array>
OnDemand已启用
1.
OnDemandMatchDomainsAllways
我的主页.com
在iOS 6上,这似乎可以正常工作。但是,在iOS 7中,OnDemandMatchDomainAlways似乎已被弃用,取而代之的是OnDemandRules键,“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>
OnDemand规则
行动
连接
DNSDomainMatch
我的主页.com
我还尝试使用以下方法进行设置:

<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>
OnDemand规则
行动
评估连接
动作参数
领域
url-that-redirects-if-vpn-off.com
域作用
连接需要
然而,这些方法似乎都不起作用。有人知道如何设置iOS VPN配置文件,以便VPN OnDemand功能在iOS 7上的工作方式与在iOS 6上的工作方式相同吗


提前感谢,

我遇到了同样的问题,并且通过将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>
IPSec
认证方法
证明书
OnDemand已启用
1.
按需规则
行动
连接
DNSDomainMatch
我的主页.com

请注意,这与已发布的配置概要文件参考文档相矛盾。但是,就我而言,它让事情顺利进行。

这个片段对我来说很有用。我试着模仿“始终保持联系”的行为

        <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>
IPSec
认证方法
证明书
OnDemand已启用
1.
按需规则
行动
评估连接
动作参数
领域
domain.com
RequiredURLStringProbe
https://host.domain.com/nonexistent_url                    
域作用
连接需要
PayloadCertificateUid
...
PromptForVPNPIN
远程地址
...

以下是我的个人资料摘录,我在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>
身份验证方法
证明书
OnDemand已启用
1.
按需规则

我以前曾设法让它与私有域一起工作,但有趣的是,我开始考虑让它与任何输入的域一起工作,所以这是一个很好的时机。不幸的是,看起来URLStringProbe导致它在任何url上被激活(它实际上在我启动firefox时就启用了VPN,不管我的个人资料中有什么内容),因此,我可能必须尝试将其与其他词典条目结合使用。您好@john lockwood:非常感谢您的博客,它确实很有帮助,但我认为您应该在您的博客上提供一个示例配置文件。@john lockwood-
Action Connect
在iOS 7中工作正常,但当VPN服务器关闭时该设备必须使用公共互联网,所以我将其设置为如下
Action ConnectURLStringProbehttps://www.google.com 
但它甚至没有建立VPN连接。任何帮助都将不胜感激!Hi@ricardog:非常感谢你的博客,这真的很有帮助,但我认为你应该在你的博客上提供一个配置文件示例。