iOS配置配置文件VPN在iOS8上工作但不在iOS9 dev beta上工作

时间:2015-08-14 21:38:57

标签: ios vpn ios9 ondemand configuration-profile

我有一个配置了IPSec VPN的iOS配置文件。 OnDemand选项在iOS8上运行良好。

在iOS9上测试配置文件时(为即将发布的版本做好准备),我遇到了OnDemand配置的问题。当我试图访问safari上的某些域时,它根本无法连接。 手动连接到VPN工作

这是我的mobileconfig的按需部分:

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


        <key>OnDemandEnabled</key>
            <integer>1</integer>


<key>OnDemandRules</key>
            <array>
                <dict>
                    <key>Action</key>
                    <string>EvaluateConnection</string>
                    <key>ActionParameters</key>
                    <array>
                        <dict>
                            <key>Domains</key>
                            <array>
                                <string>duckduckgo.com</string>

                            </array>
                            <key>DomainAction</key>
                            <string>ConnectIfNeeded</string>
                            <key>RequiredURLStringProbe</key>
                            <string>https://vpn.test.mydomain.com</string>
                        </dict>
                    </array>
                </dict>
            </array> 
            ....
            ....

在尝试了iOS9的大量配置之后,我还设法让VPN始终连接OnDemand,除了配置文件安装之外没有任何操作,但这不是我想要的行为。

这是允许随需应变的配置:

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


        <key>OnDemandEnabled</key>
            <integer>1</integer>


<key>OnDemandRules</key>
            <array>
                <dict>
                    <key>Action</key>
                    <string>Connect</string>
                    <key>ActionParameters</key>
                    <array>
                        <dict>
                            <key>Domains</key>
                            <array>
                                <string>duckduckgo.com</string>

                            </array>
                            <key>DomainAction</key>
                            <string>ConnectIfNeeded</string>
                            <key>RequiredURLStringProbe</key>
                            <string>https://vpn.test.mydomain.com<</string>
                        </dict>
                    </array>
                </dict>
            </array>

我认为这是因为&#34; connect&#34; &#34;行动的价值&#34; key不检查ActionParameters,只是自动连接到VPN服务器。

我希望我错过了一些小的新功能,苹果在official docs for the configurations中还没有更新。

任何修复iOS9配置文件的建议都将受到赞赏。 感谢。

2 个答案:

答案 0 :(得分:0)

iOS 9和onDemand已损坏。过去适用于iOS 8的内容不适用于iOS 9,尽管在发行说明中没有提到它。

我建议您注册成为开发人员以访问9.1

答案 1 :(得分:0)

经过大量研究后,我发现了一个配置,使得ondemand功能在iOS9上运行。这是适合我的那个:

注意RequiredURLStringProbe键。它应该是VPN网络外部无法访问的URL。

<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
  <plist version="1.0">
<dict>


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


<key>OnDemandEnabled</key>
                <integer>1</integer>


<key>OnDemandRules</key>
            <array>
                <dict>
                    <key>Action</key>
                    <string>EvaluateConnection</string>
                    <key>ActionParameters</key>
                    <array>
                        <dict>
                            <key>Domains</key>
                            <array>
                                anyDomainForOnDemand.com
                            </array>
                            <key>DomainAction</key>
                            <string>ConnectIfNeeded</string>
                            <key>RequiredURLStringProbe</key>
                            <string>https://a.url.accecable.only.from.vpn</string>
                        </dict>
                    </array>
                </dict>
            </array>

....
....
....