OpenVPN up ನಲ್ಲಿ ಸೇವೆಯನ್ನು ಮರುಪ್ರಾರಂಭಿಸುವುದು: ಕೊಕ್ಕೆಗಳು tun0.device ಗಿಂತ ಉತ್ತಮ
ಸಾಧನ ಘಟಕವು ಇಂಟರ್ಫೇಸ್ ಅನ್ನು ಟ್ರ್ಯಾಕ್ ಮಾಡುತ್ತದೆ, ಸಂಪರ್ಕವನ್ನಲ್ಲ. ಸೇವೆಗೆ ಬೇಕಾದ ಷರತ್ತಿಗೆ up ಅಥವಾ route-up ಆಯ್ಕೆಮಾಡಿ, ನಂತರ ಬ್ಲಾಕ್ ಮಾಡದ ಮರುಪ್ರಾರಂಭವನ್ನು ಕಳುಹಿಸಿ.
ಅವಲಂಬಿತ ಸೇವೆಯನ್ನು tun0.device ಗೆ ಜೋಡಿಸುವುದು ಟನೆಲ್ ಚಂದಾದಾರಿಕೆ ಮಾಡಿದಂತೆ ಕಾಣುತ್ತದೆ, ಆದರೆ ಹಾಗಲ್ಲ. ಸಾಧನ ಘಟಕವು ಇಂಟರ್ಫೇಸ್ ಇದೆ ಎಂಬುದನ್ನು ಪ್ರತಿಬಿಂಬಿಸುತ್ತದೆ, ಅದು ವಿಫಲ ಸಂಪರ್ಕ ಮತ್ತು ಅದರ ನಂತರದ ಮರುಸಂಪರ್ಕದ ಉದ್ದಕ್ಕೂ ನಿಜವಾಗಿ ಉಳಿಯಬಹುದು. ನಂತರ ಸೇವೆ ತಪ್ಪು ಕ್ಷಣದಲ್ಲಿ ಕಾರ್ಯನಿರ್ವಹಿಸುತ್ತದೆ, ಅಥವಾ ಎಂದಿಗೂ ಮಾಡುವುದಿಲ್ಲ, ಇಂಟರ್ಫೇಸ್ ಮಧ್ಯದಲ್ಲಿ ಕಣ್ಮರೆಯಾಯಿತೆಯೇ ಎಂಬುದನ್ನು ಅವಲಂಬಿಸಿ. ನಿಮಗೆ ನಿಜವಾಗಿ ಮುಖ್ಯವಾದ ಘಟನೆಯನ್ನು ವಿವರಿಸುವ ಕೊಕ್ಕೆ OpenVPN ಕರೆಯುವುದೇ, systemd ಊಹಿಸುವುದಲ್ಲ.
ಟ್ರಿಗರ್ ಆಯ್ಕೆಮಾಡುವ ಮೊದಲು ಸೇವೆಗೆ ಯಾವ ಷರತ್ತು ಬೇಕು ಎಂದು ನಿರ್ಧರಿಸಿ, ಏಕೆಂದರೆ ಮೂರು ಅಭ್ಯರ್ಥಿಗಳು ಪರಸ್ಪರ ಬದಲಾಯಿಸಲಾಗದವು.
ಸಾಧನ ಘಟಕವು ನಿಜವಾಗಿ ಏನನ್ನು ಟ್ರ್ಯಾಕ್ ಮಾಡುತ್ತದೆ
systemd ನೆಟ್ವರ್ಕ್ ಇಂಟರ್ಫೇಸ್ ಬಗ್ಗೆ ಕರ್ನಲ್ನ ದೃಷ್ಟಿಕೋನದಿಂದ ಸಾಧನ ಘಟಕವನ್ನು ರಚಿಸುತ್ತದೆ, ಆದ್ದರಿಂದ ಇಂಟರ್ಫೇಸ್ ಕಾಣಿಸಿಕೊಂಡಾಗ tun0.device ಸಕ್ರಿಯವಾಗುತ್ತದೆ ಮತ್ತು ತೆಗೆದುಹಾಕಿದಾಗ ನಿಷ್ಕ್ರಿಯವಾಗುತ್ತದೆ. persist-tun ಜೊತೆಗೆ, ಮೃದು ಮರುಪ್ರಾರಂಭವು ಇಂಟರ್ಫೇಸ್ ಅನ್ನು ಅದರ ಸ್ಥಳದಲ್ಲೇ ಇರಿಸುತ್ತದೆ, ಆದ್ದರಿಂದ ಘಟಕವು ಎಂದಿಗೂ ಫ್ಲಾಪ್ ಆಗುವುದಿಲ್ಲ ಮತ್ತು ಅದಕ್ಕೆ ಬದ್ಧವಾದ ಯಾವುದೂ ಟ್ರಿಗರ್ ಆಗುವುದಿಲ್ಲ. ನಿರಂತರತೆ ಇಲ್ಲದಿದ್ದರೂ, ಘಟಕವು ಮಾರ್ಗಗಳು, DNS ಅಥವಾ ದೂರದ ತುದಿ ಉತ್ತರಿಸುತ್ತದೆಯೇ ಎಂಬ ಬಗ್ಗೆ ಏನನ್ನೂ ಹೇಳುವುದಿಲ್ಲ.
ಅದು ಅದನ್ನು 'VPN ಸಿದ್ಧವಾಗಿದೆ' ಎಂಬುದಕ್ಕೆ ಕೆಟ್ಟ ಬದಲಿಯಾಗಿಸುತ್ತದೆ. ಸ್ಥಳೀಯ ವಿಳಾಸ ಮಾತ್ರ ಬೇಕಾದ ಆಲಿಸುವವರು ಇಂಟರ್ಫೇಸ್ನ ಅಸ್ತಿತ್ವದಿಂದ ತೃಪ್ತರಾಗಬಹುದು, ಆದರೆ ದೂರದ ನೆಟ್ವರ್ಕ್ನಲ್ಲಿ ಅಪ್ಲಿಕೇಶನ್ ಅನ್ನು ಕರೆಯುವ ಸೇವೆಗೆ ಮಾರ್ಗಗಳು ಮತ್ತು ತಲುಪುವಿಕೆ ಬೇಕು, ಅದನ್ನು ಸಾಧನ ಘಟಕವು ವ್ಯಕ್ತಪಡಿಸಲಾಗದು.
up, route-up ಮತ್ತು up-restart ಬೇರೆ ಬೇರೆ ಅರ್ಥಗಳನ್ನು ನೀಡುತ್ತವೆ
TUN/TAP ಸಾಧನ ತೆರೆದು ಇಂಟರ್ಫೇಸ್ ಕಾನ್ಫಿಗರ್ ಆದ ನಂತರ up ಚಲಿಸುತ್ತದೆ, ಇದು ಹಂಚಲಾದ ವಿಳಾಸವನ್ನು ಬಂಧಿಸುವ ಆಲಿಸುವವರಿಗೆ ಸರಿಯಾದ ಕ್ಷಣ. ಮಾರ್ಗಗಳನ್ನು ಸ್ಥಾಪಿಸಿದ ನಂತರ, ಕಾನ್ಫಿಗರ್ ಮಾಡಿದ ಮಾರ್ಗ ವಿಳಂಬಕ್ಕೆ ಒಳಪಟ್ಟು route-up ಚಲಿಸುತ್ತದೆ, ಮತ್ತು ಮಾರ್ಗ ಹಂತ ಪೂರ್ಣಗೊಳ್ಳುವ ಅಗತ್ಯವಿರುವ ಕೆಲಸಕ್ಕೆ ಸೂಕ್ತವಾಗಿದೆ. ಎರಡೂ ದೂರದ ಅಪ್ಲಿಕೇಶನ್ ಉತ್ತರಿಸುತ್ತದೆ ಎಂದು ಸಾಬೀತುಪಡಿಸುವುದಿಲ್ಲ. ಅವುಗಳ ನಡುವೆ ಆಯ್ಕೆ ಮಾಡುವುದು ಸೇವೆಗೆ ಏನು ಬೇಕು ಎಂಬ ಪ್ರಶ್ನೆ, ಯಾವ ಕೊಕ್ಕೆ ಹೆಚ್ಚು ಪೂರ್ಣವಾಗಿ ಕೇಳಿಸುತ್ತದೆ ಎಂಬುದಲ್ಲ.
persist-tun ಜೊತೆಗೆ, ಮರುಪ್ರಾರಂಭಗಳು ಸಾಧನವನ್ನು ಮರುಬಳಕೆ ಮಾಡುತ್ತವೆ, ಆದ್ದರಿಂದ up-restart ಸೆಟ್ ಆಗಿಲ್ಲದಿದ್ದರೆ up ಮತ್ತೆ ಚಲಿಸುವುದಿಲ್ಲ. ಆ ಆಯ್ಕೆ ದಾಖಲಿತ ಮರುಪ್ರಾರಂಭ ಜೀವನಚಕ್ರಕ್ಕೆ up ಸ್ಕ್ರಿಪ್ಟ್ ಅನ್ನು ಸಕ್ರಿಯಗೊಳಿಸುತ್ತದೆ, ಮತ್ತು ಅದರ ಪರಿಸರ ಮೊದಲ ಆರಂಭಕ್ಕೆ ಹೋಲಿಸಿದರೆ ಕಡಿಮೆಯಾಗಿದೆ. ಪೂರ್ಣ ಪರಿಸರವನ್ನು ಊಹಿಸುವ ಸ್ಕ್ರಿಪ್ಟ್ ಮೊದಲ ಸಂಪರ್ಕದಲ್ಲಿ ಕೆಲಸ ಮಾಡುತ್ತದೆ ಮತ್ತು ಮುಂದಿನದರಲ್ಲಿ ವಿಫಲವಾಗುತ್ತದೆ.
ಕ್ರಿಯೆಯನ್ನು ಕಾಯದೆ ಕಳುಹಿಸಿ
systemctl restart ಅನ್ನು ಸಮಕಾಲೀನವಾಗಿ ಕರೆಯುವ ಕೊಕ್ಕೆ, ಅದರ ಕ್ರಮ ಟನೆಲ್ಗಾಗಿ ಕಾಯುವ ಘಟಕದ ವಿರುದ್ಧ ಡೆಡ್ಲಾಕ್ ಆಗಬಹುದು. systemctl --no-block try-restart vpn-dependent.service ಕೆಲಸವನ್ನು ಸರದಿಯಲ್ಲಿ ಇರಿಸಿ ಮರಳುತ್ತದೆ, ಇದು ಕೊಕ್ಕೆ ತಾನು ಪ್ರತಿಕ್ರಿಯಿಸುತ್ತಿದ್ದ ಸಂಪರ್ಕವನ್ನು ಬ್ಲಾಕ್ ಮಾಡದಂತೆ ತಡೆಯುತ್ತದೆ. try-restart ಚಾಲನೆಯಲ್ಲಿರುವ ಘಟಕದ ಮೇಲೆ ಮಾತ್ರ ಕಾರ್ಯನಿರ್ವಹಿಸುತ್ತದೆ, ಆದರೆ restart ನಿಷ್ಕ್ರಿಯ ಘಟಕವನ್ನೂ ಪ್ರಾರಂಭಿಸುತ್ತದೆ; ಅಭ್ಯಾಸದಿಂದಲ್ಲ, ಉದ್ದೇಶಪೂರ್ವಕವಾಗಿ ಆಯ್ಕೆಮಾಡಿ.
ಸರದಿಯಲ್ಲಿ ಇಡುವುದು ಪರಿಶೀಲನೆ ಅಲ್ಲ. ಕೆಲಸ ಸ್ವೀಕರಿಸಿದ ಕ್ಷಣವೇ ಕೊಕ್ಕೆ ಯಶಸ್ಸನ್ನು ಹಿಂತಿರುಗಿಸುತ್ತದೆ, ಆದ್ದರಿಂದ ಪರಿಶೀಲನೆ ಗುರಿ ಘಟಕದ ಜರ್ನಲ್ನಲ್ಲಿ ಅಥವಾ ಅದರ ನಿಜವಾದ ಆಲಿಸುವವರ ಸ್ಥಿತಿಯಲ್ಲಿ ನಡೆಯಬೇಕು.
ಮರುಪ್ರಾರಂಭ ನೀತಿ ಘಟಕದಲ್ಲಿದೆ, ಕೊಕ್ಕೆಯಲ್ಲ
RemainAfterExit=yes ಹೊಂದಿರುವ oneshot ಘಟಕವು ಅದರ ಆಜ್ಞೆ ಮುಗಿದ ನಂತರವೂ ಸಕ್ರಿಯವಾಗಿರುತ್ತದೆ, ಮತ್ತು ಎರಡನೇ ಪ್ರಾರಂಭ ವಿನಂತಿ ಏನನ್ನೂ ಮಾಡುವುದಿಲ್ಲ ಏಕೆಂದರೆ systemd ಅದನ್ನು ಈಗಾಗಲೇ ಪ್ರಾರಂಭಿಸಿದೆ ಎಂದು ಪರಿಗಣಿಸುತ್ತದೆ. ಇದು ಸುತ್ತಲೂ ವಿನ್ಯಾಸ ಮಾಡಬೇಕಾದ ಗುಣಲಕ್ಷಣ, ಪುನರಾವರ್ತಿತ ಪ್ರಾರಂಭ ಕರೆಗಳಿಂದ ತಪ್ಪಿಸಿಕೊಳ್ಳುವ ದೋಷವಲ್ಲ. ಕ್ರಿಯೆಯನ್ನು ಪ್ರತಿ ಸಂಪರ್ಕಕ್ಕೂ ಚಲಾಯಿಸಬೇಕಿದ್ದರೆ, ಘಟಕಕ್ಕೆ ಅದನ್ನು ಅನುಮತಿಸುವ ರೂಪ ಬೇಕು.
After= ಘಟಕಗಳನ್ನು ಕ್ರಮಗೊಳಿಸುತ್ತದೆ, ಮತ್ತು BindsTo= ಜೀವಿತಾವಧಿಗಳನ್ನು ಬಂಧಿಸುತ್ತದೆ, ಆದರೆ ಯಾವುದೂ 'VPN ಮತ್ತೆ ಸಂಪರ್ಕಗೊಂಡಾಗಲೆಲ್ಲ ಇದನ್ನು ಮರುಪ್ರಾರಂಭಿಸು' ಎಂದು ಅರ್ಥವಲ್ಲ. ಟನೆಲ್ಗೆ ಬದ್ಧವಾದ ಘಟಕವು ಟನೆಲ್ ನಿಲ್ಲುವಾಗ ನಿಲ್ಲುತ್ತದೆ; ಟನೆಲ್ ಹಿಂತಿರುಗಿದಾಗ ಅದು ತನ್ನನ್ನು ಮರುಪ್ರಾರಂಭಿಸುವುದಿಲ್ಲ, ಏನಾದರೂ ಅದನ್ನು ಮತ್ತೆ ಪ್ರಾರಂಭಿಸದ ಹೊರತು.
ಒಂದಲ್ಲ, ಮೂರು ಮರುಸಂಪರ್ಕಗಳನ್ನು ಪರೀಕ್ಷಿಸಿ
ಶೀತ ಆರಂಭ, ಪೂರ್ಣ ಕ್ಲೈಂಟ್ ಮರುಪ್ರಾರಂಭ ಮತ್ತು ಮೃದು ಮರುಸಂಪರ್ಕ ಪ್ರತಿಯೊಂದೂ ವಿಭಿನ್ನ ಮಾರ್ಗವನ್ನು ಅಭ್ಯಾಸ ಮಾಡುತ್ತವೆ. ಮೃದು ಮರುಸಂಪರ್ಕವೇ ಕಾಣೆಯಾದ up-restart, ಕಡಿಮೆಯಾದ ಪರಿಸರ ಅಥವಾ ಎಂದಿಗೂ ನಿಷ್ಕ್ರಿಯವಾಗದ ಸಾಧನ ಘಟಕವನ್ನು ಬಯಲು ಮಾಡುತ್ತದೆ. ಮೂರನ್ನೂ ಚಲಾಯಿಸಿ ಮತ್ತು ಎರಡೂ ದಿಕ್ಕುಗಳನ್ನು ಖಚಿತಪಡಿಸಿ: ಟನೆಲ್ ಮೇಲೇರಿದಾಗ ಸೇವೆ ಕಾರ್ಯನಿರ್ವಹಿಸುತ್ತದೆ, ಮತ್ತು Wi-Fi ರೋಮಿಂಗ್ನಂತಹ ಸಂಬಂಧವಿಲ್ಲದ ಲಿಂಕ್ ಬದಲಾವಣೆಗಳಲ್ಲಿ ಅದು ಮರುಪ್ರಾರಂಭವಾಗುವುದಿಲ್ಲ.
ಅವಲಂಬಿತ ಸೇವೆ ನಿಮ್ಮದೇ ಆಡಳಿತ ಪ್ರವೇಶವನ್ನು ಹೊತ್ತೊಯ್ಯುವಾಗ ಸ್ವತಂತ್ರ ಚೇತರಿಕೆ ಮಾರ್ಗವನ್ನು ಇರಿಸಿಕೊಳ್ಳಿ. ನೀವು ಸಂಪರ್ಕಗೊಂಡಿರುವ ವಸ್ತುವನ್ನು ಮರುಪ್ರಾರಂಭಿಸುವ ಕೊಕ್ಕೆ ನಿಮ್ಮನ್ನು ಹೊರಗೆ ಲಾಕ್ ಮಾಡಬಹುದಾದ ಬದಲಾವಣೆ.