Käyttöönotto .mobileconfig-profiileilla
Luo Applen .mobileconfig-profiileja, jotka asentavat Vylos WireGuard -tunnelit hallituiksi, vain luku -muotoisiksi järjestelmäkohteiksi.
Profiilityypin valitseminen
| Tavoite | VPN-tietosisällön tyyppi | Jakeluvaatimus |
|---|---|---|
| Reititä laitteen soveltuva liikenne yhden tunnelin kautta | com.apple.vpn.managed | Asenna suoraan tai jakele MDM:n kautta. |
| Reititä määritetyt hallitut apit Vylosin kautta | com.apple.vpn.managed.applayer | Tuotannon appimääritykset vaativat MDM:n, vaikka itse VPN-profiili olisi asennettu suoraan. |
Molemmat profiilityypit luovat Vylosiin hallitun tunnelin. Ne ovat erillään hallitusta appimäärityksestä, joka ohjaa apin toimintaa mutta ei asenna VPN:ää.
Kunkin asetuksen sijainti
| Ominaisuus | Sijainti profiilissa |
|---|---|
| WireGuard-liitäntä ja vertaislaitteet | VendorConfig.WgQuickConfigBase64 tai WgQuickConfig |
| Jaettu DNS ja hakutoimialueet | VendorConfig.VylosConfigBase64 tai VylosConfig |
| Automaattinen aktivointi | VPN.OnDemandEnabled ja VPN.OnDemandRules |
| Yhteyksien esto ilman VPN:ää | VPN.IncludeAllNetworks |
| Appikohtainen aktivointi | Ylimmän tason OnDemandMatchAppEnabled ja VPNUUID |
| Vylosin rajoitukset ja asetukset | Hallittu appimääritys, ei VPN-profiili |
Alla olevat esimerkit käyttävät Applen ominaisuusluettelomuotoa. Jos MDM näyttää lomakkeen, luo sama sanakirjarakenne ja samat tyypit; älä käytä pisteellisiä nimiä kirjaimellisina avaimina.
WireGuard-määrityksen kuljetus
Lisää täsmälleen toinen seuraavista avaimista VPN-tietosisällön VendorConfig-sanakirjaan:
| Avain | Arvo |
|---|---|
WgQuickConfig | WireGuardin .conf-tiedoston muokkaamaton monirivinen UTF-8-sisältö. |
WgQuickConfigBase64 | Saman .conf-tiedoston UTF-8-sisällön yksirivinen Base64-koodaus. |
Käytä WgQuickConfigBase64-avainta, jos MDM-kenttä ei säilytä rivinvaihtoja. Vylos hylkää tietosisällön, jossa ovat molemmat avaimet, koska tarkoitettua lähdettä ei voisi päätellä.
Base64 on kuljetuskoodaus, ei salaus. Koodattu arvo on itse .conf-teksti, ei .vylos-tiedosto, ZIP-arkisto eikä polku kumpaankaan.
macOS:ssä seuraava komento kopioi liittämisvalmiin arvon leikepöydälle:
base64 -i "tunnel.conf" | tr -d '\n' | pbcopy
base64 koodaa tiedoston, tr -d '\n' poistaa rivinvaihdot koodatusta tulosteesta ja pbcopy asettaa tuloksen leikepöydälle. Liitä tulos MDM:n avain-arvo-editorissa avaimen WgQuickConfigBase64 arvoksi ja jätä WgQuickConfig pois.
Jaetun DNS:n asetusten kuljetus
Kun hallittu tunneli käyttää jaettua DNS:ää, lisää täsmälleen toinen seuraavista valinnaisista avaimista samaan VendorConfig-sanakirjaan:
| Avain | Arvo |
|---|---|
VylosConfig | Vylosin asetusten monirivinen UTF-8-teksti settings.conf-muodossa. |
VylosConfigBase64 | Saman tekstin yksirivinen Base64-koodaus. |
Käytä MDM-jakelussa VylosConfigBase64-avainta, jotta avain-arvoeditori ei poista tai muuta rivinvaihtoja. Luo esimerkiksi seuraava tiedosto:
[SplitDNS]
Domains = corp.example.com, *.internal.example.com
SearchDomains = example.com
Kopioi sitten koodattu arvo macOS:ssa:
base64 -i "settings.conf" | tr -d '\n' | pbcopy
Liitä arvo VylosConfigBase64-avaimeen. WireGuard-määrityksen [Interface]-osassa on oltava myös vähintään yksi DNS-palvelin. Domains valitsee kyseisiä palvelimia käyttävät kyselyt, SearchDomains lisää lyhyisiin isäntänimiin päätteet ja AllowedIPs ohjaa edelleen liikenteen reititystä.
Hallittujen tunneleiden verkkoliikenteen katkaisu
Anna hallitulle koko laitteen tunnelille kill switch -toiminta lisäämällä Applen IncludeAllNetworks-avain VPN-sanakirjaan:
<key>IncludeAllNetworks</key>
<integer>1</integer>
Sijoita se RemoteAddress- ja AuthenticationMethod-avainten viereen. Määritä automaattinen aktivointi erikseen OnDemandRules-säännöillä.
IncludeAllNetworks ei laajenna WireGuardin AllowedIPs-reittejä. Se estää tavallista liikennettä ohittamasta VPN:ää, mutta AllowedIPs ratkaisee edelleen, mitä kohteita kukin vertaislaite voi kuljettaa. Käytä 0.0.0.0/0- ja ::/0-reittejä täydelliseen kaksipinoiseen tunneliin. Osittaiset reitit muodostavat tiukan sallittujen kohteiden luettelon, ja reittien on katettava myös kaikki [Interface]-osan DNS-palvelimet.
Apple jättää verkkohallinnan liikenteen ja tietyt laitepalvelut käytännön ulkopuolelle. Lue ennen käyttöönottoa VPN-kuorman IncludeAllNetworks-kentän dokumentaatio.
Koko laitteen profiili
Käytä com.apple.vpn.managed-tyyppiä tavalliseen koko laitteen tunneliin. Korvaa kaikki esimerkkitunnisteet, UUID:t, avaimet, osoitteet ja päätepisteet ennen käyttöönottoa.
<?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>PayloadDisplayName</key>
<string>Vylos Managed Tunnel</string>
<key>PayloadIdentifier</key>
<string>com.example.vylos.vpn</string>
<key>PayloadType</key>
<string>Configuration</string>
<key>PayloadUUID</key>
<string>00000000-0000-0000-0000-000000000003</string>
<key>PayloadVersion</key>
<integer>1</integer>
<key>PayloadContent</key>
<array>
<dict>
<key>PayloadDisplayName</key>
<string>VPN</string>
<key>PayloadIdentifier</key>
<string>com.example.vylos.vpn.corp</string>
<key>PayloadType</key>
<string>com.apple.vpn.managed</string>
<key>PayloadUUID</key>
<string>00000000-0000-0000-0000-000000000004</string>
<key>PayloadVersion</key>
<integer>1</integer>
<key>UserDefinedName</key>
<string>Corporate VPN</string>
<key>VPNType</key>
<string>VPN</string>
<key>VPNSubType</key>
<string>io.cbnventures.vylos</string>
<key>VendorConfig</key>
<dict>
<key>WgQuickConfig</key>
<string>[Interface]
PrivateKey = AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=
Address = 10.0.0.2/32
DNS = 10.0.0.1
[Peer]
PublicKey = BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB=
AllowedIPs = 0.0.0.0/0
Endpoint = vpn.example.com:51820
PersistentKeepalive = 25
</string>
<key>VylosConfig</key>
<string>[SplitDNS]
Domains = corp.example.com, *.internal.example.com
SearchDomains = example.com
</string>
</dict>
<key>VPN</key>
<dict>
<key>RemoteAddress</key>
<string>vpn.example.com</string>
<key>AuthenticationMethod</key>
<string>Password</string>
</dict>
</dict>
</array>
</dict>
</plist>
Luo yksilölliset UUID:t komennolla uuidgen. Jokainen lisätunneli on uusi com.apple.vpn.managed-sanakirja ulommassa PayloadContent-taulukossa.
Jos käytät yksirivistä arvoa, korvaa esimerkin WgQuickConfig-avain ja monirivinen merkkijono seuraavalla:
<key>WgQuickConfigBase64</key>
<string>BASE64_ENCODED_CONF</string>
Korvaa esimerkin VylosConfig-avain ja monirivinen merkkijono samalla tavalla:
<key>VylosConfigBase64</key>
<string>BASE64_ENCODED_SETTINGS_CONF</string>
Appikohtainen VPN-profiili
Käytä com.apple.vpn.managed.applayer-tyyppiä Vylosin pakettitunnelipalvelun kanssa appikohtaiseen WireGuard-reititykseen. Tietosisältö hyväksyy samat WgQuickConfig- ja WgQuickConfigBase64-vaihtoehdot sekä valinnaiset jaetun DNS:n asetukset VylosConfig- tai VylosConfigBase64-avaimessa.
| Asetus | Arvo |
|---|---|
PayloadType | com.apple.vpn.managed.applayer |
VPNType | VPN |
VPNSubType | io.cbnventures.vylos |
VPN.ProviderBundleIdentifier | io.cbnventures.vylos.packet-tunnel |
VPN.ProviderType | packet-tunnel |
VPNUUID | Yksilöllinen arvo, joka jaetaan jokaisen tähän VPN:ään määritetyn hallitun apin kanssa. |
OnDemandMatchAppEnabled | true, kun yhteys muodostetaan määritetyn apin aloittaessa verkkoliikenteen. |
Seuraava sanakirja voi korvata koko laitteen VPN-sanakirjan profiilin PayloadContent-taulukossa:
<dict>
<key>PayloadDisplayName</key>
<string>Vylos Per-App VPN</string>
<key>PayloadIdentifier</key>
<string>com.example.vylos.vpn.per-app</string>
<key>PayloadType</key>
<string>com.apple.vpn.managed.applayer</string>
<key>PayloadUUID</key>
<string>00000000-0000-0000-0000-000000000005</string>
<key>PayloadVersion</key>
<integer>1</integer>
<key>UserDefinedName</key>
<string>Corporate Per-App VPN</string>
<key>VPNType</key>
<string>VPN</string>
<key>VPNSubType</key>
<string>io.cbnventures.vylos</string>
<key>VPNUUID</key>
<string>00000000-0000-0000-0000-000000000006</string>
<key>OnDemandMatchAppEnabled</key>
<true/>
<key>VendorConfig</key>
<dict>
<key>WgQuickConfigBase64</key>
<string>BASE64_ENCODED_CONF</string>
<key>VylosConfigBase64</key>
<string>BASE64_ENCODED_SETTINGS_CONF</string>
</dict>
<key>VPN</key>
<dict>
<key>AuthenticationMethod</key>
<string>Password</string>
<key>RemoteAddress</key>
<string>vpn.example.com</string>
<key>ProviderBundleIdentifier</key>
<string>io.cbnventures.vylos.packet-tunnel</string>
<key>ProviderType</key>
<string>packet-tunnel</string>
<key>OnDemandEnabled</key>
<integer>1</integer>
</dict>
</dict>
Tietosisällön asentaminen luo VPN:n mutta ei määritä sille appeja. Jatka kohdasta Appikohtaisen VPN:n määrittäminen, jotta voit yhdistää hallitut apit samaan VPNUUID-arvoon ja ymmärtää tuetut reitityskentät.
Profiilien asentaminen ja poistaminen
Jaa profiilit MDM:n kautta, jotta omistus, korvaaminen ja poisto voidaan hallita keskitetysti. Jos MDM ei ole käytettävissä, käyttäjä voi asentaa koko laitteen profiilin myös suoraan ja poistaa sen myöhemmin käyttöjärjestelmän profiilinhallinta-asetuksista.
Vylos käsittelee molempia jakelutapoja profiilin omistamina ja vain luku -muotoisina. Tuettu tapa muuttaa tunnelia on päivittää tai poistaa profiili, ei muokata tunnelia Vylosissa.
Katso apissa näkyvä lopputulos kohdasta Hallittujen tunnelien käyttöönotto. Applen koko tietosisältösopimus löytyy VPN- ja AppLayerVPN-viitteistä.