ifconfig-noexec ನಿಮ್ಮ SSH ಸೆಷನ್ ಉಳಿಸುವುದಿಲ್ಲ: ಅದು ನಿಜವಾಗಿ ಏನು ಮಾಡುತ್ತದೆ
ಇದು OpenVPN ನ ಸ್ವಂತ ಇಂಟರ್ಫೇಸ್ ವಿಳಾಸ ಸೆಟ್ಟಿಂಗ್ ಅನ್ನು ನಿಗ್ರಹಿಸುತ್ತದೆ. ಇದು SSH ಗಾಗಿ ಪ್ರತ್ಯುತ್ತರ ಮಾರ್ಗವನ್ನು ಕಾಯ್ದಿರಿಸುವುದಿಲ್ಲ, ಎಲ್ಲಾ ಮಾರ್ಗ ಬದಲಾವಣೆಗಳನ್ನು ನಿಲ್ಲಿಸುವುದಿಲ್ಲ ಮತ್ತು ಕಾಣೆಯಾದ ವಿಳಾಸವನ್ನು ಒದಗಿಸುವುದಿಲ್ಲ.
ಒಂದು ಫೋರಂ ಥ್ರೆಡ್ನಲ್ಲಿ, ifconfig-noexec ಅನ್ನು ಟನೆಲ್ ಮೇಲೆ ಬಂದಾಗ SSH ಸೆಷನ್ ಅನ್ನು ಜೀವಂತವಾಗಿ ಇರಿಸುವ ಪರಿಹಾರ ಎಂದು ಸೂಚಿಸಲಾಗುತ್ತದೆ. ಆ ವಾದವು ಆಯ್ಕೆ ಏನನ್ನು ಮುಟ್ಟುತ್ತದೆ ಎಂದು ಪರಿಶೀಲಿಸುವವರೆಗೆ ಸಮಂಜಸವಾಗಿ ಕೇಳಿಸುತ್ತದೆ. ಇದು OpenVPN ಟನೆಲ್ ಇಂಟರ್ಫೇಸ್ನ ವಿಳಾಸವನ್ನು ಕಾನ್ಫಿಗರ್ ಮಾಡದಂತೆ ತಡೆಯುತ್ತದೆ ಮತ್ತು ಆ ಮೌಲ್ಯಗಳನ್ನು ಬದಲಿಗೆ ಸ್ಕ್ರಿಪ್ಟ್ಗಳಿಗೆ ನೀಡುತ್ತದೆ; ನಿಮ್ಮ ನಿರ್ವಹಣಾ ಸಂಪರ್ಕಕ್ಕೆ ಬರುವ ಪ್ರತ್ಯುತ್ತರಗಳು ಎಲ್ಲಿಗೆ ಹೋಗುತ್ತವೆ ಎಂಬುದರ ಬಗ್ಗೆ ಇದು ಏನನ್ನೂ ಹೇಳುವುದಿಲ್ಲ. ವಿರುದ್ಧವಾಗಿ ನಂಬುವುದು ಬಳಸಲು ಸಾಧ್ಯವಿಲ್ಲದ ವಿಳಾಸವಿರುವ ಟನೆಲ್ ಮತ್ತು ಹಾಗಿದ್ದರೂ ಸಾಯುವ SSH ಸೆಷನ್ ಅನ್ನು ಉಂಟುಮಾಡುತ್ತದೆ.
ಈ ಆಯ್ಕೆ ನಿಜವಾಗಿ ಏನನ್ನು ನಿಯೋಜಿಸುತ್ತದೆ
ಡೀಫಾಲ್ಟ್ ಆಗಿ, ಕ್ಲೈಂಟ್ ಟನೆಲ್ ಸಾಧನವನ್ನು ಮೇಲೆ ತರುತ್ತದೆ ಮತ್ತು ಸರ್ವರ್ ಕೊಟ್ಟ ಸ್ಥಳೀಯ ಹಾಗೂ ದೂರದ ವಿಳಾಸಗಳನ್ನು ನಿಗದಿಪಡಿಸುತ್ತದೆ. ifconfig-noexec ಸೆಟ್ ಆಗಿದ್ದರೆ ಆ ಹಂತವನ್ನು ಬಿಟ್ಟುಬಿಡಲಾಗುತ್ತದೆ, ಮತ್ತು ಸಮನ್ವಯಗೊಂಡ ಮೌಲ್ಯಗಳು ಸ್ಕ್ರಿಪ್ಟ್ ಪರಿಸರಕ್ಕೆ ರಫ್ತಾಗುತ್ತವೆ, ಇದರಿಂದ ಬೇರೆ ಯಾವುದೋ ಅವುಗಳನ್ನು ಅನ್ವಯಿಸಬಹುದು.
ಮಾಲೀಕತ್ವ ಬದಲಾಗುತ್ತದೆ. ಅದರ ಜಾಗದಲ್ಲಿ ಏನನ್ನೂ ಸೃಷ್ಟಿಸಲಾಗುವುದಿಲ್ಲ.
ಹಾಗಾಗಿ ಈ ಆಯ್ಕೆ ಉತ್ತರಿಸುವ ಪ್ರಶ್ನೆ ಎಂದರೆ ಇಂಟರ್ಫೇಸ್ ಅನ್ನು ಯಾರು ಕಾನ್ಫಿಗರ್ ಮಾಡುತ್ತಾರೆ, ಮತ್ತು ಅದು ಉತ್ತರಿಸದ ಪ್ರಶ್ನೆ ಎಂದರೆ ಪ್ಯಾಕೆಟ್ಗಳು ನಿಮ್ಮ ಬಳಿಗೆ ಹೇಗೆ ಹಿಂತಿರುಗುತ್ತವೆ. ಈ ಎರಡನ್ನು ಪ್ರತ್ಯೇಕವಾಗಿ ಇರಿಸಿ, ಇಲ್ಲದಿದ್ದರೆ ವಿಳಾಸವಿಲ್ಲದ ಇಂಟರ್ಫೇಸ್ ಅನ್ನು ಸರಿದೂಗಿಸಲು ಇಡೀ ಸಂಜೆ ಮಾರ್ಗಗಳನ್ನು ಸಂಪಾದಿಸುತ್ತೀರಿ.
ಬೇರೆ ಬೇರೆ ಕೆಲಸಗಳಿರುವ ಮೂರು ಸಮಾನ ಆಯ್ಕೆಗಳು
ಈ ಕುಟುಂಬವನ್ನು ಗೊಂದಲಿಸಿಕೊಳ್ಳುವುದು ಸುಲಭ ಏಕೆಂದರೆ ಹೆಸರುಗಳು ಒಂದು ಪದದಿಂದ ಭಿನ್ನವಾಗಿವೆ ಮತ್ತು ಲಕ್ಷಣಗಳು ಒಂದಕ್ಕೊಂದು ತುಂಬಿಕೊಳ್ಳುತ್ತವೆ. ಯಾವುದನ್ನಾದರೂ ಆರಿಸುವ ಮೊದಲು ಪ್ರತಿಯೊಂದೂ ಏನನ್ನು ನಿಗ್ರಹಿಸುತ್ತದೆ ಎಂದು ಓದಿ.
| Option | What stops happening |
|---|---|
ifconfig-noexec | OpenVPN's own tunnel-address configuration; values go to scripts instead |
route-noexec | Automatic route addition and removal; route details go to a script |
route-nopull | Server-pushed routes and related options such as DNS are rejected |
ಇವು ಪ್ರತ್ಯೇಕವಾಗಿ ಅರ್ಥಮಾಡಿಕೊಳ್ಳಬೇಕಾದ ಪರ್ಯಾಯಗಳು, ಒಟ್ಟಿಗೆ ಅಂಟಿಸುವ ಗುಂಪಲ್ಲ. ವಿಳಾಸ ಕಾನ್ಫಿಗರೇಶನ್ ಅನ್ನು ನಿಗ್ರಹಿಸುವುದು ಮಾರ್ಗ ಬದಲಾವಣೆಗಳು, ಫೈರ್ವಾಲ್ ನಿಯಮಗಳು ಅಥವಾ DNS ಒಯ್ಯುವ ತಳ್ಳಲಾದ ಆಯ್ಕೆಗಳನ್ನು ನಿಗ್ರಹಿಸುವುದಿಲ್ಲ. ನಿಯೋಜಿತ ಸ್ಕ್ರಿಪ್ಟ್ ಕೂಡ ಮಾರ್ಗಗಳನ್ನು ಬದಲಿಸಲು ಸ್ವತಂತ್ರವಾಗಿದೆ, ಅದು ತಪ್ಪಿಸುವ ಬದಲು ನೀವು ಒಪ್ಪಿಸುತ್ತಿರುವ ನಿರ್ಧಾರ.
ವೆಂಡರ್ ಕ್ಲೈಂಟ್ ಎಂಜಿನ್ ಅನ್ನು ಸುತ್ತುಗಟ್ಟಿದರೆ, ಪ್ರೊಫೈಲ್ಗೆ ಕೆಳಮಟ್ಟದ ನಿರ್ದೇಶನವನ್ನು ಹಾಕಿ ಸುತ್ತುಗಟ್ಟುವಿಕೆ ಅದನ್ನು ಗೌರವಿಸುತ್ತದೆ ಎಂದು ನಿರೀಕ್ಷಿಸುವ ಬದಲು ಅದರ ಬೆಂಬಲಿತ ಏಕೀಕರಣವನ್ನು ಬಳಸಿ. ಸುತ್ತುಗಟ್ಟುವಿಕೆಗಳು ಸಂಪರ್ಕದ ವೇಳೆ ಪ್ರೊಫೈಲ್ ಅನ್ನು ಪುನಃ ರಚಿಸುತ್ತವೆ, ಆದ್ದರಿಂದ ಕೈಯಿಂದ ಮಾಡಿದ ಬದಲಾವಣೆ ದೋಷವಿಲ್ಲದೆ ಮಾಯವಾಗುತ್ತದೆ. ಫೈಲ್ ಮೇಲೆ ಇಡೀ ಸಂಜೆ ಕಳೆಯುವ ಮೊದಲು ಕ್ಲೈಂಟ್ ತನ್ನ ಸೆಟ್ಟಿಂಗ್ಗಳನ್ನು ಎಲ್ಲಿ ಇಡುತ್ತದೆ ಎಂದು ಪರಿಶೀಲಿಸಿ. ಇದು ಕೋಷ್ಟಕದ ಪ್ರತಿ ಸಾಲಿಗೂ ಅನ್ವಯಿಸುತ್ತದೆ, ನೀವು ಬಂದ ಸಾಲಿಗೆ ಮಾತ್ರವಲ್ಲ.
ನೀವು ರಕ್ಷಿಸಲು ಉದ್ದೇಶಿಸಿದ್ದ SSH ಸೆಷನ್
SSH ಸಂಪರ್ಕಕ್ಕೆ ಮೂಲ ವಿಳಾಸ, ಗಮ್ಯ ವಿಳಾಸ ಮತ್ತು ಪ್ರತ್ಯುತ್ತರ ಮಾರ್ಗ ಇರುತ್ತದೆ. ಪೂರ್ಣ ಟನೆಲ್ ಡೀಫಾಲ್ಟ್ ಅನ್ನು ಇದೀಗ ಅಳವಡಿಸಿದ ಸರ್ವರ್ನಲ್ಲಿ, ನಿಮ್ಮ ಸಾರ್ವಜನಿಕ ವಿಳಾಸಕ್ಕೆ ಬರುವ ಪ್ರತ್ಯುತ್ತರ ಟನೆಲ್ಗೆ ಹೊಂದಿಕೆಯಾಗುತ್ತದೆ ಮತ್ತು VPN ಗೇಟ್ವೇ ಅದನ್ನು ಬಿಟ್ಟುಬಿಡುತ್ತದೆ.
ಟನೆಲ್ ಇಂಟರ್ಫೇಸ್ನ ವಿಳಾಸ ಕಾನ್ಫಿಗರೇಶನ್ನಲ್ಲಿ ಯಾವುದೂ ಅದನ್ನು ಬದಲಿಸುವುದಿಲ್ಲ.
ಅದನ್ನು ಸರಿಪಡಿಸುವುದು ಟನೆಲ್ಗಿಂತ ಮೊದಲಿನ ಗೇಟ್ವೇ ಮೂಲಕ ನಿಮ್ಮ ನಿರ್ವಹಣಾ ವಿಳಾಸಕ್ಕೆ ಹೆಚ್ಚು ನಿರ್ದಿಷ್ಟ ಮಾರ್ಗ, ಅಥವಾ ಆ ಸಂಚಾರವನ್ನು ತಿರುಗಿಸುವ ನೀತಿ ನಿಯಮ, ಜೊತೆಗೆ ನಿಮ್ಮ ಹೋಸ್ಟ್ ಅನ್ವಯಿಸುವ ಫಿಲ್ಟರ್ ಸೆಟ್ಟಿಂಗ್ಗಳು. ಎರಡು ಸಮಸ್ಯೆಗಳು ಕೆಲವೊಮ್ಮೆ ಒಟ್ಟಿಗೆ ಕಾಣಿಸಿಕೊಳ್ಳುತ್ತವೆ, ಹಾಗಾಗಿಯೇ ಒಂದನ್ನು ಇನ್ನೊಂದರ ಚಿಕಿತ್ಸೆ ಎಂದು ತಪ್ಪಾಗಿ ಭಾವಿಸಲಾಗುತ್ತದೆ. ಅವನ್ನು ಪ್ರತ್ಯೇಕವಾಗಿ ಪರೀಕ್ಷಿಸಿ: ಆಯ್ಕೆ ಇಲ್ಲದೆ ಟನೆಲ್ ಮೇಲೆ ತನ್ನಿ, ಇಂಟರ್ಫೇಸ್ ವಿಳಾಸ ಮತ್ತು ಪ್ರತ್ಯುತ್ತರ ಮಾರ್ಗವನ್ನು ನೋಡಿ, ನಂತರ ಎರಡರಲ್ಲಿ ಯಾವುದು ನಿಜವಾಗಿ ಮುರಿದಿದೆ ಎಂದು ನಿರ್ಧರಿಸಿ.
ನಿಯೋಜಿತ ಸ್ಕ್ರಿಪ್ಟ್ ಏನನ್ನು ವಹಿಸಿಕೊಳ್ಳಬೇಕು
ಇಂಟರ್ಫೇಸ್ ಅನ್ನು ಬೇರೆ ಮಾಲೀಕ ಕಾನ್ಫಿಗರ್ ಮಾಡಬೇಕೆಂದು ನಿಜವಾಗಿ ಬಯಸಿದರೆ, ಕೆಲಸವನ್ನು ಪಟ್ಟಿ ಮಾಡಿ: ಸ್ಥಳೀಯ ಮತ್ತು ದೂರದ ವಿಳಾಸವನ್ನು ಅನ್ವಯಿಸಿ, ಸಾಧನವನ್ನು ಮೇಲೆ ತನ್ನಿ, ತೆಗೆಯುವಾಗ ವಿಳಾಸೀಕರಣವನ್ನು ಮರುಸ್ಥಾಪಿಸಿ ಅಥವಾ ತೆಗೆದುಹಾಕಿ, ಮತ್ತು ಮರುಸಂಪರ್ಕದ ನಂತರ ಅದನ್ನೇ ಮತ್ತೆ ಮಾಡಿ. ಒಂದು ಯಶಸ್ವಿ ಸೆಷನ್ನ ಮೌಲ್ಯಗಳನ್ನು ಹಾರ್ಡ್ಕೋಡ್ ಮಾಡಬಾರದು, ಏಕೆಂದರೆ ಸರ್ವರ್ ಮುಂದಿನ ಬಾರಿ ಬೇರೆ ಜೋಡಿ ನೀಡಬಹುದು.
ಕ್ಲೈಂಟ್ ರಫ್ತು ಮಾಡುವ ಪರಿಸರ ಚರಗಳೇ ಆ ಕೆಲಸಕ್ಕೆ ಏಕೈಕ ಬೆಂಬಲಿತ ಇನ್ಪುಟ್.
env | grep -E '^ifconfig_|^route_'ಯಾವುದೇ route-up ಸ್ಕ್ರಿಪ್ಟ್ನ ಒಳಗೆ ಆ ಚರಗಳು ಲಭ್ಯವಿರುತ್ತವೆ; cron ಕೆಲಸ ಅಥವಾ ಕೈಯಿಂದ ಚಲಾಯಿಸಿದ ಶೆಲ್ನಿಂದ ಇರುವುದಿಲ್ಲ. ನಿಮ್ಮ ಆವೃತ್ತಿ ಯಾವ ಜೀವನಚಕ್ರ ಹುಕ್ ಬಳಸುತ್ತದೆ ಎಂದು ದೃಢೀಕರಿಸಿ, ಮತ್ತು ಹುಕ್ ಇಂಟರ್ಫೇಸ್ ಬದಲಿಸಲು ಸಾಕಷ್ಟು ಸವಲತ್ತುಗಳೊಂದಿಗೆ ಚಲಿಸುತ್ತದೆ ಎಂದೂ ದೃಢೀಕರಿಸಿ, ಏಕೆಂದರೆ ಕ್ಲೈಂಟ್ ಈಗಾಗಲೇ ಸವಲತ್ತಿಲ್ಲದ ಬಳಕೆದಾರರಿಗೆ ಇಳಿದಿರಬಹುದು.
ಒಂದು ಸೆಷನ್ ಅಲ್ಲ, ಇಡೀ ಜೀವನಚಕ್ರವನ್ನು ಪರೀಕ್ಷಿಸಿ
ಟನೆಲ್ ಮೇಲೆ ತನ್ನಿ, ಸಾಧನದಲ್ಲಿನ ವಿಳಾಸವನ್ನು ಪರಿಶೀಲಿಸಿ, ನಂತರ ಮರುಸಂಪರ್ಕ ಮಾಡಿ ಮತ್ತೆ ಪರಿಶೀಲಿಸಿ. ಒಮ್ಮೆ ಕೆಲಸ ಮಾಡಿ ಎರಡನೇ ಪ್ರಯತ್ನದಲ್ಲಿ ವಿಫಲವಾಗುವ ಸಂರಚನೆ ಸಾಮಾನ್ಯವಾಗಿ ನಿಯೋಜಿತ ಹಂತವು ಮೊದಲ ಸಂಪರ್ಕದಲ್ಲಿ ಮಾತ್ರ ಚಲಿಸುತ್ತದೆ ಎಂದರ್ಥ.
ನಂತರ ಎರಡೂ ಸ್ವೀಕಾರ ಮಾನದಂಡಗಳನ್ನು ಒಟ್ಟಿಗೆ ಪರೀಕ್ಷಿಸಿ: ಉದ್ದೇಶಿತ ನಿರ್ವಹಣಾ ಮಾರ್ಗದ ಮೂಲಕ ಹೊಸ SSH ಸಂಪರ್ಕ ಕೆಲಸ ಮಾಡುತ್ತದೆ, ಮತ್ತು ಅನುಮತಿಸಿದ ಅಪ್ಲಿಕೇಶನ್ ಟನೆಲ್ ಅನ್ನು ಸರಿಯಾಗಿ ಬಳಸುತ್ತದೆ.
ಟನೆಲ್ಗೆ ವಿಳಾಸವಿಲ್ಲದಿದ್ದಾಗ ಆಕಸ್ಮಿಕವಾಗಿ ಬದುಕುಳಿಯುವ ಹಳೆಯ SSH ಸೆಷನ್ ಯಶಸ್ಸಲ್ಲ, ಮತ್ತು ಯಾರೂ ಕೆಲಸವನ್ನು ವಹಿಸಿಕೊಳ್ಳದಿದ್ದಾಗ ಈ ಆಯ್ಕೆ ಸೃಷ್ಟಿಸುವುದು ನಿಖರವಾಗಿ ಅದೇ ಸ್ಥಿತಿಯನ್ನು. ಮೊದಲು ಇಂಟರ್ಫೇಸ್ ವಿಳಾಸವನ್ನು, ನಂತರ ನಿರ್ವಹಣಾ ಪ್ರತ್ಯುತ್ತರ ಮಾರ್ಗವನ್ನು, ನಂತರ ಅಪ್ಲಿಕೇಶನ್ ಅನ್ನು ಪರಿಶೀಲಿಸಿ. ಮೂರರಲ್ಲಿ ಎರಡು ತಪ್ಪಾಗಿದ್ದರೆ, ಆಯ್ಕೆ ಕೆಲಸವನ್ನು ಸರಿಸಿದೆ ಆದರೆ ಅದಕ್ಕೆ ಮಾಲೀಕನನ್ನು ನೀಡಿಲ್ಲ.