Open微屁嗯
是个非常强大的工具,默认的参数已经足够对付大多数场景了。由于某些原因,我只需要某些 ip 走 Open微屁嗯
的线路,这就需要自定义路由了。
Open微屁嗯 配置
主要由 route-nopull
、vpn_gateway
、net_gateway
三个参数决定
route-nopull
当客户端加入这个参数后,'open微屁嗯' 连接后不会添加路由,也就是不会有任何网络请求走 open微屁嗯
.
vpn_gateway
当客户端加入 route-nopull
后,所有出去的访问都不从 Open微屁嗯
出去,但可通过添加 vpn_gateway
参数使部分IP访问走 Open微屁嗯
出去
route 192.168.1.0 255.255.0.0 vpn_gateway
route 172.121.0.0 255.255.0.0 vpn_gateway
net_gateway
这个参数和 vpn_gateway
相反,表示在默认出去的访问全部走 Open微屁嗯
时,强行指定部分IP访问不通过 Open微屁嗯
出去. max-routes 参数表示可以添加路由的条数,默认只允许添加100条路由,如果少于100条路由可不加这个参数.
max-routes 1000
route 172.121.0.0 255.255.0.0 net_gateway
比较常用做法是在客户端配置文件中加上 route-nopull
再使用 vpn-gateway
逐条添加需要走 Open微屁嗯
的 ip
。
关于NEVPNManager
解析
NEVPNManager
是iOS上的一个框架,用于管理网络扩展(Network Extension
)中的VPN配置。它可以让你的应用程序为用户提供VPN服务,允许用户将其设备连接到远程网络或使其网络连接更加安全。
以下是NEVPNManager常用的属性字段:
localizedDescription:VPN配置的本地化描述信息。
protocol:VPN协议类型,可以设置为IPSec、IKEv2、L2TP和PPTP。
connection:VPN连接配置信息。
onDemandRules:按需规则,指定何时自动启动VPN连接。可以基于应用程序、域名、Wi-Fi网络等条件来设置。
isEnabled:是否启用VPN连接。
isConnected:当前VPN连接状态。
localizedReadableErrorString:如果连接失败,包含一个本地化的错误消息。
protocolConfiguration:VPN配置信息,包括用户名、密码、服务器地址、密钥等。
persistentRef:VPN连接的持久性参考标识符,用于在应用程序重启后重新连接VPN。
onDemandEnabled:是否启用按需连接功能。
onDemandRulesEnabled:是否启用按需规则。
authenticationMethod:VPN连接的身份验证方法,可以设置为共享秘钥、证书或外部协议。
username:VPN连接使用的用户名。
passwordReference:VPN连接使用的密码参考标识符。
serverAddress:VPN连接使用的服务器地址。
identityReference:VPN连接使用的身份参考标识符。
disconnectOnSleep:设备休眠时是否断开VPN连接。
reconnectOnWake:设备唤醒时是否自动重新连接VPN。