IOS按需自动连接VPN 保持长链接

随着个人信息保护意识的增强,大多数人为了确保在外部未知网络下的信息安全,会使用VPN这类信息管道,对信息安全有苛刻要求的用户会采用自建服务器的方式,使用系统VPN功能进行通信,对于iOS/Mac等系统来说,基础的功能不能满足高阶用户,下面我们会使用一种更加智能的方式来建立长连接VPN。

本文适用于IPsec连接方式

将解决问题:

1.iOS VPN 在切换Wi-Fi/流量时会自动断线 并且长时间连接状况下极其不稳定。

2.VPN智能开闭:iOS/Mac在未知网络环境下自动连接VPN 在已知环境下断开VPN。

 

使用配置文件方案来解决如上问题

将以下XML编码保存为 Vpn.mobileconfig文件 填写服务器信息 上传至Web服务器,使用iOS/Mac进行访问链接 即可安装该配置文件。

<?xml version="1.0" encoding="UTF-8"?>
<!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>UserDefinedName</key>
<string>Security Channal</string>
<key>PayloadDisplayName</key>
<string>Security Channal</string>
<key>PayloadIdentifier</key>
<string>com.channel.vpn.wifi</string>
<key>PayloadUUID</key>
<string>85284094-A9F5-47D7-A1CD-6F831B2FFAC0</string>
<key>VPNType</key>
<string>IPSec</string>
<key>IPSec</key>
<dict>
<key>RemoteAddress</key>
<string>服务器地址</string>
<key>AuthenticationMethod</key>
<string>SharedSecret</string>
<key>XAuthName</key>
<string>用户名</string>
<key>XAuthPassword</key>
<string>密码</string>
<key>XAuthEnabled</key>
<integer>1</integer>
<key>LocalIdentifierType</key>
<string>KeyID</string>
<key>SharedSecret</key>
<string>公共密匙</string>
</dict>
<key>OnDemandEnabled</key>
<integer>1</integer>
<key>OnDemandRules</key>
<array>
<dict>
<key>InterfaceTypeMatch</key>
<string>WiFi</string>
<key>SSIDMatch</key>
<array>
<!-- 连接至以下Wi-Fi时 断开VPN(已知安全环境) -->
<string>WiFi名称1</string>
<string>WiFi名称2</string>
</array>
<key>Action</key>
<string>Disconnect</string>
</dict>
<dict>
<key>Action</key>
<string>Connect</string>
</dict>

<!-- 各情景的断开/连接配置 分别为 手机流量 以太网 WI-FI 默认配置-->
<!--
<dict>
<key>Action</key>
<string>Disconnect</string>
<key>InterfaceTypeMatch</key>
<string>Cellular</string>
</dict>

<dict>
<key>Action</key>
<string>Connect</string>
<key>InterfaceTypeMatch</key>
<string>Ethernet</string>
</dict>

<dict>
<key>Action</key>
<string>Connect</string>
<key>InterfaceTypeMatch</key>
<string>WiFi</string>
</dict>

<dict>
<key>Action</key>
<string>Ignore</string>
</dict> -->
</array>
<key>OverridePrimary</key>
<true/>
<key>IPv4</key>
<dict>
<key>OverridePrimary</key>
<integer>1</integer>
</dict>
<key>PayloadType</key>
<string>com.apple.vpn.managed</string>
<key>PayloadVersion</key>
<integer>1</integer>
</dict>

</array>
<key>PayloadDisplayName</key>
<string>VPN</string>
<key>PayloadIdentifier</key>
<string>TW.BAB78424-28FB-4654-915D-93D0CB87CC7B</string>
<key>PayloadRemovalDisallowed</key>
<false/>
<key>PayloadType</key>
<string>Configuration</string>
<key>PayloadUUID</key>
<string>A9F4B095-4336-4ECD-A2B2-3D52D778E743</string>
<key>PayloadVersion</key>
<integer>1</integer>
</dict>
</plist>

 

 

参考:

https://thomas-witt.com/auto-connect-your-ios-device-to-a-vpn-when-joining-an-unknown-wifi-d1df8100c4ba

https://nerd.one/vpn-on-demand-configuration-profiles-for-ios-and-macos-explained/



无觅相关文章插件,快速提升流量

About webmaster

博主目前为学生,业余时间专注于分享互联网潮流资讯,前沿WEB技术,渗透技术,APT,XSS,RFID,SDR,GSM,RF等技术.此前对前端渗透有较深建树,建博旨在记录与发表前沿技术.感谢大家关注...

分享到:
No Response
Comment (0)
Trackback (0)
Leave a Reply

昵称*

邮箱*

网址

0

贴入百度统计、CNZZ、51啦、量子统计代码等等