Android ಅಥವಾ iOS ನಲ್ಲಿ ಆ್ಯಪ್ ಉಳಿಸಿದ VPN ಪ್ರೊಫೈಲ್ ಅನ್ನು ಏಕೆ ಆನ್ ಮಾಡಲು ಸಾಧ್ಯವಿಲ್ಲ
ನಿಮ್ಮ ಸ್ವಂತ ಸುರಂಗವನ್ನು ನಿರ್ಮಿಸುವುದು ಮತ್ತು ಉಳಿಸಿದ ಪ್ರೊಫೈಲ್ ಆನ್ ಮಾಡುವುದು ಎರಡು ಬೇರೆ ಕೆಲಸಗಳು. Android, iOS ಮತ್ತು ಡೆಸ್ಕ್ಟಾಪ್ ಆ್ಯಪ್ಗೆ ನಿಜವಾಗಿ ಏನನ್ನು ಅನುಮತಿಸುತ್ತವೆ ಎಂಬುದನ್ನು ಹೋಲಿಸಿ.
ಎರಡು ಸಂಪೂರ್ಣವಾಗಿ ವಿಭಿನ್ನ ಕೆಲಸಗಳು ಪ್ರೋಗ್ರಾಮ್ಯಾಟಿಕ್ VPN ಎಂಬ ಹೆಸರಿನ ಅಡಿಯಲ್ಲಿ ಬರುತ್ತವೆ, ಮತ್ತು ಅವುಗಳಲ್ಲಿ ಒಂದು ಮಾತ್ರ ಎರಡೂ ಮೊಬೈಲ್ ಪ್ಲಾಟ್ಫಾರ್ಮ್ಗಳಲ್ಲಿ ಸಾಮಾನ್ಯ ಆ್ಯಪ್ಗೆ ಲಭ್ಯವಿದೆ. ಮೊದಲನೆಯದು ಬಳಕೆದಾರರು ಈಗಾಗಲೇ ಉಳಿಸಿದ ಪ್ರೊಫೈಲ್ ಅನ್ನು ಆನ್ ಮಾಡುವುದು; ಎರಡನೆಯದು ನಿಮ್ಮ ಸ್ವಂತ ಪ್ರಕ್ರಿಯೆಯ ಒಳಗೆ ಸುರಂಗವನ್ನು ನಿರ್ಮಿಸುವುದು. Android ಎರಡನೆಯದನ್ನು VpnService ಮೂಲಕ ನೀಡುತ್ತದೆ ಮತ್ತು iOS ಎರಡನೆಯದನ್ನು Network Extension ಹಕ್ಕಿನ ಮೂಲಕ ನೀಡುತ್ತದೆ, ಆದರೆ ಮೊದಲನೆಯದು ಸಿಸ್ಟಮ್, ಸಾಧನದ ಮಾಲೀಕ ಅಥವಾ MDM ಸರ್ವರ್ನ ಬಳಿ ಉಳಿಯುತ್ತದೆ. ನಿಮಗೆ ನಿಜವಾಗಿ ಯಾವುದು ಬೇಕು ಎಂಬುದನ್ನು ಕಂಡುಹಿಡಿಯುವುದು ಸಾಮಾನ್ಯವಾಗಿ ಯೋಜನೆಯನ್ನು ಚಿಕ್ಕದಾಗಿಸುತ್ತದೆ.
ಒಂದೇ ಹೆಸರು ಹಂಚಿಕೊಳ್ಳುವ ಎರಡು ಕೆಲಸಗಳು
ಉಳಿಸಿದ ಪ್ರೊಫೈಲ್ ಸಕ್ರಿಯಗೊಳಿಸುವುದು ಎಂದರೆ ಇರುವ ಸುರಂಗಕ್ಕೆ ಮೇಲೇಳಲು ಹೇಳುವುದು: ಹೋಸ್ಟ್, ರುಜುವಾತು, ಪ್ರೋಟೋಕಾಲ್, ಎಲ್ಲವೂ ಬಳಕೆದಾರರು ನೋಡಬಹುದಾದ ಸ್ಥಳದಲ್ಲಿ ಈಗಾಗಲೇ ಕಾನ್ಫಿಗರ್ ಆಗಿವೆ. ಸುರಂಗ ನಿರ್ಮಿಸುವುದು ಎಂದರೆ ನಿಮ್ಮ ಕೋಡ್ ಇಂಟರ್ಫೇಸ್, ಪ್ಯಾಕೆಟ್ ಲೂಪ್ ಮತ್ತು ಪ್ರೋಟೋಕಾಲ್ನ ಮಾಲೀಕತ್ವ ಹೊಂದಿದೆ. ಉತ್ಪನ್ನ ಬ್ಯಾಕ್ಲಾಗ್ನಲ್ಲಿ ಅವು ಒಂದೇ ರೀತಿ ಕಾಣುತ್ತವೆ ಮತ್ತು ಬಹುತೇಕ ಯಾವುದೇ ಅನುಷ್ಠಾನವನ್ನು ಹಂಚಿಕೊಳ್ಳುವುದಿಲ್ಲ.
ಯಾವುದೇ ಮೊಬೈಲ್ ಪ್ಲಾಟ್ಫಾರ್ಮ್ ಮೊದಲನೆಯದನ್ನು SDK ಆ್ಯಪ್ಗೆ ತೆರೆಯುವುದಿಲ್ಲ. ಬಳಕೆದಾರರು ಏನನ್ನೂ ಮಾಡದೆ ಕಾಣಿಸಿಕೊಳ್ಳುವ ಸಂಪರ್ಕವನ್ನು ಮಾಲ್ವೇರ್ನಿಂದ ಪ್ರತ್ಯೇಕಿಸಲು ಸಾಧ್ಯವಿಲ್ಲ, ಆದ್ದರಿಂದ ಎರಡೂ ಸಿಸ್ಟಮ್ಗಳು ಸಂಚಾರ ಸಾಗಿಸುವ ಯಾವುದೇ ಆ್ಯಪ್ ಮುಂದೆ ಒಪ್ಪಿಗೆಯ ದ್ವಾರವನ್ನು ಇಡುತ್ತವೆ.
Android: ಒಪ್ಪಿಗೆಯ ದ್ವಾರ, ಮತ್ತು ಯಾವುದೇ ಪ್ರೊಫೈಲ್ API ಇಲ್ಲ
VpnService Android 4.0 ರಿಂದ ಅಸ್ತಿತ್ವದಲ್ಲಿದೆ ಮತ್ತು ಆ್ಯಪ್ಗೆ tun ಇಂಟರ್ಫೇಸ್ ರಚಿಸಲು, ನಂತರ ಪ್ಯಾಕೆಟ್ಗಳನ್ನು ಓದಲು ಮತ್ತು ಬರೆಯಲು ಅನುಮತಿಸುತ್ತದೆ. ಸೇವೆಯನ್ನು BIND_VPN_SERVICE ನೊಂದಿಗೆ ಘೋಷಿಸಬೇಕು, ಮತ್ತು VpnService.prepare() ಬಳಕೆದಾರರಿಂದ ಅನುಮತಿ ಕೇಳುವ ಸಿಸ್ಟಮ್ ಸಂವಾದವನ್ನು ಉತ್ಪಾದಿಸುತ್ತದೆ. ಪ್ಲಾಟ್ಫಾರ್ಮ್ ಮಾದರಿ ToyVpn ಉದ್ದೇಶಿತ ಆಕಾರದ ಅತ್ಯಂತ ಸ್ಪಷ್ಟ ಹೇಳಿಕೆಯಾಗಿದೆ: ನಿಮ್ಮ ಕೋಡ್ ಇಂಟರ್ಫೇಸ್ ಮತ್ತು ಅದರ ಮೂಲಕ ಹರಿಯುವ ಎಲ್ಲದರ ಮಾಲೀಕತ್ವ ಹೊಂದಿದೆ.
ಅದು ಮಾಡದಿರುವುದು ಸಿಸ್ಟಮ್ನ VPN ಸೆಟ್ಟಿಂಗ್ಸ್ ಸ್ಕ್ರೀನ್ಗೆ ನಮೂದನ್ನು ಸೇರಿಸುವುದು. ಅದಕ್ಕೆ ಯಾವುದೇ ಸಾರ್ವಜನಿಕ API ಇಲ್ಲ, ಮತ್ತು ಸೆಟ್ಟಿಂಗ್ಸ್ ಆ್ಯಪ್ ತನ್ನ ಪ್ರೊಫೈಲ್ಗಳನ್ನು ಸಾಮಾನ್ಯ ಆ್ಯಪ್ ತಲುಪಲಾಗದ ಸಂಗ್ರಹದಲ್ಲಿ ಇಡುತ್ತದೆ. ಸಾಮಾನ್ಯ ಅಪ್ಲಿಕೇಶನ್ನಿಂದ ಗುಪ್ತ ವರ್ಗಗಳಿಗೆ ಕರೆಗಳು ಸಿಸ್ಟಮ್ ಎಂದೂ ಪಟ್ಟಿ ಮಾಡದ ಪ್ರೊಫೈಲ್ಗಳನ್ನು ಉತ್ಪಾದಿಸುತ್ತವೆ, ಆದ್ದರಿಂದ ಒಂದು ಬಿಲ್ಡ್ನಲ್ಲಿ ಕೆಲಸ ಮಾಡುತ್ತಿದ್ದಂತೆ ಕಂಡ ಕೋಡ್ ಮುಂದಿನದರಲ್ಲಿ ಸದ್ದಿಲ್ಲದೆ ಕೆಲಸ ಮಾಡುವುದನ್ನು ನಿಲ್ಲಿಸುತ್ತದೆ.
ನಿರ್ವಹಿತ ಮಾರ್ಗ ಪ್ರತ್ಯೇಕವಾಗಿದೆ. ಸಾಧನ ಅಥವಾ ಪ್ರೊಫೈಲ್ ಮಾಲೀಕರು ಸಾಧನ ನೀತಿ API ಗಳ ಮೂಲಕ ಯಾವಾಗಲೂ ಆನ್ ಆಗಿರುವ VPN ಪ್ಯಾಕೇಜ್ ಅನ್ನು ಗೊತ್ತುಪಡಿಸಬಹುದು, ಮತ್ತು ಎಂಟರ್ಪ್ರೈಸ್ ಸಾಧನವು ಬಳಕೆದಾರರು ನಂತರ ಅನುಮೋದಿಸುವ ಪ್ರೊಫೈಲ್ ಅನ್ನು ಕಳುಹಿಸಬಹುದು. ಇದು ಸಾಧನ ನಿರ್ವಹಣಾ ಅಧಿಕಾರ, ಸ್ಥಾಪನೆಯ ಸಮಯದಲ್ಲಿ ಆ್ಯಪ್ ಕೇಳುವ ಅನುಮತಿ ಅಲ್ಲ. ನಿಮ್ಮ ಗ್ರಾಹಕ ಸಂಸ್ಥೆಯಾಗಿದ್ದರೆ, ಯೋಜಿಸಬೇಕಾದ ಮಾರ್ಗ ಇದೇ; ನಿಮ್ಮ ಗ್ರಾಹಕ ಅಂಗಡಿಯಿಂದ ಸ್ಥಾಪಿಸುವ ವ್ಯಕ್ತಿಯಾಗಿದ್ದರೆ, ಇದು ಸಂಪೂರ್ಣವಾಗಿ ಲಭ್ಯವಿಲ್ಲ.
iOS: ಹಕ್ಕೇ ಗಡಿ
iOS ಅದೇ ಕೆಲಸವನ್ನು ಬೇರೆ ರೀತಿಯಲ್ಲಿ ವಿಭಜಿಸುತ್ತದೆ. VPN ಕ್ಲೈಂಟ್ Network Extension ಚೌಕಟ್ಟಿನ ಅಡಿಯಲ್ಲಿ ಪ್ಯಾಕೆಟ್ ಸುರಂಗ ಪೂರೈಕೆದಾರ ಅಥವಾ ಆ್ಯಪ್ ಪ್ರಾಕ್ಸಿ ಅನ್ನು ಅನುಷ್ಠಾನಗೊಳಿಸುತ್ತದೆ, ಮತ್ತು ಸಂಬಂಧಿತ ಹಕ್ಕನ್ನು ಡೆವಲಪರ್ ಖಾತೆಗೆ ನೀಡಬೇಕು. ಸರಳ ಸಂದರ್ಭಕ್ಕೆ NEVPNManager ಮೂಲಕ ವೈಯಕ್ತಿಕ VPN ಸಂರಚನೆ ಇದೆ, ಮತ್ತು ಅದು ಅದೇ ಅನುಮತಿ ಮಾದರಿಯೊಳಗೆ ಚಲಿಸುತ್ತದೆ. Apple ಸಂಪೂರ್ಣ ಮೇಲ್ಮೈಯನ್ನು Network Extension ಉಲ್ಲೇಖದಲ್ಲಿ ದಾಖಲಿಸುತ್ತದೆ, ಕೆಲಸದ ವ್ಯಾಪ್ತಿ ನಿಗದಿಪಡಿಸುವ ಮೊದಲು ಅದನ್ನು ಓದುವುದು ಯೋಗ್ಯ.
VPN ಸೆಟ್ಟಿಂಗ್ಸ್ ಸ್ಕ್ರೀನ್ ತೆರೆಯಲು, ಬಳಕೆದಾರರ ಉಳಿಸಿದ ಸಂರಚನೆಗಳನ್ನು ಓದಲು ಅಥವಾ ಅವುಗಳಲ್ಲಿ ಒಂದನ್ನು ಪ್ರಾರಂಭಿಸಲು ಯಾವುದೇ ಬೆಂಬಲಿತ ದಾರಿ ಇಲ್ಲ. ಕ್ಲೈಂಟ್ ಮಾಡಬಹುದಾದದ್ದು ಸ್ಥಾಪನೆಗಾಗಿ ಸಂರಚನಾ ಪ್ರೊಫೈಲ್ ಕಳುಹಿಸುವುದು, ನಂತರ ಉಂಟಾದ ಸುರಂಗವನ್ನು ಸಾಮಾನ್ಯ ನೆಟ್ವರ್ಕಿಂಗ್ ಕರೆಗಳ ಮೂಲಕ ಬಳಸುವುದು. ಪ್ರತಿ ಆ್ಯಪ್ ಸುರಂಗವನ್ನು MDM ಸರ್ವರ್ ಬೇಡಿಕೆಯ ನಿಯಮದ ಮೂಲಕ ನಿಗದಿಪಡಿಸುತ್ತದೆ, ರನ್ಟೈಮ್ನಲ್ಲಿ ಆ್ಯಪ್ ಆಯ್ಕೆ ಮಾಡುವುದಿಲ್ಲ.
ದೊಡ್ಡ ಮಾರಾಟಗಾರರ VPN ಕ್ಲೈಂಟ್ ನಿಮ್ಮ ಖಾತೆ ಅದೇ ವಿಷಯವನ್ನು ಕಳುಹಿಸಬಲ್ಲದು ಎಂಬುದಕ್ಕೆ ಸಾಕ್ಷಿಯಲ್ಲ. ಆ ಹಕ್ಕುಗಳನ್ನು ಪ್ರತಿ ಡೆವಲಪರ್ ಖಾತೆಗೆ ಕೋರಲಾಗುತ್ತದೆ ಮತ್ತು ಪರಿಶೀಲಿಸಲಾಗುತ್ತದೆ, ಆದ್ದರಿಂದ ವೇಳಾಪಟ್ಟಿ ಅಪಾಯ Apple ಬಳಿ ಇರುತ್ತದೆ, ನಿಮ್ಮ ಸ್ಪ್ರಿಂಟ್ ಯೋಜನೆಯಲ್ಲಿ ಅಲ್ಲ.
ಡೆಸ್ಕ್ಟಾಪ್ ಇನ್ನೂ ದೂರ ತಲುಪುತ್ತದೆ, ಆದರೆ ಮಾಲೀಕತ್ವ ಬದಲಾಗುವುದಿಲ್ಲ
Windows ಅನುಮತಿಸುವ ಸಂದರ್ಭ. Add-VpnConnection ಎತ್ತರಿಸಿದ PowerShell ಅವಧಿಯಿಂದ ದೂರವಾಣಿ ಪುಸ್ತಕದ ನಮೂದನ್ನು ರಚಿಸುತ್ತದೆ, ಮತ್ತು rasdial ಸ್ಕ್ರಿಪ್ಟ್ನಿಂದ ಅದನ್ನು ಸಂಪರ್ಕಿಸುತ್ತದೆ ಅಥವಾ ಕಡಿತಗೊಳಿಸುತ್ತದೆ. ಆ್ಯಪ್ ಮಾರಾಟಗಾರರ ಕ್ಲೈಂಟ್ ಅನ್ನು ಅದರ ದಾಖಲಿತ ಆಜ್ಞಾ ಸಾಲಿನ ಮೂಲಕವೂ ಚಲಾಯಿಸಬಹುದು. ಪ್ರೊಫೈಲ್ ರಚಿಸುವುದು ಇನ್ನೂ ಆಡಳಿತಾತ್ಮಕ ಕ್ರಿಯೆ, ಏಕೆಂದರೆ ನಮೂದು ಇಡೀ ಯಂತ್ರದ ಸಂಗ್ರಹದಲ್ಲಿ ವಾಸಿಸುತ್ತದೆ.
macOS ಬೇರೆ ಉಪಕರಣಗಳೊಂದಿಗೆ ಅದೇ ರೀತಿ ವರ್ತಿಸುತ್ತದೆ. scutil --nc start ಮತ್ತು stop ಈಗಾಗಲೇ ಇರುವ ಸೇವೆಗಳಲ್ಲಿ ಕಾರ್ಯನಿರ್ವಹಿಸುತ್ತವೆ, ಆದರೆ ಒಂದನ್ನು ರಚಿಸುವುದು ಸಿಸ್ಟಮ್ ಆಡಳಿತದ ಕೆಲಸ. ಲ್ಯಾಪ್ಟಾಪ್ನಲ್ಲಿ ಪ್ರಕ್ರಿಯೆಯ ಮಾಲೀಕತ್ವ ಹೊಂದುವುದು ನಿಮ್ಮನ್ನು ಸಂರಚನೆಯ ಮಾಲೀಕರನ್ನಾಗಿ ಮಾಡುವುದಿಲ್ಲ.
ಬದಲಿಗೆ ಏನನ್ನು ನಿರ್ಮಿಸಬೇಕು
ನಿಜವಾದ ಅಗತ್ಯ ನಿಮ್ಮ ಆ್ಯಪ್ ಆಂತರಿಕ API ತಲುಪುವುದಾದರೆ, ಬಳಕೆದಾರರು ಈಗಾಗಲೇ ಚಲಾಯಿಸುತ್ತಿರುವ ಸುರಂಗ ಸಾಕು. ಸಾಮಾನ್ಯ HTTPS ವಿನಂತಿಗಳನ್ನು ಕಳುಹಿಸಿ, ದಾರಿಯನ್ನು ಸಿಸ್ಟಮ್ ಆಯ್ಕೆ ಮಾಡಲಿ, ಮತ್ತು ಸುರಂಗವನ್ನು ನಿಯಂತ್ರಿಸಲು ಪ್ರಯತ್ನಿಸುವುದನ್ನು ನಿಲ್ಲಿಸಿ. ಅಗತ್ಯ ನಿಮ್ಮ ಆ್ಯಪ್ನ ಸಂಚಾರ ಮಾತ್ರ ಸುರಂಗವನ್ನು ಬಳಸುವುದಾದರೆ, ನಿರ್ವಹಣಾ ಚಾನಲ್ ಮೂಲಕ ಪ್ರತಿ ಆ್ಯಪ್ VPN ಕೇಳಿ, ಅಥವಾ ಆ್ಯಪ್ನ ಒಳಗೆ ಅದಿಲ್ಲದೆ ತಲುಪಬಹುದಾದ ಸೇವೆಯ ವಿರುದ್ಧ TLS ಅನ್ನು ಕೊನೆಗೊಳಿಸಿ.
ಗುಪ್ತ API ಗಳು ತೆಗೆದುಕೊಳ್ಳಲು ಯೋಗ್ಯವಾದ ಸಣ್ಣ ದಾರಿಯಲ್ಲ. ಅವು ಬಿಡುಗಡೆಗಳ ನಡುವೆ ಬದಲಾಗುತ್ತವೆ, ಆ್ಯಪ್ ಪರಿಶೀಲನೆಯಲ್ಲಿ ವಿಫಲವಾಗುತ್ತವೆ, ಮತ್ತು ಅವು ಉತ್ಪಾದಿಸುವ ವೈಫಲ್ಯಗಳು ಕೋಡ್ ಅನ್ನು ವಾರಸುದಾರರಾಗಿ ಪಡೆದವರಿಗೆ ಸಾಮಾನ್ಯ ನೆಟ್ವರ್ಕ್ ವೈಫಲ್ಯಗಳಂತೆ ಕಾಣುತ್ತವೆ. ಹೋಲಿಕೆ Android ವಿರುದ್ಧ iOS ಅಲ್ಲ; ಅದು ಸುರಂಗದ ಮಾಲೀಕತ್ವ ಪ್ಲಾಟ್ಫಾರ್ಮ್ ಅನ್ನು ಸಂಚಾರ ಮಾರ್ಗದರ್ಶನ ಮಾಡಲು ಕೇಳುವುದಕ್ಕೆ ವಿರುದ್ಧ, ಮತ್ತು ಮೊದಲನೆಯದನ್ನು ಮಾತ್ರ ನೀವು ನಿರ್ಮಿಸಬೇಕು.