Di ', se l'accesso a one.example.com dovrebbe sempre far apparire il tunnel, come può essere espresso con OnDemandRules? O se two.example.com dovrebbe sempre abbattere il tunnel?
  Profilo di configurazione Riferimento chiave  afferma che quest'ultimo caso potrebbe essere in qualche modo gestito utilizzando un   DomainAction    con valore   NeverConnect    che  "non innescherà mai un tentativo di connessione VPN".  Quale sarebbe, anche se meglio di niente, non esattamente quello che sto cercando - tranne che anche questo non funziona come previsto (se ho capito bene la documentazione): 
<key>OnDemandRules</key>
<array>
  <dict>
    <key>Action</key>
    <string>EvaluateConnection</string>
    <key>ActionParameters</key>
    <array>
      <dict>
        <key>DomainAction</key>
        <string>NeverConnect</string>
        <key>Domains</key>
        <array>
          <string>two.example.com</string>
        </array>
      </dict>
    </array>
  </dict>
  <dict>
    <key>URLStringProbe</key>
    <string>http://a.url.that.returns.a.two.hundred.ok/</string>
    <key>Action</key>
    <string>Connect</string>
  </dict>
</array>
 La mia comprensione è che come la matrice   OnDemandRules    di dizionari viene valutata ad ogni tentativo di connessione e se il dispositivo accede a  two.example.com,  il primo dizionario corrisponderà e il tunnel non essere educato Se il dispositivo accede a un altro dominio, ad esempio  one.example.com,  il primo dizionario non corrisponde, il secondo dizionario corrisponderà e il tunnel verrà visualizzato. Ciò non funziona, tuttavia, e il tunnel non viene mai visualizzato. Se l'ordine è cambiato e il dizionario   Connect    è in cima, il tunnel viene sempre visualizzato (anche quando si accede a  two.example.com ). 
La mia comprensione dell'intera faccenda è ben lontana, oppure la documentazione e / o l'implementazione di Apple sono in qualche modo infranti? Qualcuno ha escogitato OnDemandRules che può essere utilizzato per far apparire o abbattere selettivamente una connessione VPN in base ai siti ai quali il dispositivo sta accedendo?
Modifica: il tunnel può essere richiamato "per dominio" utilizzando le seguenti regole (ciò presuppone che non sia presente un resolver locale):
<key>OnDemandRules</key>
<array>
  <dict>
    <key>Action</key>
    <string>EvaluateConnection</string>
    <key>ActionParameters</key>
    <array>
      <dict>
        <key>RequiredDNSServers</key>
        <array>
          <string>127.0.0.1</string>
        </array>
        <key>DomainAction</key>
        <string>ConnectIfNeeded</string>
        <key>Domains</key>
        <array>
          <string>one.example.com</string>
        </array>
      </dict>
    </array>
    <key>URLStringProbe</key>
    <string>http://a.url.that.returns.a.two.hundred.ok/</string>
  </dict>
  <dict>
    <key>Action</key>
    <string>Disconnect</string>
  </dict>
</array>
Ciò tuttavia risente del fatto che la risoluzione del nome di dominio non riesce prima, causando il fallimento del caricamento iniziale della pagina in Safari. Dopo che una pagina è stata ricaricata, viene visualizzata la pagina e il tunnel viene visualizzato. Ciò accade anche se al posto di 127.0.0.1 viene fornito un indirizzo server DNS reale e funzionante dietro il tunnel. C'è un modo per non fallire nella ricerca iniziale?
 Inoltre, il secondo dizionario (   Disconnect   ) non viene mai raggiunto e il tunnel rimane attivo per qualche tempo. Come posso fare il "contrario" di quanto sopra e abbattere il tunnel per alcuni nomi di dominio? Il   DomainAction    di   NeverConnect    non lo fa.