OpenVPN ನ "File exists" ಮಾರ್ಗದಲ್ಲಿ ಫೈಲ್ ಸಮಸ್ಯೆ ಅಲ್ಲ
ಸಂದೇಶವು ಫೈಲ್ ಸಿಸ್ಟಂನಿಂದ ಅಲ್ಲ, ಕರ್ನಲ್ನ ಮಾರ್ಗ ಕೋಷ್ಟಕದಿಂದ ಬರುತ್ತದೆ. LAN ನೀತಿಯನ್ನು ಬದಲಿಸುವ ಮೊದಲು ಈಗಾಗಲೇ ಪೂರ್ವಪ್ರತ್ಯಯವನ್ನು ಹೊಂದಿರುವ ನಮೂದನ್ನು ಓದಿ.
ಸಂದೇಶ ಕಾಣಿಸಿಕೊಳ್ಳುವಲ್ಲಿಂದಲೇ ಪ್ರಾರಂಭಿಸಿ. ಕ್ಲೈಂಟ್ ಸಂಪರ್ಕಗೊಳ್ಳುತ್ತದೆ, ಸುರಂಗ ಏರುತ್ತದೆ, ನಂತರ ಲಾಗ್ Linux ನ ಮಾರ್ಗ ಸೇರಿಸುವ ಆದೇಶ File exists ನೊಂದಿಗೆ ವಿಫಲವಾದುದಾಗಿ ವರದಿ ಮಾಡುತ್ತದೆ. ಆ ವಾಕ್ಯದಲ್ಲಿ ಪ್ರಮಾಣಪತ್ರ, ಕೀ ಅಥವಾ ಸಂರಚನಾ ಫೈಲ್ಗೆ ಯಾವುದೇ ಸಂಬಂಧವಿಲ್ಲ, ಆದರೂ ಪದಗಳು ಹಾಗೆ ಸೂಚಿಸುತ್ತವೆ. ಕರ್ನಲ್ ತನ್ನ ಮಾರ್ಗ ಕೋಷ್ಟಕವನ್ನು ವಿವರಿಸುತ್ತಿದೆ, ಮತ್ತು ನೀವು ಸ್ಥಾಪಿಸಲು ಕೇಳಿದ ಪೂರ್ವಪ್ರತ್ಯಯಕ್ಕೆ ಈಗಾಗಲೇ ಒಂದು ನಮೂದಿದೆ.
ಕ್ಲೈಂಟ್ನ ಸ್ವಂತ ಕ್ರಮವನ್ನು ಅನುಸರಿಸಿ: ಅದು ಏನನ್ನು ಕೇಳಿತು, ಕೋಷ್ಟಕದಲ್ಲಿ ಈಗಾಗಲೇ ಏನಿತ್ತು, ಆ ನಮೂದನ್ನು ಅಲ್ಲಿ ಯಾರು ಇಟ್ಟರು, ಮತ್ತು ನಂತರವೇ ಏನನ್ನು ಬದಲಿಸಬೇಕು. ಪ್ರತಿ ಹೆಜ್ಜೆ ಒಬ್ಬ ಸಂಭಾವ್ಯ ಮಾಲೀಕರನ್ನು ತೆಗೆದುಹಾಕುತ್ತದೆ.
ಕ್ಲೈಂಟ್ ವಾಸ್ತವವಾಗಿ ಏನನ್ನು ಕೇಳುತ್ತಿತ್ತು
ವಿಫಲತೆಯ ಮೊದಲು, ಕ್ಲೈಂಟ್ ಸೇರಿಸಲು ಉದ್ದೇಶಿಸಿರುವ ಮಾರ್ಗವನ್ನು ದಾಖಲಿಸುತ್ತದೆ, ಸಾಮಾನ್ಯವಾಗಿ ಗಮ್ಯಸ್ಥಾನ, ನೆಟ್ಮಾಸ್ಕ್, ಗೇಟ್ವೇ ಮತ್ತು ಕೆಲವೊಮ್ಮೆ ಮೆಟ್ರಿಕ್ ಅಥವಾ ಕೋಷ್ಟಕವಾಗಿ. ಆ ಸಾಲೇ ವಿನಂತಿ. ನಂತರ ಬರುವ ದೋಷ ಕರ್ನಲ್ನ ಉತ್ತರ, ಮತ್ತು ಎರಡನ್ನೂ ಜೊತೆಯಾಗಿ ಓದಬೇಕು.
journalctl -u openvpn-client@office -b --no-pager | grep -nE 'route|File exists'
openvpn --config /etc/openvpn/client/office.ovpn --verb 4 --log /tmp/ovpn.log
ಮಾರ್ಗ ಸಹಾಯಕದ ಶೂನ್ಯವಲ್ಲದ ನಿರ್ಗಮನ ಸ್ಥಿತಿ ಅದರ ಕೆಳಗಿನ ಪಠ್ಯಕ್ಕಿಂತ ಕಡಿಮೆ ಮಾಹಿತಿ ನೀಡುತ್ತದೆ, ಏಕೆಂದರೆ ವಿವಿಧ ಕರ್ನಲ್ ಪ್ರತಿಕ್ರಿಯೆಗಳು ಶೂನ್ಯವಲ್ಲದ ಸ್ಥಿತಿಯನ್ನು ಉಂಟುಮಾಡುತ್ತವೆ. ನಿಖರ ಸಂದೇಶವನ್ನು ಇರಿಸಿಕೊಳ್ಳಿ; ಅಸ್ತಿತ್ವದಲ್ಲಿರುವ ನಮೂದು ಮತ್ತು ತಲುಪಲಾಗದ ಗೇಟ್ವೇ ನಡುವಿನ ವ್ಯತ್ಯಾಸವು ಮುಂದಿನ ಯಾವ ವಿಭಾಗಗಳು ಅನ್ವಯಿಸುತ್ತವೆ ಎಂಬುದನ್ನು ನಿರ್ಧರಿಸುತ್ತದೆ.
ಅಸ್ತಿತ್ವದಲ್ಲಿರುವ ಮಾರ್ಗವನ್ನು ಓದಿ, ಕೇವಲ ವಿಳಾಸವನ್ನಲ್ಲ
ಕೋಷ್ಟಕದಲ್ಲಿ ಅದೇ ಚುಕ್ಕೆಗಳ ನಾಲ್ಕನ್ನು ಹುಡುಕುವುದು ಸಾಕಲ್ಲ. ಮಾರ್ಗ ವಸ್ತುವನ್ನು ಅದರ ವಿಳಾಸ ಕುಟುಂಬ, ಕೋಷ್ಟಕ, ಗಮ್ಯ ಪೂರ್ವಪ್ರತ್ಯಯ, ಮೆಟ್ರಿಕ್, ಪ್ರೋಟೋಕಾಲ್ ಮತ್ತು ಔಟ್ಪುಟ್ ಸಾಧನದಿಂದ ಗುರುತಿಸಲಾಗುತ್ತದೆ, ಮತ್ತು ಪೂರ್ವಪ್ರತ್ಯಯವನ್ನು ಹಂಚಿಕೊಳ್ಳುವ ನಮೂದುಗಳು ಆ ಗುಣಲಕ್ಷಣಗಳು ಭಿನ್ನವಾದಾಗ ಕಾನೂನುಬದ್ಧವಾಗಿ ಜೊತೆಯಾಗಿ ಇರಬಹುದು. ಡಿಕ್ಕಿ ಹೊಡೆಯುವುದು ಇಡೀ ವಸ್ತು, ಪಠ್ಯವಲ್ಲ.
ip -4 route show table all | grep -F '10.40.'
ip -4 route show match 10.40.0.0/16
ip -4 route get 10.40.0.5
ಕೊನೆಯ ಆದೇಶ ಮೊದಲ ಎರಡಕ್ಕಿಂತ ಬೇರೆ ಪ್ರಶ್ನೆಗೆ ಉತ್ತರಿಸುತ್ತದೆ: ಏನಿದೆ ಎಂಬುದಲ್ಲ, ಆ ಗಮ್ಯಕ್ಕೆ ಕರ್ನಲ್ ಈಗ ಯಾವ ನಮೂದನ್ನು ಆಯ್ಕೆ ಮಾಡುತ್ತದೆ ಎಂಬುದು. ಎರಡೂ ದೃಷ್ಟಿಕೋನಗಳು ಉಪಯುಕ್ತ, ಮತ್ತು ಯಾವುದೇ ತೀರ್ಮಾನಕ್ಕೆ ಬರುವ ಮೊದಲು ಹೋಲಿಸಲು ಯೋಗ್ಯವಾದಷ್ಟು ಬಾರಿ ಅವು ಭಿನ್ನವಾಗುತ್ತವೆ. ಅವುಗಳ ನಡುವಿನ ಅಸಾಮರಸ್ಯವೇ ಆಸಕ್ತಿದಾಯಕ ಪ್ರಕರಣ, ಪೂರ್ಣಾಂಕ ದೋಷವಲ್ಲ.
ವಿಫಲ ವಿನಂತಿಯ ಪಕ್ಕದಲ್ಲಿ ಪೂರ್ವಪ್ರತ್ಯಯ, ಕೋಷ್ಟಕ, ಮೆಟ್ರಿಕ್ ಮತ್ತು ಸಾಧನವನ್ನು ದಾಖಲಿಸಿ. ಅಸ್ತಿತ್ವದಲ್ಲಿರುವ ನಮೂದಿಗೆ ಅದೇ ಗುಣಲಕ್ಷಣಗಳು ಮತ್ತು ಅದೇ ಮುಂದಿನ ಹಾಪ್ ಇದ್ದರೆ, ನಿಮ್ಮಲ್ಲಿ ಮಾರ್ಗ ಸಮಸ್ಯೆ ಅಲ್ಲ, ನಕಲಿ ಸೂಚನೆ ಇದೆ.
ಪೂರ್ವಪ್ರತ್ಯಯಕ್ಕೆ ಇರಬಹುದಾದ ನಾಲ್ಕು ಮಾಲೀಕರು
ಸಂಪರ್ಕಿತ ಮಾರ್ಗಗಳು ನಿಗದಿಪಡಿಸಿದ ವಿಳಾಸದಿಂದ ಬರುತ್ತವೆ ಮತ್ತು ಆ ವಿಳಾಸ ಇರುವಾಗಲೆಲ್ಲ ಸಿಸ್ಟಂ ಅವುಗಳನ್ನು ಮತ್ತೆ ರಚಿಸುತ್ತದೆ. DHCP ಕ್ಲೈಂಟ್ ಅಥವಾ ಸಂಪರ್ಕ ನಿರ್ವಾಹಕ ತನ್ನದೇ ಜೀವನಚಕ್ರದ ಭಾಗವಾಗಿ ಮಾರ್ಗಗಳನ್ನು ಸ್ಥಾಪಿಸುತ್ತದೆ. ಇನ್ನೊಂದು VPN ಕ್ಲೈಂಟ್ ಈಗಾಗಲೇ ಅದೇ ಪೂರ್ವಪ್ರತ್ಯಯವನ್ನು ಹೊತ್ತಿರಬಹುದು. ಮತ್ತು ಸ್ಥಳೀಯ ಹುಕ್ ಅಥವಾ ಸ್ಕ್ರಿಪ್ಟ್ ಬೇರೆ ಯಾವುದಕ್ಕೂ ತಿಳಿಯದ ಒಂದನ್ನು ಸೇರಿಸಬಹುದು.
ಪ್ರತಿ ಮಾಲೀಕರಿಗೆ ಬೇರೆ ತಿದ್ದುಪಡಿ ಬೇಕು. ಸಂಪರ್ಕಿತ ಮಾರ್ಗವನ್ನು ಅಳಿಸುವುದು ನಿಮಗೆ ಸೇರಿದ್ದಲ್ಲ; ಅದನ್ನು ತೆಗೆದರೆ ಸುರಂಗ ಬಳಸಲು ಯೋಗ್ಯವಾಗುವ ಮೊದಲೇ ಸ್ಥಳೀಯ ಪ್ರವೇಶ ಮುರಿಯಬಹುದು, ಮತ್ತು ಕರ್ನಲ್ ಅದನ್ನು ಮರಳಿ ಇಡುತ್ತದೆ. ನಿರ್ವಾಹಕರ ಮಾಲೀಕತ್ವದ ಮಾರ್ಗವನ್ನು ಆ ನಿರ್ವಾಹಕರ ಮೂಲಕವೇ ಬದಲಿಸಬೇಕು, ಮುಂದಿನ ಮರುಸಂಪರ್ಕ ರದ್ದುಮಾಡುವ ಕೈಯಿಂದ ಬರೆದ ip route del ನಿಂದ ಅಲ್ಲ.
ಉಳಿಸಿಕೊಂಡ ಇಂಟರ್ಫೇಸ್ ಅದೇ ಗೊಂದಲವನ್ನು ಸುಲಭಗೊಳಿಸುತ್ತದೆ. ಸುರಂಗ ಸಾಧನವು ಮರುಸಂಪರ್ಕದಿಂದ ಬದುಕುಳಿದಾಗ, ಕಸ್ಟಮ್ ಸೆಟಪ್ ಕೋಡ್ ಸ್ಥಾಪಿಸಿದ ಮಾರ್ಗಗಳು ಎರಡನೇ ಸಲದಲ್ಲೂ ಇರಬಹುದು, ಆದ್ದರಿಂದ ಸ್ವಚ್ಛ ಸ್ಥಿತಿಯನ್ನು ಊಹಿಸುವ ಸ್ಕ್ರಿಪ್ಟ್ ಎರಡನೇ ಬಾರಿ ವಿಫಲವಾಗಿ ಮೊದಲ ಬಾರಿ ಕೆಲಸ ಮಾಡುತ್ತದೆ. ಹಳೆಯ ನಮೂದನ್ನು ಉದ್ದೇಶಪೂರ್ವಕವಾಗಿ ಸ್ವಚ್ಛಗೊಳಿಸಿ ಅಥವಾ ಸೆಟಪ್ ಕೋಡ್ ಅನ್ನು ಐಡೆಂಪೊಟೆಂಟ್ ಮಾಡಿ.
block-local ಬೇರೆ ಪ್ರಶ್ನೆಗೆ ಉತ್ತರಿಸುತ್ತದೆ
ಪ್ರೊಫೈಲ್ ಎಲ್ಲಾ ಸಂಚಾರವನ್ನು ಸುರಂಗದ ಮೂಲಕ ಕಳುಹಿಸಿದಾಗ, ಸ್ಥಳೀಯ ನೆಟ್ವರ್ಕ್ಗೆ ಏನಾಗುತ್ತದೆ ಎಂಬುದನ್ನು ಕ್ಲೈಂಟ್ ನಿರ್ಧರಿಸಬೇಕು. block-local ಧ್ವಜವು ಸ್ಥಳೀಯ LAN ಅನ್ನು ಸುರಂಗದ ಮೂಲಕ ಮಾರ್ಗಮಾಡಿಸಿ ಆ ನಿರ್ಧಾರವನ್ನು ಬದಲಿಸುತ್ತದೆ, ಜೊತೆಗೆ LAN ಗೇಟ್ವೇಗೆ ದಾಖಲಾದ ವಿನಾಯಿತಿಯನ್ನು ಉಳಿಸಿಕೊಳ್ಳುತ್ತದೆ; ಇದು ತಲುಪುವಿಕೆಯ ಮೇಲೆ ಗೋಚರ ಪರಿಣಾಮಗಳಿರುವ ಸಂಚಾರ ನೀತಿಯ ಆಯ್ಕೆ.
ಮಾರ್ಗ ಸೇರಿಸುವುದು ಏಕೆ ಅಸ್ತಿತ್ವದಲ್ಲಿರುವ-ನಮೂದು ದೋಷವನ್ನು ಹಿಂತಿರುಗಿಸಿತು ಎಂಬುದನ್ನು ಇದು ವಿವರಿಸುವುದಿಲ್ಲ, ಮತ್ತು ಅದನ್ನು ಸಾರ್ವತ್ರಿಕ ಪರಿಹಾರವೆಂದು ಸ್ವೀಕರಿಸುವುದು ನಿಜವಾದ ಸಂಘರ್ಷವನ್ನು ನೀತಿ ಬದಲಾವಣೆಯ ಹಿಂದೆ ಮರೆಮಾಡುತ್ತದೆ. ಪ್ರೊಫೈಲ್ ಸಂಪಾದನೆಯ ನಂತರ ನಿಮ್ಮ ಸ್ಥಳೀಯ ಸಂಪನ್ಮೂಲಗಳು ತಲುಪಲಾಗದಿದ್ದರೆ, ಈ ಧ್ವಜವು ಮೊದಲು ಪರಿಶೀಲಿಸಬೇಕಾದವುಗಳಲ್ಲಿ ಒಂದು; ಮಾರ್ಗ ಸೇರಿಸುವುದು ವಿಫಲವಾದರೆ, ಇದು ಉತ್ತರವಲ್ಲ.
ಯಾವ ಗಮ್ಯಸ್ಥಾನಗಳು ಸ್ಥಳೀಯವಾಗಿ ಉಳಿಯುತ್ತವೆ ಎಂಬ ನಿರ್ಧಾರವಾಗಿ ಇದನ್ನು ಪರಿಗಣಿಸಿ, ಉದ್ದೇಶಪೂರ್ವಕವಾಗಿ ತೆಗೆದುಕೊಂಡು ಬರೆದಿಡಿ. ಲಾಗ್ ಆತಂಕಕಾರಿಯಾಗಿ ಕಾಣುವಾಗ ಪ್ರಯತ್ನಿಸಬೇಕಾದ ಸ್ವಿಚ್ ಇದಲ್ಲ.
ಚಕ್ರವನ್ನು ಮುಚ್ಚಿ: ನಕಲನ್ನು ಅದರ ಮೂಲದಲ್ಲೇ ತೆಗೆದುಹಾಕಿ
ಯಾವ ಮಾಲೀಕರು ನಮೂದನ್ನು ಹಿಡಿದಿದ್ದಾರೆ ಎಂದು ತಿಳಿದ ನಂತರ, ಸೂಚನೆ ವ್ಯಾಖ್ಯಾನಿಸಲಾದಲ್ಲೇ ನಕಲಿ ಸೂಚನೆಯನ್ನು ತೆಗೆದುಹಾಕಿ. ಅದು ಪ್ರೊಫೈಲ್ನಲ್ಲಿನ route ಸಾಲು, ಸರ್ವರ್ನಿಂದ ಬಂದ push, ಅಥವಾ ಇನ್ನು ಚಲಾಯಿಸಬೇಕಿಲ್ಲದ ಹುಕ್ ಆಗಿರಬಹುದು.
ip -4 route show match 10.40.0.0/16
ip -4 route get 10.40.0.5
journalctl -u openvpn-client@office -b --no-pager | tail -n 15
ನಂತರ ಮತ್ತೆ ಸಂಪರ್ಕಿಸಿ ಮತ್ತು ಮೂರು ವಿಷಯಗಳನ್ನು ಖಚಿತಪಡಿಸಿ: ಸುರಂಗ ಏರುತ್ತದೆ, ಉದ್ದೇಶಿತ ಗಮ್ಯ ನೀವು ಬಯಸಿದ ಮಾರ್ಗಕ್ಕೆ ಪರಿಹರಿಸಲ್ಪಡುತ್ತದೆ, ಮತ್ತು ವಿಫಲತೆ ಅದರ ಜಾಗದಲ್ಲಿ ಹೊಸದು ಬಾರದೆ ಹೋಗುತ್ತದೆ. ತಪ್ಪಾಗಿ ಆಯ್ಕೆಯಾದ ಮಾರ್ಗದೊಂದಿಗೆ ಸ್ವಚ್ಛ ಲಾಗ್ ಪರಿಹಾರವಲ್ಲ.
ಪೂರ್ವಪ್ರತ್ಯಯವು ಒಂದು ಬದಿಯಲ್ಲಿ ಸ್ಥಳೀಯ LAN ಮತ್ತು ಇನ್ನೊಂದು ಬದಿಯಲ್ಲಿ ದೂರದ ನೆಟ್ವರ್ಕ್ ಎಂದು ಅರ್ಥವಾದರೆ, ಸಮಸ್ಯೆ ನಕಲಲ್ಲ ಬದಲಿಗೆ ವಿಳಾಸ ಅತಿಕ್ರಮಣ, ಮತ್ತು ಎಷ್ಟೇ ಅಳಿಸಿದರೂ ಎರಡೂ ಅರ್ಥಗಳು ಒಟ್ಟಿಗೆ ನಿಜವಾಗುವುದಿಲ್ಲ. ಆ ಪ್ರಕರಣಕ್ಕೆ ಎರಡು ನೆಟ್ವರ್ಕ್ಗಳಲ್ಲಿ ಒಂದಕ್ಕೆ ಬೇರೆ ಯೋಜನೆ ಬೇಕು. ಯಾವುದನ್ನೂ ಮುಟ್ಟುವ ಮೊದಲು ಯಾವ ಬದಿಯನ್ನು ಮರುಸಂಖ್ಯೆ ಮಾಡಲಾಗುತ್ತದೆ ಎಂದು ನಿರ್ಧರಿಸಿ.