Zoals beloofd, automatisch always-on profielen voor IKEv2 VPN's. (In dit geval eentje die opgezet is met een (geldig, signed) certificaat (self-signed kan ook, maar dan moet je het certificaat op je iPhone installeren en vertrouwen) en gebruik maakt van EAP user/pass authenticatie.)
Ik kan het aanbevelen trouwens, het is echt enorm stabiel en een stuk sneller dan L2TP.
Met de profielen hieronder staat de VPN altijd aan, maar schakelt zichzelf uit zodra je je aanmeld op je eigen (thuis)WiFi-netwerk.
Voor VPN altijd aan op zowel 4G als WiFi :
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
| <?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>PayloadContent</key>
<array>
<dict>
<key>IKEv2</key>
<dict>
<key>AuthName</key>
<string>USERNAME</string>
<key>AuthPassword</key>
<string>WACHTWOORD</string>
<key>AuthenticationMethod</key>
<string>Certificate</string>
<key>ChildSecurityAssociationParameters</key>
<dict>
<key>DiffieHellmanGroup</key>
<integer>14</integer>
<key>EncryptionAlgorithm</key>
<string>AES-256</string>
<key>IntegrityAlgorithm</key>
<string>SHA2-256</string>
<key>LifeTimeInMinutes</key>
<integer>1440</integer>
</dict>
<key>DeadPeerDetectionRate</key>
<string>Medium</string>
<key>DisableMOBIKE</key>
<integer>0</integer>
<key>DisableRedirect</key>
<integer>0</integer>
<key>EnableCertificateRevocationCheck</key>
<integer>0</integer>
<key>EnablePFS</key>
<true/>
<key>ExtendedAuthEnabled</key>
<true/>
<key>IKESecurityAssociationParameters</key>
<dict>
<key>DiffieHellmanGroup</key>
<integer>14</integer>
<key>EncryptionAlgorithm</key>
<string>AES-256</string>
<key>IntegrityAlgorithm</key>
<string>SHA2-256</string>
<key>LifeTimeInMinutes</key>
<integer>1440</integer>
</dict>
<key>LocalIdentifier</key>
<string>LOCALIDENTIFIER</string>
<key>RemoteAddress</key>
<string>SERVER.IP.OF.DOMEINNAAM</string>
<key>RemoteIdentifier</key>
<string>REMOTEIDENTIFIER</string>
<key>UseConfigurationAttributeInternalIPSubnet</key>
<integer>0</integer>
</dict>
<key>IPv4</key>
<dict>
<key>OverridePrimary</key>
<integer>0</integer>
</dict>
<key>PayloadDescription</key>
<string>VPN-instellingen configureren</string>
<key>PayloadDisplayName</key>
<string>VPN</string>
<key>PayloadIdentifier</key>
<string>com.apple.vpn.managed.e42eb17b-45ad-4d1e-9da5-7bc6f8766322</string>
<key>PayloadType</key>
<string>com.apple.vpn.managed</string>
<key>PayloadUUID</key>
<string>ad793b06-861b-45f2-8df0-55935270457b</string>
<key>PayloadVersion</key>
<integer>1</integer>
<key>Proxies</key>
<dict>
<key>HTTPEnable</key>
<integer>0</integer>
<key>HTTPSEnable</key>
<integer>0</integer>
</dict>
<key>OnDemandEnabled</key>
<integer>1</integer>
<key>OnDemandRules</key>
<array>
<dict>
<key>InterfaceTypeMatch</key>
<string>WiFi</string>
<key>SSIDMatch</key>
<array>
<string>JE-WIFI-SSID-HIER</string>
<string>HIER-EVENTUEEL-NOG-EEN-SSID</string>
</array>
<key>Action</key>
<string>Disconnect</string>
</dict>
<dict>
<key>InterfaceTypeMatch</key>
<string>WiFi</string>
<key>Action</key>
<string>Connect</string>
</dict>
<dict>
<!-- VPN Default state -->
<key>Action</key>
<string>Connect</string>
</dict>
</array>
<key>UserDefinedName</key>
<string>Automagisch WiFi+4G</string>
<key>VPNType</key>
<string>IKEv2</string>
</dict>
</array>
<key>PayloadDisplayName</key>
<string>Automagisch WiFi+4G</string>
<key>PayloadIdentifier</key>
<string>2b70f8eb-f4e5-4d3a-ba76-1d888f652967</string>
<key>PayloadRemovalDisallowed</key>
<false/>
<key>PayloadType</key>
<string>Configuration</string>
<key>PayloadUUID</key>
<string>76c2ad55-10a2-4533-8eca-18cae5a8e3e5</string>
<key>PayloadVersion</key>
<integer>1</integer>
</dict>
</plist> |
En voor enkel op WiFi en *niet* op 4G:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
| <?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>PayloadContent</key>
<array>
<dict>
<key>IKEv2</key>
<dict>
<key>AuthName</key>
<string>USERNAME</string>
<key>AuthPassword</key>
<string>WACHTWOORD</string>
<key>AuthenticationMethod</key>
<string>Certificate</string>
<key>ChildSecurityAssociationParameters</key>
<dict>
<key>DiffieHellmanGroup</key>
<integer>14</integer>
<key>EncryptionAlgorithm</key>
<string>AES-256</string>
<key>IntegrityAlgorithm</key>
<string>SHA2-256</string>
<key>LifeTimeInMinutes</key>
<integer>1440</integer>
</dict>
<key>DeadPeerDetectionRate</key>
<string>Medium</string>
<key>DisableMOBIKE</key>
<integer>0</integer>
<key>DisableRedirect</key>
<integer>0</integer>
<key>EnableCertificateRevocationCheck</key>
<integer>0</integer>
<key>EnablePFS</key>
<true/>
<key>ExtendedAuthEnabled</key>
<true/>
<key>IKESecurityAssociationParameters</key>
<dict>
<key>DiffieHellmanGroup</key>
<integer>14</integer>
<key>EncryptionAlgorithm</key>
<string>AES-256</string>
<key>IntegrityAlgorithm</key>
<string>SHA2-256</string>
<key>LifeTimeInMinutes</key>
<integer>1440</integer>
</dict>
<key>LocalIdentifier</key>
<string>LOCALIDENTIFIER</string>
<key>RemoteAddress</key>
<string>SERVER.IP.OF.DOMEINNAAM</string>
<key>RemoteIdentifier</key>
<string>REMOTEIDENTIFIER</string>
<key>UseConfigurationAttributeInternalIPSubnet</key>
<integer>0</integer>
</dict>
<key>IPv4</key>
<dict>
<key>OverridePrimary</key>
<integer>0</integer>
</dict>
<key>PayloadDescription</key>
<string>VPN-instellingen configureren</string>
<key>PayloadDisplayName</key>
<string>VPN</string>
<key>PayloadIdentifier</key>
<string>com.apple.vpn.managed.e0acfdf1-eb40-4922-b791-09b35da07ffa</string>
<key>PayloadType</key>
<string>com.apple.vpn.managed</string>
<key>PayloadUUID</key>
<string>8f442ce5-5ad3-4b3b-b965-1be5d08b155d</string>
<key>PayloadVersion</key>
<integer>1</integer>
<key>Proxies</key>
<dict>
<key>HTTPEnable</key>
<integer>0</integer>
<key>HTTPSEnable</key>
<integer>0</integer>
</dict>
<key>OnDemandEnabled</key>
<integer>1</integer>
<key>OnDemandRules</key>
<array>
<dict>
<key>InterfaceTypeMatch</key>
<string>WiFi</string>
<key>SSIDMatch</key>
<array>
<string>JE-WIFI-SSID-HIER</string>
<string>HIER-EVENTUEEL-NOG-EEN-SSID</string>
</array>
<key>Action</key>
<string>Disconnect</string>
</dict>
<dict>
<key>InterfaceTypeMatch</key>
<string>WiFi</string>
<key>Action</key>
<string>Connect</string>
</dict>
<dict>
<!-- VPN Default state -->
<key>Action</key>
<string>Disconnect</string>
</dict>
</array>
<key>UserDefinedName</key>
<string>Automagisch alleen WiFi</string>
<key>VPNType</key>
<string>IKEv2</string>
</dict>
</array>
<key>PayloadDisplayName</key>
<string>Automagisch alleen WiFi</string>
<key>PayloadIdentifier</key>
<string>com.apple.vpn.managed.2920dbd3-0c2a-43ed-9246-48eb930b6258</string>
<key>PayloadRemovalDisallowed</key>
<false/>
<key>PayloadType</key>
<string>Configuration</string>
<key>PayloadUUID</key>
<string>d67993c6-bddf-4cd9-98e5-42c8a45259ad</string>
<key>PayloadVersion</key>
<integer>1</integer>
</dict>
</plist> |
Zelf doen: code plakken naar een .mobileconfig bestand. (Eg: ikev2-4GenWiFi.mobileconfig)
Zelf vervangen:
- Eventueel UUID's (uuidgen). (LET OP: ik heb unieke UUID's per profiel aangemaakt. Wil je een derde profiel, dan *moet* je de UUID's in dat profiel aanpassen omdat anders een eerdere versie wordt overschreven (update).)
- Eventueel de naam van het profiel (PayloadDisplayName en UserDefinedName)
- USERNAME
- WACHTWOORD
- LOCALIDENTIFIER (die is optioneel en mogelijk niet noodzakelijk of zelfs ongewenst)
- SERVER.IP.OF.DOMEINNAAM
- REMOTEIDENTIFIER (deze is wel verplicht en kan je vinden in je VPN-server instellingen)
- JE-WIFI-SSID-HIER
- HIER-EVENTUEEL-NOG-EEN-SSID
Je kan overigens zoveel <string>SSID</string> toevoegen als je wilt in dat stukje. Of verwijderen als je maar één SSID wilt whitelisten.

- Eventueel zaken als EnableCertificateRevocationCheck en DisableRedirect naar wens aanpassen, dit is een werkend voorbeeld profiel, maar persoonlijke voorkeuren kunnen er altijd zijn en daar moet je het profiel dan een klein beetje op tweaken.
Als je dat gedaan hebt kan je het profiel gewoon naar je telefoon AirDrop'en of mailen of wat je ook wilt.
(Al zou ik met mailen oppassen gezien je wachtwoord erin staat.)
Gebruik natuurlijk op eigen risico. Er kan vrij weinig (kan eigenlijk niets bedenken) misgaan, maar dan nog.
Ik zou ze allebei toevoegen en dan ook een "Handmatig" profiel maken. Mocht je dan een keer je VPN uit willen zetten terwijl je op een onbekend netwerk zit, dan schakel je gewoon naar het "Handmatig" profiel. Deze profielen hierboven schakelen namelijk de VPN verplicht in. (Dat is noodzakelijk om te voorkomen dat er enig verkeer buiten je (veilige) VPN omgaat.) Die voor 4G is ook zwaar relaxed als je buiten de EU bent trouwens, alle diensten blijven dan netjes werken zoals het zou werken als je in NL bent.
-edit- nasty typo fixed in het profiel.
[
Voor 4% gewijzigd door
WhatsappHack op 03-08-2019 02:11
]
Geen quote of mention @WhatsappHack? Dan niet raar opkijken als je geen reactie krijgt. ;)