Android ನಲ್ಲಿ L2TP ಆಟೊಮೇಷನ್: ಸ್ಕ್ರಿಪ್ಟ್ ಕೇಳಬಹುದು, ನಿರ್ಮಿಸಲಾಗದು
shell ರೂಟ್ Android ನಲ್ಲಿ L2TP/IPsec ಅನ್ನು ಎತ್ತುವುದಿಲ್ಲ. IPsec, L2TP, PPP ಮತ್ತು ಪ್ಲಾಟ್ಫಾರ್ಮ್ ನೀತಿ ಪ್ರತಿಯೊಂದೂ ತನ್ನ ಪಾಲನ್ನು ಹೊಂದಿದೆ, ಆದ್ದರಿಂದ ಅದನ್ನು ಯಾವುದು ನಿಯಂತ್ರಿಸಬಹುದು ಎಂಬುದನ್ನು ಆರಿಸಿ.
ಪುರಾಣವೆಂದರೆ L2TP Android ನಲ್ಲಿ shell ಸ್ಕ್ರಿಪ್ಟ್ ಪ್ರಾರಂಭಿಸಬಹುದಾದ ಇನ್ನೊಂದು ವಿಷಯ: ರೂಟ್ ಸೇರಿಸಿ, ಹಳೆಯ ಸೇವೆಯನ್ನು ಕರೆಯಿರಿ, ಮುಗಿಯಿತು. ಹಾಗೆ ಆಗಲು ಸಾಧ್ಯವಿಲ್ಲ, ಏಕೆಂದರೆ ಟನಲ್ ಪ್ಯಾಕೆಟ್ ಸಾಗಿಸುವ ಮೊದಲು ನಾಲ್ಕು ವಿಭಿನ್ನ ಪದರಗಳು ಒಪ್ಪಿಕೊಳ್ಳಬೇಕು. IPsec ಪದರ ಮಾರ್ಗವನ್ನು ರಕ್ಷಿಸುತ್ತದೆ, L2TP ಸೆಷನ್ ಸಾಗಿಸುತ್ತದೆ, PPP ಲಿಂಕ್ ಮಾತುಕತೆ ನಡೆಸುತ್ತದೆ, ಮತ್ತು Android ಫಲಿತಾಂಶವನ್ನು VPN ಆಗಿ ನೋಂದಾಯಿಸಬೇಕು, ಅದರ ಸುತ್ತ ಅದು ರೂಟ್ ಮಾಡಬಹುದು. ನಕಲಿಸಿದ ಆದೇಶಗಳೊಂದಿಗೆ ಇದನ್ನು ಎರಡು ಬಾರಿ ಪ್ರಯತ್ನಿಸುವುದನ್ನು ನಾನು ನೋಡಿದ್ದೇನೆ, ಮತ್ತು ಎರಡೂ ಸಲ ರೂಟ್ ಇತ್ತು ಆದರೆ ಏನೂ ಎನ್ಕ್ರಿಪ್ಟ್ ಆಗಿರಲಿಲ್ಲ.
ರೂಟ್ ಬದಲಾವಣೆ ನಿಜವಾಗಿ ಏನು ಸಾಧಿಸುತ್ತದೆ
ರೂಟ್ ಸೇರಿಸುವುದು ಪ್ಯಾಕೆಟ್ ಮುಂದೆ ಎಲ್ಲಿಗೆ ಹೋಗುತ್ತದೆ ಎಂಬುದನ್ನು ನಿರ್ಧರಿಸುತ್ತದೆ. ಅದು ಭದ್ರತಾ ಸಂಘಟನೆಯ ಮಾತುಕತೆ ನಡೆಸುವುದಿಲ್ಲ, L2TP ಸೆಷನ್ ತೆರೆಯುವುದಿಲ್ಲ, ಮತ್ತು ವಿಳಾಸ, ಪೀರ್ ಮತ್ತು DNS ಸೆಟ್ಟಿಂಗ್ಗಳನ್ನು ಉತ್ಪಾದಿಸುವ PPP ವಿನಿಮಯವನ್ನು ನಡೆಸುವುದಿಲ್ಲ. ಹ್ಯಾಂಡ್ಸೆಟ್ನಲ್ಲಿ ಕಾಣುವ ಫಲಿತಾಂಶವೆಂದರೆ ತಪ್ಪು ಮಾರ್ಗದಿಂದ ಹೊರಹೋಗುವ ಟ್ರಾಫಿಕ್, ಅಥವಾ ಹೊರಹೋಗಿ ಸಾಯುವ ಟ್ರಾಫಿಕ್, ಎಲ್ಲಿಯೂ ಟನಲ್ ಸ್ಥಿತಿ ಇಲ್ಲದೆ.
ಹಳೆಯ ಬಿಡುಗಡೆಯಿಂದ ನಕಲಿಸಿದ ಸೇವಾ ಕರೆಗೂ ಇದೇ ಅನ್ವಯಿಸುತ್ತದೆ. Android ನ ಆಂತರಿಕ VPN ಪ್ಲಂಬಿಂಗ್ ಪ್ರಕಟಿತ ಆಟೊಮೇಷನ್ API ಅಲ್ಲ, ಮತ್ತು ಬೇರೆ ಆವೃತ್ತಿಯ ಸಂಖ್ಯಿತ ವಹಿವಾಟು ಬೇರೆ ಕಾರ್ಯಾಚರಣೆಗೆ ತಾಗಬಹುದು ಅಥವಾ ಸ್ಕ್ರಿಪ್ಟ್ನಲ್ಲಿ ಇಲ್ಲದ ವಿಶೇಷಾಧಿಕಾರಗಳನ್ನು ಕೇಳಬಹುದು. ಪಾಸ್ವರ್ಡ್ ಸಾಗಿಸುವ ಆಟೊಮೇಷನ್ ಎಂದಿಗೂ ಊಹಿಸಿದ ಆಂತರಿಕ ವಾದಗಳನ್ನು ಅವಲಂಬಿಸಬಾರದು, ಏಕೆಂದರೆ ವೈಫಲ್ಯದ ರೂಪ ಮೌನ no-op ಅಥವಾ ಯಾರೂ ಸ್ವಚ್ಛಗೊಳಿಸದ ಅರ್ಧ ನಿರ್ಮಿಸಿದ ಪ್ರೊಫೈಲ್.
ನಾಲ್ಕು ಮಾಲೀಕರು, ಮತ್ತು ಸ್ಕ್ರಿಪ್ಟ್ ಅವರಲ್ಲಿ ಯಾರೂ ಅಲ್ಲ
ಅವುಗಳನ್ನು ಕ್ರಮವಾಗಿ ತೆಗೆದುಕೊಳ್ಳಿ. IPsec ರಕ್ಷಿತ ಮಾರ್ಗವನ್ನು ಸ್ಥಾಪಿಸಿ ನಿರ್ವಹಿಸುತ್ತದೆ ಮತ್ತು ಪೀರ್ಗಳನ್ನು ದೃಢೀಕರಿಸುತ್ತದೆ. L2TP ಅದರ ಮೇಲೆ ಸೆಷನ್ ಸಾಗಿಸುತ್ತದೆ, ಮತ್ತು ಈ ಪದರೀಕರಣವೇ ಪ್ರಮಾಣವು ಅವುಗಳನ್ನು ಒಂದೇ ಪ್ರೋಟೋಕಾಲ್ ಬದಲು ಪ್ರತ್ಯೇಕ ಕಾರ್ಯವಿಧಾನಗಳಾಗಿ ಪರಿಗಣಿಸಲು ಕಾರಣ. ಅದರೊಳಗೆ PPP ಕ್ಲೈಂಟ್ ಬಳಸುವ ಲಿಂಕ್ ನಿಯತಾಂಕಗಳ ಮಾತುಕತೆ ನಡೆಸುತ್ತದೆ. ನಂತರ Android ಪ್ಲಾಟ್ಫಾರ್ಮ್ ಬದಿಯನ್ನು ಹೊಂದಿದೆ: ನೋಂದಾಯಿತ VPN ಇಂಟರ್ಫೇಸ್, ಪ್ರತಿ-ಆ್ಯಪ್ ವ್ಯಾಪ್ತಿ, always-on ಸ್ಥಿತಿ ಮತ್ತು ಆ್ಯಪ್ ಕೊಲ್ಲಲ್ಪಟ್ಟಾಗ ಏನಾಗುತ್ತದೆ ಎಂಬುದನ್ನು ನಿರ್ಧರಿಸುವ ಜೀವನಚಕ್ರ.
ಸ್ಕ್ರಿಪ್ಟ್ ಆ ಪದರಗಳಲ್ಲಿ ಕೊನೆಯದನ್ನು ಮಾತ್ರ ನೋಡಬಹುದು, ಮತ್ತು ಸಾಮಾನ್ಯವಾಗಿ ಪರೋಕ್ಷವಾಗಿ. ಆ ಕ್ಲೈಂಟ್ ದಾಖಲಿತ ನಿಯಂತ್ರಣವನ್ನು ಒದಗಿಸಿದರೆ ಅದು ಕ್ಲೈಂಟ್ಗೆ ಸಂಪರ್ಕಿಸಲು ಕೇಳಬಹುದು, ಮತ್ತು ನಂತರ ಇಂಟರ್ಫೇಸ್ ಸ್ಥಿತಿಯನ್ನು ಗಮನಿಸಬಹುದು. ಅದು ಕೆಳಗಿನ ಮೂರು ಪದರಗಳನ್ನು ಬದಲಿಸಲಾಗದು, ಮತ್ತು ನೋಂದಾಯಿಸದ ಇಂಟರ್ಫೇಸ್ ಅನ್ನು VPN ಎಂದು ಪರಿಗಣಿಸುವಂತೆ ಪ್ಲಾಟ್ಫಾರ್ಮ್ಮನ್ನು ಒತ್ತಾಯಿಸಲಾಗದು.
ಡೀಮನ್ ಕೂಡ ಸಣ್ಣ ದಾರಿ ಏಕೆ ಅಲ್ಲ
ಸಾಧನದಲ್ಲಿ ವಿಶೇಷಾಧಿಕಾರದ Linux ಡೀಮನ್ ಪ್ರಾರಂಭಿಸುವುದು ಕಾಣೆಯಾದ ತುಣುಕಿನಂತೆ ಕಾಣುತ್ತದೆ, ಮತ್ತು ಹಲವು ಬಾರಿ ಅದು ನಿಜವಾಗಿಯೂ ಟನಲ್ ಎತ್ತುತ್ತದೆ. ಅದು ಮಾಡದಿರುವುದು ಆ ಟನಲ್ ಅನ್ನು Android ನೊಂದಿಗೆ ನೋಂದಾಯಿಸುವುದು. ಇಂಟರ್ಫೇಸ್ ಕರ್ನಲ್ನ ಒಳಗೆ ಇದೆ, ಆದರೆ ಪ್ಲಾಟ್ಫಾರ್ಮ್ನ VPN ಆಯ್ಕೆ, ಪ್ರತಿ-ಆ್ಯಪ್ ರೂಟಿಂಗ್, always-on ನೀತಿ ಮತ್ತು ಜೀವನಚಕ್ರ ಅದನ್ನು ತಿಳಿದಿಲ್ಲ, ಮತ್ತು ಡೀಮನ್ನ ಸ್ವಂತ ರೂಟ್ ಮತ್ತು DNS ಬದಲಾವಣೆಗಳು ಅದೇ ಕೋಷ್ಟಕಗಳಿಗಾಗಿ ನೆಟ್ವರ್ಕ್ ಮ್ಯಾನೇಜರ್ನೊಂದಿಗೆ ಸ್ಪರ್ಧಿಸುತ್ತವೆ.
ಫಲಿತಾಂಶವೆಂದರೆ ಡೀಮನ್ನ ಟ್ರಾಫಿಕ್ಗೆ ಕೆಲಸ ಮಾಡುವ ಮತ್ತು ನಿಮಗೆ ಮುಖ್ಯವಾಗಿದ್ದ ಆ್ಯಪ್ಗೆ ನಿಗೂಢವಾಗಿ ಕೆಲಸ ಮಾಡದ ಸಂಪರ್ಕ, ಅಥವಾ ಸಿಸ್ಟಮ್ ತನ್ನ ನೆಟ್ವರ್ಕ್ಗಳನ್ನು ಮರುಮೌಲ್ಯಮಾಪನ ಮಾಡುವವರೆಗೆ ಉಳಿಯುವ ಸಂಪರ್ಕ. ಎರಡೂ ಫಲಿತಾಂಶಗಳಲ್ಲಿ ಯಾವುದೂ ಪ್ಲಾಟ್ಫಾರ್ಮ್ ದೋಷವಲ್ಲ; ಇದು ಸಾಕೆಟ್ ಹೊಂದುವ ಮತ್ತು VPN ಸೌಲಭ್ಯ ಹೊಂದುವ ನಡುವಿನ ಗಡಿ.
ಬೆಂಬಲಿತ ಮಾರ್ಗಗಳು ಹೇಗಿವೆ
ಸಂಸ್ಥೆ Android ಸ್ವತಃ ಒದಗಿಸುವ ಪ್ರೊಫೈಲ್ಗೆ ಹೋಗಬಹುದಾದರೆ, ಪ್ಲಾಟ್ಫಾರ್ಮ್ ಮಾರ್ಗ ಪ್ರಾಮಾಣಿಕವಾಗಿದೆ. API 30 ರಿಂದ, VpnManager ಆ್ಯಪ್ಗಳಿಂದ ಪ್ಲಾಟ್ಫಾರ್ಮ್ VPN ಪ್ರೊಫೈಲ್ಗಳ ಒದಗಿಸುವಿಕೆ ಮತ್ತು ನಿಯಂತ್ರಣವನ್ನು ಬೆಂಬಲಿಸುತ್ತದೆ, ಕರೆಯುವ ಆ್ಯಪ್ಗೆ ಜೋಡಿಸಿದ ಅಧಿಕಾರ ನೀಡುವ ಹರಿವಿನೊಂದಿಗೆ. ಇದು L2TP ಪರಿವರ್ತಕವಲ್ಲ: IKEv2 ಗಾಗಿ ಅದು ಒದಗಿಸುವ ಪ್ರೊಫೈಲ್ ಮಾದರಿ ಅಸ್ತಿತ್ವದಲ್ಲಿರುವ L2TP ಸಂರಚನೆಯನ್ನು ಅನುವಾದಿಸುವುದಿಲ್ಲ, ಮತ್ತು ಪ್ರೋಟೋಕಾಲ್ ಬದಲಾಯಿಸುವುದು ಸ್ಥಳಾಂತರ, ಮರುನಾಮಕರಣ ಅಲ್ಲ. ಗುರುತುಗಳು, ಮಾರ್ಗಗಳು, ಖಾಸಗಿ DNS ಮತ್ತು ಪ್ರವೇಶ ಅನುಮತಿಗಳನ್ನು ಉದ್ದೇಶಪೂರ್ವಕವಾಗಿ ಸಾಗಿಸಬೇಕು.
ಸೇವೆ L2TP/IPsec ಆಗಿಯೇ ಇರಬೇಕಾದರೆ, ಬೆಂಬಲಿತ ಸಂಯೋಜನೆ ಎಂದರೆ ಆಪರೇಟರ್ ನಿಜವಾಗಿ ದಾಖಲಿಸುವ ಕ್ಲೈಂಟ್ ಮತ್ತು OS ಬಿಡುಗಡೆ, ಮತ್ತು ಅದರ ಆಟೊಮೇಷನ್ ಒಪ್ಪಂದ ಇದ್ದರೆ. ದಾಖಲಿತ ಮೇಲ್ವಿಚಾರಣೆಯಿಲ್ಲದ ನಿಯಂತ್ರಣ ಇಲ್ಲದಿದ್ದಾಗ, ಸರಿಯಾದ ಉತ್ತರ ಬೆಂಬಲಿತ ಕೈಯಿಂದ ಸಂಪರ್ಕ, ಒಂದು ಬಿಲ್ಡ್ನಲ್ಲಿ ಆಕಸ್ಮಿಕವಾಗಿ ಕೆಲಸ ಮಾಡುವ ದುರ್ಬಲ ವಿಶೇಷಾಧಿಕಾರದ ಸ್ಕ್ರಿಪ್ಟ್ ಅಲ್ಲ.
ಸರಿಯಾದ ಆಟೊಮೇಷನ್ ಏನು ಮಾಡುತ್ತದೆ
ದಾಖಲಿತ ನಿಯಂತ್ರಣ ನೀಡಿದಾಗ, ಆಟೊಮೇಷನ್ಗೆ ಸಣ್ಣ ಮತ್ತು ಸಮರ್ಥನೀಯ ಕೆಲಸವಿದೆ: ಹೆಸರಿಸಿದ ಸಂಪರ್ಕವನ್ನು ಕೇಳಿ, ಸಿದ್ಧತೆಗಾಗಿ ಕಾಯಿರಿ, ದೃಢೀಕರಣ ಅಥವಾ ಸೆಟಪ್ ವೈಫಲ್ಯದಲ್ಲಿ ನಿಲ್ಲಿಸಿ, ಉದ್ದೇಶಿತ ಕೆಲಸವನ್ನು ನಿರ್ವಹಿಸಿ, ಮತ್ತು ಸ್ವಚ್ಛಗೊಳಿಸುವಿಕೆಯನ್ನು ಸಂಪರ್ಕವನ್ನು ಹೊಂದಿರುವ ಘಟಕಕ್ಕೆ ಬಿಡಿ. ರುಜುವಾತುಗಳು ಅವುಗಳನ್ನು ಸಂಗ್ರಹಿಸಲು ಮತ್ತು ತಿರುಗಿಸಲು ತಿಳಿದಿರುವ ಕ್ಲೈಂಟ್ನೊಂದಿಗೆ ಉಳಿಯುತ್ತವೆ.
ಮೊದಲ ಸಾಲು ಬರೆಯುವ ಮೊದಲು ಯಾವ ಘಟಕ ಯಾವ ಪದರವನ್ನು ಹೊಂದಿದೆ ಎಂದು ಬರೆಯಿರಿ, ಮತ್ತು ಫಲಿತಾಂಶವನ್ನು ಅದರ ವಿರುದ್ಧ ಪರಿಶೀಲಿಸಿ:
- IPsec ಮತ್ತು PPP ಅನ್ನು ಕ್ಲೈಂಟ್ ನಿರ್ವಹಿಸುತ್ತದೆ, ಸ್ಕ್ರಿಪ್ಟ್ನ ಮಾರ್ಗಗಳಲ್ಲ.
- ಸಂಪರ್ಕವು ಪ್ಲಾಟ್ಫಾರ್ಮ್ನ VPN ಸ್ಥಿತಿಯಲ್ಲಿ ಕಾಣಿಸಿಕೊಳ್ಳುತ್ತದೆ, ಆದ್ದರಿಂದ ಪ್ರತಿ-ಆ್ಯಪ್ ವ್ಯಾಪ್ತಿ ಮತ್ತು always-on ಅದಕ್ಕೆ ಅನ್ವಯಿಸುತ್ತವೆ.
- ಯಾವುದೇ ಆಂತರಿಕ ಸೇವಾ ಕರೆ, ವಹಿವಾಟು ಸಂಖ್ಯೆ ಅಥವಾ ಊಹಿಸಿದ ವಾದವು ರುಜುವಾತನ್ನು ಸಾಗಿಸುವುದಿಲ್ಲ.
- ಯಾವುದೇ ಹಂತದಲ್ಲಿ ವೈಫಲ್ಯವು ಅರ್ಧ ನೋಂದಾಯಿತ ಪ್ರೊಫೈಲ್ ಅನ್ನು ಬಿಡುವುದಿಲ್ಲ.