我正在阅读基于最新版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 ...导致网络上出现不必要的冗余。
谢谢。
答案 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请求以验证服务器是否可访问。