मुख्य कंटेंट तक स्किप करें

.mobileconfig प्रोफ़ाइल से डिप्लॉय करें

Vylos WireGuard टनल को प्रबंधित, केवल पढ़ने योग्य सिस्टम आइटम के रूप में इंस्टॉल करने के लिए Apple .mobileconfig प्रोफ़ाइल बनाएँ।

प्रोफ़ाइल प्रकार चुनें

लक्ष्यVPN payload प्रकारआवश्यकता
योग्य डिवाइस ट्रैफ़िक को एक टनल से रूट करनाcom.apple.vpn.managedसीधे इंस्टॉल या MDM से डिलीवर करें।
असाइन किए गए प्रबंधित ऐप को Vylos से रूट करनाcom.apple.vpn.managed.applayerVPN प्रोफ़ाइल सीधे इंस्टॉल होने पर भी उत्पादन ऐप असाइनमेंट के लिए MDM चाहिए।

दोनों Vylos में प्रबंधित टनल बनाते हैं। ये ऐप व्यवहार नियंत्रित करने वाले प्रबंधित ऐप कॉन्फ़िगरेशन से अलग हैं।

हर सेटिंग कहाँ रखी जाती है

क्षमताप्रोफ़ाइल में स्थान
WireGuard इंटरफ़ेस और पीयरVendorConfig.WgQuickConfigBase64 या WgQuickConfig
स्प्लिट DNS और खोज डोमेनVendorConfig.VylosConfigBase64 या VylosConfig
स्वचालित सक्रियणVPN.OnDemandEnabled और VPN.OnDemandRules
VPN के बिना कनेक्शन रोकनाVPN.IncludeAllNetworks
प्रति-ऐप सक्रियणशीर्ष स्तर के OnDemandMatchAppEnabled और VPNUUID
Vylos प्रतिबंध और प्राथमिकताएँप्रबंधित ऐप कॉन्फ़िगरेशन, VPN प्रोफ़ाइल नहीं

नीचे दिए गए उदाहरण Apple के property-list रूप का उपयोग करते हैं। यदि MDM इसके बजाय फ़ॉर्म दिखाता है, तो वही dictionary nesting और value types बनाएँ; डॉट वाले नामों को वास्तविक कुंजियाँ न बनाएँ।

WireGuard कॉन्फ़िगरेशन भेजना

VPN payload के VendorConfig में केवल एक कुंजी रखें:

कुंजीमान
WgQuickConfigWireGuard .conf का बिना बदला बहु-पंक्ति UTF-8 कंटेंट।
WgQuickConfigBase64उसी UTF-8 कंटेंट का एक-पंक्ति Base64 एन्कोडिंग।

MDM पंक्ति-विराम न बचाए तो WgQuickConfigBase64 उपयोग करें। दोनों कुंजियाँ होने पर Vylos अस्पष्ट स्रोत के कारण payload अस्वीकार करता है। Base64 एन्क्रिप्शन नहीं है और केवल .conf टेक्स्ट को एन्कोड करता है।

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

base64 फ़ाइल एन्कोड करता है, tr -d '\n' पंक्ति-विराम हटाता है और pbcopy परिणाम क्लिपबोर्ड में रखता है।

स्प्लिट DNS सेटिंग्स भेजना

प्रबंधित टनल में स्प्लिट DNS उपयोग होने पर इसी VendorConfig dictionary में निम्न में से ठीक एक वैकल्पिक कुंजी जोड़ें:

कुंजीमान
VylosConfigsettings.conf रूप में Vylos सेटिंग्स का मल्टीलाइन UTF-8 पाठ।
VylosConfigBase64उसी पाठ का एक-पंक्ति Base64 एन्कोडिंग।

MDM के साथ VylosConfigBase64 उपयोग करें, ताकि कुंजी-मान संपादक लाइन ब्रेक न हटाए या बदले। ऐसी फ़ाइल बनाएँ:

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

फिर macOS पर एन्कोडेड मान कॉपी करें:

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

इसे VylosConfigBase64 के रूप में पेस्ट करें। WireGuard कॉन्फ़िगरेशन के [Interface] में कम से कम एक DNS सर्वर भी होना चाहिए। Domains उन क्वेरी को चुनता है जो इन सर्वरों का उपयोग करती हैं, SearchDomains छोटे होस्टनाम में प्रत्यय जोड़ता है और AllowedIPs ट्रैफ़िक रूटिंग नियंत्रित करता रहता है।

प्रबंधित टनल के लिए किल स्विच

प्रबंधित डिवाइस-वाइड टनल को किल स्विच देने के लिए VPN dictionary में Apple की IncludeAllNetworks कुंजी उपयोग करें:

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

इसे RemoteAddress और AuthenticationMethod के पास रखें। स्वचालित सक्रियण को OnDemandRules से अलग कॉन्फ़िगर करें।

IncludeAllNetworks, WireGuard के AllowedIPs रूट का विस्तार नहीं करता। यह सामान्य ट्रैफ़िक को VPN से बाहर जाने से रोकता है, जबकि AllowedIPs अब भी तय करता है कि प्रत्येक पीयर किन गंतव्यों तक पहुँच सकता है। पूर्ण ड्यूल-स्टैक टनल के लिए 0.0.0.0/0 और ::/0 उपयोग करें। आंशिक रूट सख्त अनुमति-सूची बनते हैं और रूट में [Interface] के हर DNS सर्वर को भी शामिल करना चाहिए।

Apple नेटवर्क नियंत्रण ट्रैफ़िक और कुछ डिवाइस सेवाओं के लिए अपवाद रखता है। डिप्लॉयमेंट से पहले VPN payload का IncludeAllNetworks फ़ील्ड देखें।

डिवाइस-वाइड प्रोफ़ाइल

पारंपरिक डिवाइस-वाइड टनल com.apple.vpn.managed उपयोग करती है। डिप्लॉय करने से पहले सभी उदाहरण पहचानकर्ता, UUID, कुंजियाँ, पते और एंडपॉइंट बदलें।

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>

uuidgen से अलग UUID बनाएँ। हर अतिरिक्त टनल बाहरी PayloadContent array में अलग com.apple.vpn.managed शब्दकोश है। एक-पंक्ति मान के लिए WgQuickConfig को इससे बदलें:

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

इसी तरह VylosConfig कुंजी और उसके मल्टीलाइन पाठ को बदलें:

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

प्रति-ऐप प्रोफ़ाइल

प्रति-ऐप WireGuard रूटिंग के लिए com.apple.vpn.managed.applayer और Vylos पैकेट-टनल प्रदाता का उपयोग करें। Payload WgQuickConfig या WgQuickConfigBase64 के साथ वैकल्पिक स्प्लिट DNS सेटिंग्स के लिए VylosConfig या VylosConfigBase64 भी स्वीकार करता है।

सेटिंगमान
PayloadTypecom.apple.vpn.managed.applayer
VPNTypeVPN
VPNSubTypeio.cbnventures.vylos
VPN.ProviderBundleIdentifierio.cbnventures.vylos.packet-tunnel
VPN.ProviderTypepacket-tunnel
VPNUUIDVPN को असाइन हर प्रबंधित ऐप के साथ साझा अनूठा मान।
OnDemandMatchAppEnabledऐप का नेटवर्क ट्रैफ़िक शुरू होते ही जोड़ने के लिए true।
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>

यह VPN बनाता है, ऐप असाइन नहीं करता। ऐप को वही VPNUUID देने के लिए प्रति-ऐप VPN कॉन्फ़िगर करें देखें।

प्रोफ़ाइल इंस्टॉल और हटाना

केंद्रीय स्वामित्व, बदलाव और हटाने के लिए MDM उपयोग करें। MDM न हो तो उपयोगकर्ता डिवाइस-वाइड प्रोफ़ाइल सीधे इंस्टॉल करके सिस्टम की प्रोफ़ाइल सेटिंग्स से हटा सकता है। Vylos इसे प्रोफ़ाइल-स्वामित्व वाला और केवल पढ़ने योग्य मानता है; बदलाव प्रोफ़ाइल को अपडेट/हटाकर करें। ऐप अनुभव के लिए प्रबंधित टनल डिप्लॉय करें और Apple नियमों के लिए VPN व AppLayerVPN देखें।