ಪಿಂಗ್ ಕಾವಲುಗಾರ ಮುರಿದ ಸುರಂಗವನ್ನು ಆರೋಗ್ಯಕರ ಸುರಂಗದಿಂದ ಪ್ರತ್ಯೇಕಿಸಲಾರದು
ಇಂಟರ್ನೆಟ್ಗೆ ಪಿಂಗ್ ಕಾಣುವುದಕ್ಕಿಂತ ಕಡಿಮೆ ಸಾಬೀತು ಮಾಡುತ್ತದೆ. ಸುರಂಗವನ್ನು ಒಳಗಿನಿಂದ ಪರಿಶೀಲಿಸಿ, ಕ್ರಮಕ್ಕೂ ಮೊದಲು ವೈಫಲ್ಯಗಳನ್ನು ಎಣಿಸಿ, ಸರ್ವರ್ ಬದಲಾವಣೆಯನ್ನು ಪ್ರತ್ಯೇಕ ನಿರ್ಧಾರವೆಂದು ಪರಿಗಣಿಸಿ.
ಮೂರು ಷರತ್ತುಗಳು ಕಾವಲುಗಾರ ಸಹಾಯ ಮಾಡುತ್ತದೆಯೇ ಅಥವಾ ಹಾನಿ ಮಾಡುತ್ತದೆಯೇ ಎಂಬುದನ್ನು ನಿರ್ಧರಿಸುತ್ತವೆ: ಪರಿಶೀಲನೆ ಏನನ್ನು ಪ್ರತ್ಯೇಕಿಸಬಲ್ಲದು, ಎಷ್ಟು ಸತತ ವೈಫಲ್ಯಗಳು ಕ್ರಮವನ್ನು ಸಮರ್ಥಿಸುತ್ತವೆ, ಮತ್ತು ಕ್ರಮವು ಮರುಸಂಪರ್ಕವೋ ಅಥವಾ ಬದಲಾವಣೆಯೋ. ಸಾರ್ವಜನಿಕ ವಿಳಾಸಕ್ಕೆ ಪಿಂಗ್ ಮಾಡುವ cron ಸಾಲು ಇವುಗಳಲ್ಲಿ ಯಾವುದಕ್ಕೂ ಉತ್ತಮ ಉತ್ತರ ನೀಡುವುದಿಲ್ಲ. ಅದು ಆರೋಗ್ಯಕರ ಸುರಂಗಗಳನ್ನು ಮರುಸಂಪರ್ಕಿಸುತ್ತದೆ ಮತ್ತು ಮುರಿದ ಸುರಂಗಗಳನ್ನು ಹಾಗೆಯೇ ಬಿಡುತ್ತದೆ, ಮತ್ತು ಎರಡನ್ನೂ ಯಾವುದೇ ದಾಖಲೆ ಇಲ್ಲದೆ ಮಾಡುತ್ತದೆ. ಉಳಿಸಿಕೊಳ್ಳಲು ಯೋಗ್ಯವಾದ ವಿನ್ಯಾಸವು ಈ ಮೂರು ಆಯ್ಕೆಗಳನ್ನು ಸ್ಪಷ್ಟಪಡಿಸುತ್ತದೆ.
ಪರಿಶೀಲನೆಯೇ ಉಳಿದೆಲ್ಲವನ್ನೂ ನಿರ್ಧರಿಸುವ ಭಾಗ.
ಇಂಟರ್ನೆಟ್ಗೆ ಪಿಂಗ್ ವಾಸ್ತವವಾಗಿ ಏನನ್ನು ಸಾಬೀತು ಮಾಡುತ್ತದೆ
ಸಾರ್ವಜನಿಕ ರಿಜಾಲ್ವರ್ಗೆ ಪಿಂಗ್ ಮಾಡುವುದು ಸ್ಥಳೀಯ ಇಂಟರ್ನೆಟ್ ಮಾರ್ಗ ಜೀವಂತವಾಗಿದೆ ಎಂದು ತೋರಿಸುತ್ತದೆ. ಅದು ಸುರಂಗ ಟ್ರಾಫಿಕ್ ಸಾಗಿಸುತ್ತದೆ ಎಂದು ಸಾಬೀತು ಮಾಡುವುದಿಲ್ಲ, ಮತ್ತು ಪೂರ್ಣ ಸುರಂಗದ ಪ್ರೊಫೈಲ್ನಲ್ಲಿ ಪಿಂಗ್ ಸ್ವತಃ ಸುರಂಗದ ಮೂಲಕ ಹಾದುಹೋಗುತ್ತದೆ, ಆದ್ದರಿಂದ ಆರೋಗ್ಯಕರ ಪ್ರತಿಕ್ರಿಯೆ ಮತ್ತು ಮುರಿದ ಸುರಂಗ ಒಟ್ಟಿಗೆ ಇರಬಹುದು, ಕ್ಲೈಂಟ್ ಇನ್ನೂ ಪ್ಯಾಕೆಟ್ಗಳನ್ನು ಮುಂದಕ್ಕೆ ಕಳುಹಿಸುತ್ತಿರುವಾಗ. ಪ್ರೊಫೈಲ್ ಹೆಸರು ಹುಡುಕಾಟಗಳನ್ನು ಸುರಂಗದ ಮೂಲಕ ಕಳುಹಿಸಿದರೆ, DNS ವೈಫಲ್ಯವನ್ನು ಸತ್ತ ಕೊಂಡಿ ಎಂದು ಓದಲಾಗುತ್ತದೆ ಮತ್ತು ಏನನ್ನೂ ಸರಿಪಡಿಸಲಾರದ ಮರುಸಂಪರ್ಕವನ್ನು ಪ್ರಾರಂಭಿಸುತ್ತದೆ.
ದೋಷದ ಎರಡೂ ದಿಕ್ಕುಗಳಲ್ಲಿ ಯಾವುದೂ ನಿರ್ಗಮನ ಕೋಡ್ನಲ್ಲಿ ಕಾಣಿಸುವುದಿಲ್ಲ. ಆ ಸಂಕೇತದ ಮೇಲೆ ನಿರ್ಮಿಸಿದ ಕಾವಲುಗಾರ cron ವೇಳಾಪಟ್ಟಿಯೊಂದಿಗೆ ನಾಣ್ಯ ಚಿಮ್ಮಿಸುವುದು.
ಸುರಂಗದ ಹಿಂದೆ ವಾಸಿಸುವ ಯಾವುದನ್ನಾದರೂ ಪರಿಶೀಲಿಸಿ
ip -brief addr show tun0 ip route get 10.100.20.10 nc -z -w3 10.100.20.10 443
ಒಳಗಿನಿಂದ ಪರಿಶೀಲಿಸಿ, ಅಗ್ಗದ ತಪಾಸಣೆ ಮೊದಲು. ಇಂಟರ್ಫೇಸ್ ಇದೆಯೇ ಎಂಬುದು ಸುರಂಗ ಮೇಲಿದೆ ಎಂದು ಹೇಳುತ್ತದೆ; ತಿಳಿದಿರುವ ಒಳಗಿನ ವಿಳಾಸಕ್ಕೆ ಮಾರ್ಗದ ಹುಡುಕಾಟ ಟ್ರಾಫಿಕ್ ಒಳಗೆ ಹೋಗುತ್ತದೆ ಎಂದು ಹೇಳುತ್ತದೆ; ಆಚೆ ಬದಿಯ ಹೋಸ್ಟ್ಗೆ TCP ತಪಾಸಣೆ ನಿಜವಾಗಿ ಏನೋ ಉತ್ತರಿಸುತ್ತಿದೆ ಎಂದು ಹೇಳುತ್ತದೆ. ಕೇವಲ echo ವಿನಂತಿಗಳು ದಾರಿ ತಪ್ಪಿಸುತ್ತವೆ: ಅನೇಕ ಒಳಗಿನ ಹೋಸ್ಟ್ಗಳು TCP ಗೆ ಸಂತೋಷದಿಂದ ಉತ್ತರಿಸುತ್ತವೆ ಆದರೆ ICMP ಅನ್ನು ಬಿಸಾಡುತ್ತವೆ, ಆದ್ದರಿಂದ ಪಿಂಗ್ ಆಧಾರಿತ ಕಾವಲುಗಾರ ಕೆಲಸ ಮಾಡುವುದನ್ನು ಎಂದೂ ನಿಲ್ಲಿಸದ ಸುರಂಗವನ್ನು ಮತ್ತೆ ಮತ್ತೆ ಮರುಸಂಪರ್ಕಿಸುತ್ತದೆ.
ಪರಿಶೀಲನೆಯನ್ನು ಸಮಯದಲ್ಲಿ ಸೀಮಿತವಾಗಿಡಿ ಮತ್ತು ಅದಕ್ಕೆ ಪ್ರತ್ಯೇಕ ನಿರ್ಗಮನ ಸ್ಥಿತಿ ನೀಡಿ. ಮೂವತ್ತು ಸೆಕೆಂಡು ನೇತಾಡುವ ಪರಿಶೀಲನೆ ಕಾವಲುಗಾರನನ್ನು ಒಳಗೊಂಡ ವಿಳಂಬವಿರುವ ಅಡಚಣೆ ಪತ್ತೆದಾರನನ್ನಾಗಿ ಮಾಡುತ್ತದೆ.
ಒಂದು ಸಾಲು ಮತ್ತು ಲೂಪ್ ನಡುವೆ ಆಯ್ಕೆಮಾಡಿ
* * * * * nc -z -w5 10.100.20.10 443 || myvpn reconnect
cron ನಮೂದು ನೆನಪಿಲ್ಲದ ಒಂದು ಸಾಲು, ಇದು ಹೆಚ್ಚುವರಿ ಮರುಸಂಪರ್ಕ ಏನೂ ವೆಚ್ಚವಾಗದ ಲ್ಯಾಪ್ಟಾಪ್ಗೆ ಸರಿಹೊಂದುತ್ತದೆ. ಮೇಲ್ವಿಚಾರಣೆಯ ಲೂಪ್ ಎಣಿಕೆಯನ್ನು ಇಟ್ಟುಕೊಂಡು ಹಲವು ತಪ್ಪಿನ ನಂತರವೇ ಕ್ರಮ ತೆಗೆದುಕೊಳ್ಳುತ್ತದೆ, ಇದು ಅಸ್ಥಿರ ಕೊಂಡಿಯು ಮರುಸಂಪರ್ಕಗಳ ಬಿರುಗಾಳಿ ಎಬ್ಬಿಸದಂತೆ ತಡೆಯುತ್ತದೆ. ಯಾವುದೇ ಸಂದರ್ಭದಲ್ಲಿ, ಅದನ್ನು ಮೇಲ್ವಿಚಾರಕರ ಅಡಿಯಲ್ಲಿ ಚಲಾಯಿಸಿ ಇದರಿಂದ ಅದು ಕ್ರ್ಯಾಶ್ನಿಂದ ಪಾರಾಗುತ್ತದೆ ಮತ್ತು ಜರ್ನಲ್ಗೆ ಬರೆಯುತ್ತದೆ. ಹೆಚ್ಚುವರಿ ಮರುಸಂಪರ್ಕ ಮುಖ್ಯವೇ ಎಂಬುದರ ಆಧಾರದ ಮೇಲೆ ಆಯ್ಕೆಮಾಡಿ, ಯಾವ ಆವೃತ್ತಿ ಚಿಕ್ಕದು ಎಂಬುದರ ಮೇಲೆ ಅಲ್ಲ.
failures=0 while sleep 30; do if nc -z -w5 10.100.20.10 443; then failures=0 else failures=$((failures+1)); fi if [ $failures -ge 3 ]; then myvpn reconnect; failures=0; fi done
ಆ ಲೂಪ್ ವಿಂಡೋದ ಮೇಲಿನ ಅನುಪಾತದ ಬದಲು ಸತತ ವೈಫಲ್ಯಗಳನ್ನು ಎಣಿಸುತ್ತದೆ. ವಿಂಡೋಗೆ ಗಡಿಯಾರ ಮತ್ತು ಮಾದರಿಗಳ ನೆನಪು ಬೇಕು, ಮತ್ತು ಕೈಯಿಂದ ಬರೆದ ಕಾವಲುಗಾರರ ದೋಷಗಳಲ್ಲಿ ಹೆಚ್ಚಿನವು ಆ ಗಣಿತದಲ್ಲೇ ವಾಸಿಸುತ್ತವೆ.
ಸರ್ವರ್ ಬದಲಾವಣೆ ಬೇರೆ ನಿರ್ಧಾರ
ಸರ್ವರ್ಗಳನ್ನು ಬದಲಿಸುವುದು ಮರುಸಂಪರ್ಕಕ್ಕಿಂತ ಭಿನ್ನ. ಮೊದಲು ಹಳೆಯ ಕೊಂಡಿಯನ್ನು ಹರಿದುಹಾಕಿ, ಏಕೆಂದರೆ ಮೊದಲನೆಯದು ಇನ್ನೂ ವಿಳಾಸವನ್ನು ಹಿಡಿದಿರುವಾಗ ಪ್ರಾರಂಭವಾಗುವ ಎರಡನೆಯ ಕ್ಲೈಂಟ್ ಘರ್ಷಿಸುತ್ತದೆ. ಬದಲಿಸುವ ಮೊದಲು ಸತತ ವೈಫಲ್ಯಗಳನ್ನು ಎಣಿಸಿ, ಪ್ರಯತ್ನಗಳನ್ನು ಮಿತಿಗೊಳಿಸಿ, ಮತ್ತು ಹೊಸ ಕೊಂಡಿ ಮೇಲೆ ಬಂದ ನಂತರ ಮತ್ತೆ ಪರಿಶೀಲಿಸಿ, connect ಆದೇಶದ ನಿರ್ಗಮನ ಸ್ಥಿತಿಯನ್ನು ನಂಬುವ ಬದಲು. ತಪ್ಪು ಸಂರಚನೆ ಲೂಪ್ನಲ್ಲಿ ಪ್ರತಿ ಸರ್ವರ್ ಮೂಲಕ ಸುತ್ತಬಾರದು.
ಪೂರ್ಣ ಸುರಂಗದ ಒಳಗಿನಿಂದ VPN ಸರ್ವರ್ನ ಸ್ವಂತ ಸಾರ್ವಜನಿಕ ವಿಳಾಸವನ್ನು ಪರಿಶೀಲಿಸಬೇಡಿ. ಆ ತಪಾಸಣೆ ಅದು ಪರೀಕ್ಷಿಸುತ್ತಿರುವ ವಸ್ತುವನ್ನೇ ಅವಲಂಬಿಸಿದೆ, ಮತ್ತು ಪರಿಶೀಲಿಸಬೇಕಾದ ಮಾರ್ಗವೇ ಇಲ್ಲದಿದ್ದಾಗಲೂ ಯಶಸ್ಸನ್ನು ವರದಿ ಮಾಡುತ್ತದೆ.
ಯಾವ ಪರಿಶೀಲನೆ ನಡೆಯಿತು, ಏನನ್ನು ಹಿಂತಿರುಗಿಸಿತು ಮತ್ತು ಯಾವ ಕ್ರಮ ಬಂತು ಎಂಬುದನ್ನು ದಾಖಲಿಸಿ. ಆ ದಾಖಲೆ ನಿಗೂಢ ಮರುಸಂಪರ್ಕವನ್ನು ರೋಗನಿರ್ಣಯ ಮಾಡಬಹುದಾದ ಘಟನೆಯಾಗಿ ಬದಲಿಸುತ್ತದೆ.