Lewati ke konten utama

Menerapkan dengan Profil .mobileconfig

Buat profil Apple .mobileconfig untuk memasang tunnel Vylos WireGuard sebagai item sistem terkelola yang bersifat baca-saja.

Memilih Jenis Profil

TujuanJenis payload VPNPersyaratan pengiriman
Merutekan lalu lintas perangkat yang memenuhi syarat melalui satu tunnelcom.apple.vpn.managedPemasangan langsung atau pengiriman melalui MDM.
Merutekan aplikasi terkelola yang ditetapkan melalui Vyloscom.apple.vpn.managed.applayerPenetapan aplikasi produksi memerlukan MDM meskipun profil VPN dipasang langsung.

Kedua profil membuat tunnel terkelola di Vylos. Ini berbeda dari konfigurasi aplikasi terkelola, yang mengontrol perilaku aplikasi tetapi tidak memasang VPN.

Lokasi Setiap Pengaturan

KemampuanLokasi dalam profil
Antarmuka dan peer WireGuardVendorConfig.WgQuickConfigBase64 atau WgQuickConfig
Split DNS dan domain pencarianVendorConfig.VylosConfigBase64 atau VylosConfig
Aktivasi otomatisVPN.OnDemandEnabled dan VPN.OnDemandRules
Blokir koneksi tanpa VPNVPN.IncludeAllNetworks
Aktivasi per aplikasiOnDemandMatchAppEnabled dan VPNUUID tingkat atas
Pembatasan dan preferensi VylosKonfigurasi Aplikasi Terkelola, bukan profil VPN

Contoh berikut menggunakan format daftar properti Apple. Jika MDM menampilkan formulir, buat susunan dictionary dan tipe nilai yang sama; jangan jadikan nama bertitik sebagai kunci harfiah.

Mengirim Konfigurasi WireGuard

Masukkan hanya salah satu kunci berikut ke kamus VendorConfig payload VPN:

KunciNilai
WgQuickConfigIsi UTF-8 multi-baris yang tidak diubah dari file WireGuard .conf.
WgQuickConfigBase64Isi UTF-8 .conf yang sama, dienkode Base64 dalam satu baris.

Jika kolom MDM tidak mempertahankan pemisah baris, gunakan WgQuickConfigBase64. Jika payload memuat kedua kunci, Vylos menolaknya karena sumber yang dimaksud tidak jelas.

Base64 adalah pengodean transportasi, bukan enkripsi. Nilai yang dienkode adalah teks .conf itu sendiri, bukan file .vylos, arsip ZIP, atau jalur menuju file tersebut.

Di macOS, perintah berikut menyalin nilai siap tempel ke papan klip:

bash
base64 -i "tunnel.conf" | tr -d '\n' | pbcopy

base64 mengodekan file, tr -d '\n' menghapus pemisah baris dari keluaran, dan pbcopy menaruh hasilnya di papan klip. Di editor kunci-nilai MDM, tempel hasil sebagai WgQuickConfigBase64 dan hilangkan WgQuickConfig.

Mengirim Pengaturan Split DNS

Saat tunnel terkelola menggunakan Split DNS, tambahkan tepat satu kunci opsional berikut ke dictionary VendorConfig yang sama:

KunciNilai
VylosConfigTeks UTF-8 multibaris pengaturan Vylos dalam format settings.conf.
VylosConfigBase64Enkode Base64 satu baris dari teks yang sama.

Gunakan VylosConfigBase64 dengan MDM agar editor kunci-nilai tidak menghapus atau mengubah pemisah baris. Buat file seperti berikut:

settings.conf
ini
[SplitDNS]
Domains = corp.example.com, *.internal.example.com
SearchDomains = example.com

Lalu salin nilai yang dienkode di macOS:

bash
base64 -i "settings.conf" | tr -d '\n' | pbcopy

Tempel sebagai VylosConfigBase64. Konfigurasi WireGuard juga harus memiliki setidaknya satu server DNS di [Interface]. Domains memilih kueri yang menggunakan server tersebut, SearchDomains menambahkan akhiran ke nama host singkat, dan AllowedIPs tetap mengendalikan perutean lalu lintas.

Kill Switch untuk Tunnel Terkelola

Gunakan kunci Apple IncludeAllNetworks di dalam dictionary VPN untuk memberikan perilaku kill switch pada tunnel seluruh perangkat yang terkelola:

xml
<key>IncludeAllNetworks</key>
<integer>1</integer>

Letakkan di samping RemoteAddress dan AuthenticationMethod. Konfigurasikan aktivasi otomatis secara terpisah melalui OnDemandRules.

IncludeAllNetworks tidak memperluas rute WireGuard dalam AllowedIPs. Kunci ini mencegah lalu lintas biasa melewati VPN, tetapi AllowedIPs tetap menentukan tujuan yang dapat dibawa setiap peer. Gunakan 0.0.0.0/0 dan ::/0 untuk tunnel dual-stack penuh. Rute parsial menjadi daftar izin ketat dan rute juga harus mencakup setiap server DNS di [Interface].

Apple tetap mengecualikan lalu lintas kontrol jaringan dan layanan perangkat tertentu. Tinjau bidang IncludeAllNetworks payload VPN sebelum penerapan.

Profil Seluruh Perangkat

Tunnel seluruh perangkat tradisional menggunakan com.apple.vpn.managed. Sebelum menerapkan, ganti semua contoh pengenal, UUID, kunci, alamat, dan endpoint.

xml
<?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>

Gunakan uuidgen untuk membuat UUID unik. Setiap tunnel tambahan adalah kamus com.apple.vpn.managed lain di dalam array PayloadContent luar.

Untuk menggunakan nilai satu baris, ganti kunci WgQuickConfig dan string multi-baris contoh dengan:

xml
<key>WgQuickConfigBase64</key>
<string>BASE64_ENCODED_CONF</string>

Ganti juga kunci VylosConfig dan string multibaris dengan cara yang sama:

xml
<key>VylosConfigBase64</key>
<string>BASE64_ENCODED_SETTINGS_CONF</string>

Profil Per Aplikasi

Gunakan com.apple.vpn.managed.applayer dan penyedia tunnel paket Vylos untuk perutean WireGuard per aplikasi. Payload mendukung varian WgQuickConfig dan WgQuickConfigBase64 yang sama, ditambah pengaturan Split DNS opsional dalam VylosConfig atau VylosConfigBase64.

PengaturanNilai
PayloadTypecom.apple.vpn.managed.applayer
VPNTypeVPN
VPNSubTypeio.cbnventures.vylos
VPN.ProviderBundleIdentifierio.cbnventures.vylos.packet-tunnel
VPN.ProviderTypepacket-tunnel
VPNUUIDNilai unik yang dibagikan dengan setiap aplikasi terkelola yang ditetapkan ke VPN.
OnDemandMatchAppEnabledAtur ke true agar tersambung otomatis saat aplikasi yang ditetapkan memulai komunikasi.

Kamus berikut dapat menggantikan kamus VPN seluruh perangkat di array PayloadContent profil:

xml
<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>

Memasang payload ini membuat VPN tetapi tidak menetapkan aplikasi. Lanjutkan ke Mengonfigurasi VPN Per Aplikasi untuk mengaitkan aplikasi terkelola dengan VPNUUID yang sama dan memahami bidang perutean yang didukung.

Memasang dan Menghapus Profil

Kirim profil melalui MDM agar kepemilikan, penggantian, dan penghapusan dikelola secara terpusat. Jika MDM tidak tersedia, pengguna juga dapat memasang profil seluruh perangkat secara langsung lalu menghapusnya melalui pengaturan manajemen profil sistem operasi.

Apa pun caranya, Vylos memperlakukannya sebagai milik profil dan baca-saja. Cara perubahan yang didukung adalah memperbarui atau menghapus profil, bukan mengedit tunnel di Vylos.

Untuk hasilnya di aplikasi, lihat Menerapkan Tunnel terkelola. Untuk konvensi payload lengkap Apple, lihat referensi VPN dan AppLayerVPN.