iOS VPN On Demand:仅限公司外部

时间:2016-03-20 14:50:45

标签: ios vpn

我正在阅读基于最新版iOS的VPN On Demand功能。

这里的问题是:我们运行VPN来访问内部托管的WebApp,这个子域在salexxx.company.net这样的子域上,它具有到网络内部IP的A记录(例如172.20.1.100) 。为了让某人访问WebApp,他需要a)直接连接到我们的网络,或者b)连接到VPN。

我们没有兴趣让每个请求来自用户设备通过VPN(流量很大)。 iOS VPN On Demand似乎解决了这个问题,但是当我在公司办公室并尝试访问域时,手机也会触发VPN ...导致网络上出现不必要的冗余。

  • 如果设备不在公司网络之外,是否可以告诉设备只连接到VPN?

谢谢。

2 个答案:

答案 0 :(得分:3)

如果您所连接的Wi-Fi的SSID与公司网络上使用的SSID匹配,您可以添加按需规则以断开连接。

NEOnDemandRuleDisconnect *disconnectOnCompanyNetworkRule = [[NEOnDemandRuleDisconnect alloc] init];
disconnectOnCompanyNetworkRule.SSIDMatch = @[@"company_network_name"];

如果您正在使用配置资料,您还可以按照文档中的说明将该规则添加到您的资料中:https://developer.apple.com/library/ios/featuredarticles/iPhoneConfigurationProfileRef/Introduction/Introduction.html#//apple_ref/doc/uid/TP40010206-CH1-SW36

Apple Configurator应用程序无法添加这些规则,您需要使用某些文本编辑器打开配置文件以添加这些规则。你想要添加这样的东西:

<key>OnDemandEnabled</key>
<integer>1</integer>
<key>OnDemandRules</key>
<array>
    <dict>
        <key>Action</key>
        <string>Disconnect</string>
        <key>InterfaceTypeMatch</key>
        <string>WiFi</string>
        <key>SSIDMatch</key>
        <array>
            <string>Company WiFi</string>
        </array>
    </dict>
    <dict>
        <key>Action</key>
        <string>Connect</string>                  
        <key>InterfaceTypeMatch</key>
        <string>WiFi</string>
    </dict>
    <dict>
        <key>Action</key>
        <string>Connect</string>
        <key>InterfaceTypeMatch</key>
        <string>Cellular</string>
    </dict>
</array>

答案 1 :(得分:1)

另一种方法是使用URLStringProbe

这使用标准的https来确定您是否已经在公司的网络上

bufio.NewScanner()

值得指出的是,您引用的服务器应该没有重定向,并且应该返回200.首选https,但您也可以使用http。

来自Apple的MDM技术参考:

  

URLStringProbe。可选的。用于探测可达性的服务器。不支持重定向。 URL应该是受信任的HTTPS服务器。设备发送GET请求以验证服务器是否可访问。

Apple MDM Technical reference