OpenVPN AF_INET ಎಚ್ಚರಿಕೆ: ನಿರುಪದ್ರವ ಫಾಲ್ಬ್ಯಾಕ್ ಅಥವಾ ವಿಫಲ ಸಾಕೆಟ್?
AF_INET ಫಾಲ್ಬ್ಯಾಕ್ ಅನ್ನು ನಂತರದ ಸಾಕೆಟ್ ರಚನೆ ವೈಫಲ್ಯದಿಂದ ಪ್ರತ್ಯೇಕಿಸಿ: ನಿಖರ ಸಾಲನ್ನು ಓದಿ, ನಂತರ ಆಲಿಸುವವರು ಮತ್ತು ಮುಂದಿನ ದೋಷವನ್ನು ಪರಿಶೀಲಿಸಿ.
OpenVPN ನ ಎರಡು ಲಾಗ್ ಸಾಲುಗಳು ಒಂದೇ ಪದಗಳಿಂದ ಪ್ರಾರಂಭವಾಗುತ್ತವೆ, ಮತ್ತು ಅವುಗಳಲ್ಲಿ ಒಂದೇ ಸಮಸ್ಯೆಯನ್ನು ವರದಿ ಮಾಡುತ್ತದೆ. Could not determine IPv4/IPv6 protocol. Using AF_INET ಫಾಲ್ಬ್ಯಾಕ್ ಸೂಚನೆಯಾಗಿದೆ: ಪ್ರೊಫೈಲ್ ವಿಳಾಸ ಕುಟುಂಬವನ್ನು ತೆರೆದಿಟ್ಟಿತು, ಆದ್ದರಿಂದ ಡೀಮನ್ ಒಂದನ್ನು ಆಯ್ಕೆ ಮಾಡಿ ಮುಂದುವರಿಯಿತು. ವೈಫಲ್ಯದ ಶಾಖೆಯು ಯಾವುದೇ ಸಾಕೆಟ್ ರಚಿಸಲಿಲ್ಲ ಎಂದು ವರದಿ ಮಾಡಿ ಮರುಪ್ರಾರಂಭವನ್ನು ಕೇಳುತ್ತದೆ. ಸಾಮಾನ್ಯ ಪೂರ್ವಪ್ರತ್ಯಯದ ನಂತರದ ಎಲ್ಲವೂ ಅವುಗಳನ್ನು ಬೇರ್ಪಡಿಸುತ್ತದೆ, ಆದ್ದರಿಂದ ಏನನ್ನಾದರೂ ಬದಲಿಸುವ ಮೊದಲು ಅದರಾಚೆಗೆ ಓದಿ.
ಫಾಲ್ಬ್ಯಾಕ್ ಸೂಚನೆ ಏನನ್ನು ವರದಿ ಮಾಡುತ್ತದೆ
OpenVPN proto udp4 ಅಥವಾ proto udp6 ಮೂಲಕ ಸ್ಪಷ್ಟ ಕುಟುಂಬವನ್ನು ಸ್ವೀಕರಿಸುತ್ತದೆ, ಮತ್ತು ಪ್ರಾರಂಭದಲ್ಲಿ ಕುಟುಂಬವನ್ನು ಪಡೆಯಬೇಕಾದಾಗ proto udp ಸ್ವೀಕರಿಸುತ್ತದೆ. ಎರಡನೆಯ ಸಂದರ್ಭದಲ್ಲಿ ಡೀಮನ್ ಸ್ಥಳೀಯ ಬೈಂಡ್ ಮಾಹಿತಿಯನ್ನು ಪರಿಶೀಲಿಸಿ ಆಯ್ಕೆ ಮಾಡುತ್ತದೆ.
ಆ ಪಡೆಯುವಿಕೆ ಕೆಲಸ ಮಾಡಿದಾಗ, ಎಚ್ಚರಿಕೆ ಯಾವ ದಿಕ್ಕಿಗೆ ಹೋಯಿತು ಎಂದು ಹೇಳುತ್ತದೆ ಮತ್ತು ಪ್ರಕ್ರಿಯೆ ಸಾಕೆಟ್ ರಚಿಸುವುದನ್ನು ಮುಂದುವರಿಸುತ್ತದೆ. ದ್ವಿ-ಸ್ಟಾಕ್ ಹೋಸ್ಟ್ನಲ್ಲಿ proto udp ಹೊಂದಿರುವ ಸರ್ವರ್ ಹೀಗೆ ಆಗಾಗ್ಗೆ IPv4 ಗೆ ಬರುತ್ತದೆ. ಆ ಮಾರ್ಗದಲ್ಲಿ ಏನೂ ದೋಷವಲ್ಲ, ಮತ್ತು ಅದರಲ್ಲಿ ಏನೂ ದಾಳಿ, ಕಾಣೆಯಾದ ವೆಬ್ ಸರ್ವರ್ ಅಥವಾ ತಿರಸ್ಕರಿಸಿದ ಖಾತೆಯನ್ನು ಸೂಚಿಸುವುದಿಲ್ಲ. ಸಾಲು ಉಪಯುಕ್ತವಾಗುವುದು ಕೇವಲ ನಂತರದ ಪರಿಶೀಲನೆಗಳನ್ನು ಅದು ಹೆಸರಿಸುವ ಕುಟುಂಬದೊಂದಿಗೆ ಹೋಲಿಸಬೇಕಾದ್ದರಿಂದ.
ಅದನ್ನು ಒಂದು ಪ್ರಶ್ನೆಗೆ ಉತ್ತರವೆಂದು ಪರಿಗಣಿಸಿ, ರೋಗನಿರ್ಣಯವಲ್ಲ. ಇದು ಯಾವ ಕುಟುಂಬವನ್ನು ಈ ಪ್ರಕ್ರಿಯೆ ಆಯ್ಕೆ ಮಾಡಿತು ಎಂದು ಹೇಳುತ್ತದೆ, ಮತ್ತು ಕ್ಲೈಂಟ್ ಏಕೆ ಸಂಪರ್ಕಿಸಲು ಸಾಧ್ಯವಿಲ್ಲ ಎಂಬುದರ ಬಗ್ಗೆ ಏನೂ ಹೇಳುವುದಿಲ್ಲ.
ವೈಫಲ್ಯದ ಶಾಖೆ ಹೇಗೆ ಕಾಣುತ್ತದೆ
ನಂತರ ಅದೇ ಸಾಕೆಟ್ ಕೋಡ್ನಲ್ಲಿ ಸಾಕೆಟ್ ಇಲ್ಲದ ಶಾಖೆ ಇದೆ. ಅದು ಚಿಕ್ಕ ವಿಳಾಸ-ಕುಟುಂಬ ಸಂದೇಶವನ್ನು ಲಾಗ್ ಮಾಡಿ ಮರುಪ್ರಾರಂಭವನ್ನು ಕೇಳುತ್ತದೆ, ಏಕೆಂದರೆ ಮುಂದುವರಿಯಲು ಏನೂ ಉಳಿದಿಲ್ಲ. ಆರಂಭದ ಪದಗಳು ಫಾಲ್ಬ್ಯಾಕ್ನೊಂದಿಗೆ ಹೊಂದುತ್ತವೆ; ಫಲಿತಾಂಶ ಹೊಂದುವುದಿಲ್ಲ.
ಅವುಗಳನ್ನು ಮುಂದೆ ಏನು ಬರುತ್ತದೆ ಎಂಬುದರಿಂದ ಪ್ರತ್ಯೇಕಿಸಿ. ಡೀಮನ್ ಚಾಲನೆಯಲ್ಲಿದ್ದು ತನ್ನ ಆಲಿಸುವವರನ್ನು ವರದಿ ಮಾಡಿದರೆ, ಸಾಲು ಮಾಹಿತಿಯಾಗಿತ್ತು. ಅದು ನಿರ್ಗಮಿಸಿದರೆ ಅಥವಾ ಲೂಪ್ನಲ್ಲಿ ಮರುಪ್ರಾರಂಭವಾದರೆ, ಈಗ ಮಾತು ಬೈಂಡ್ ಬಗ್ಗೆ.
grep ನಲ್ಲಿ ಸಿಕ್ಕಿದ್ದು ಕೂಡ ಶಾಖೆಯ ಗುರುತಿಸುವಿಕೆ ಅಲ್ಲ. ಈ ಪದಗುಚ್ಛವು ತಿರುಗುವ ಸಾರಾಂಶಗಳಲ್ಲಿ, ಮಡಚಿದ ಸಾಲುಗಳಲ್ಲಿ ಮತ್ತು ಜನರು ಎರಡನೇ ಕೈಯಿಂದ ಅಂಟಿಸುವ ಲಾಗ್ ತುಣುಕುಗಳಲ್ಲಿ ಕಾಣಿಸುತ್ತದೆ, ಆದ್ದರಿಂದ ಒಂದೇ ಹೊಂದಾಣಿಕೆಯ ಬದಲು ಪಕ್ಕದ ಸಾಲುಗಳು ಮತ್ತು ಸಮಯ ಮುದ್ರೆಗಳ ಕ್ರಮವನ್ನು ಓದಿ.
ಎಚ್ಚರಿಕೆಯ ಬದಲು ಆಲಿಸುವವರನ್ನು ಪರಿಶೀಲಿಸಿ
ಚಾಲನೆಯಲ್ಲಿರುವ ಸರ್ವರ್ ಲಾಗ್ ಪಠ್ಯದಿಂದ ಊಹಿಸದೆ ಕುಟುಂಬದ ಪ್ರಶ್ನೆಗೆ ನೇರವಾಗಿ ಉತ್ತರಿಸುತ್ತದೆ.
ss -lunp | grep openvpn
ss -ltnp | grep openvpnಕುಟುಂಬ, ವಿಳಾಸ ಮತ್ತು ಪೋರ್ಟ್ ಅನ್ನು ಪ್ರೊಫೈಲ್ನೊಂದಿಗೆ ಹೊಂದಿಸಿ. 0.0.0.0:1194 ಸಾಲು ಕೇವಲ IPv4, ಆದರೆ ದ್ವಿ-ಸ್ಟಾಕ್ ಹೋಸ್ಟ್ನಲ್ಲಿ [::]:1194 ಸಾಲು bindv6only ಸೆಟ್ಟಿಂಗ್ ಅನ್ನು ಅವಲಂಬಿಸಿ ಎರಡೂ ಕುಟುಂಬಗಳನ್ನು ಸ್ವೀಕರಿಸಬಹುದು. ಪ್ರೊಫೈಲ್ udp ಎಂದು ಹೇಳಿ ಸಾಕೆಟ್ IPv4 ಆಗಿದ್ದರೆ, ಅವರ ರಿಸಾಲ್ವರ್ ಕೇವಲ AAAA ದಾಖಲೆಯನ್ನು ಹಿಂತಿರುಗಿಸುವ ಕ್ಲೈಂಟ್ಗಳು ಸುರಂಗವನ್ನು ಮಾತುಕತೆ ಮಾಡುವ ಮೊದಲೇ ವಿಫಲವಾಗುತ್ತದೆ.
ನಂತರ ನಿಮ್ಮ ಬಳಕೆದಾರರಂತಹ ಕ್ಲೈಂಟ್ನಿಂದ ಪರೀಕ್ಷಿಸಿ: ಅದೇ ರಿಸಾಲ್ವರ್ ಮಾರ್ಗ, ಅದೇ ರೀತಿಯ ನೆಟ್ವರ್ಕ್. ಸರ್ವರ್ನಿಂದ ಸ್ಥಳೀಯ ಸಂಪರ್ಕವು NAT ಸಾಧನ ಅಥವಾ ಇನ್ನೊಂದು ಕುಟುಂಬಕ್ಕಾಗಿ ಬರೆದ ಫೈರ್ವಾಲ್ ನಿಯಮವನ್ನು ದಾಟುವ ಟ್ರಾಫಿಕ್ ಬಗ್ಗೆ ಬಹಳ ಕಡಿಮೆ ಸಾಬೀತು ಮಾಡುತ್ತದೆ.
ಕುಟುಂಬವನ್ನು ಒತ್ತಾಯಿಸುವುದು ಯಾವಾಗ ಸರಿ
proto udp4 ಪಿನ್ ಮಾಡುವುದು IPv4-ಮಾತ್ರ ನಿಯೋಜನೆಗೆ ಸರಿಹೊಂದುತ್ತದೆ: A ಮಾತ್ರ DNS ಹೆಸರು, ಒಂದು v4 ವಿಳಾಸಕ್ಕೆ ಫೈರ್ವಾಲ್ ನಿಯಮಗಳು, v4 ವಿಳಾಸಗಳನ್ನು ಮಾತ್ರ ನೀಡುವ ಆಪರೇಟರ್ಗಳ ಹಿಂದಿನ ಕ್ಲೈಂಟ್ಗಳು. ಇದು ಅಸ್ಪಷ್ಟತೆಯನ್ನು ತೆಗೆದುಹಾಕಿ ಮುಂದಿನ ಲಾಗ್ ಸಾಲುಗಳ ಗುಂಪನ್ನು ಊಹಿಸಬಹುದಾದಂತೆ ಮಾಡುತ್ತದೆ.
ಅದೇ ವಾದವು IPv6-ಮೊದಲ ಪರಿಸರಕ್ಕೆ ವಿರುದ್ಧ ದಿಕ್ಕಿನಲ್ಲಿ ಕೆಲಸ ಮಾಡುತ್ತದೆ, ಮತ್ತು A ಮಾತ್ರ ಕ್ಲೈಂಟ್ ನೆಲೆಯ ಮುಂದೆ udp6 ಸ್ವಯಂ ಸೃಷ್ಟಿಸಿದ ಅಡಚಣೆ. ನಿರುಪದ್ರವ ಎಚ್ಚರಿಕೆಯನ್ನು ಸುಮ್ಮನಾಗಿಸಲು ಮಾತ್ರ ಕುಟುಂಬವನ್ನು ಒತ್ತಾಯಿಸುವುದು ಈ ತಪ್ಪಿನ ಸಾಂಪ್ರದಾಯಿಕ ರೂಪ, ಏಕೆಂದರೆ ಶಾಂತ ಲಾಗ್ಗೆ ಬದಲಾಗಿ ಯಾರು ಸಂಪರ್ಕಿಸಬಹುದು ಎಂಬುದನ್ನು ನೀವು ಬದಲಿಸಿದ್ದೀರಿ.
ತುದಿ ಬಿಂದುಗಳು ಮತ್ತು ಅವುಗಳನ್ನು ತಲುಪಬೇಕಾದ ಕ್ಲೈಂಟ್ಗಳ ಆಧಾರದ ಮೇಲೆ ಆಯ್ಕೆ ಮಾಡಿ. OpenVPN 2.6 ಕೈಪಿಡಿ ಸಾಗಣೆ ರೂಪಗಳನ್ನು ದಾಖಲಿಸುತ್ತದೆ, ಮತ್ತು ಸಂದೇಶವು ಆ ಆಯ್ಕೆಯ ಔಟ್ಪುಟ್, ಅದರ ಇನ್ಪುಟ್ ಅಲ್ಲ.
ದಾಖಲೆಯನ್ನು ಸಂಕುಚಿತವಾಗಿಡಿ
ನಿಖರ ಸಾಲನ್ನು ಅದರ ಸಮಯ ಮುದ್ರೆಯೊಂದಿಗೆ, ಚಾಲನೆಯಲ್ಲಿರುವ ಪ್ರೊಫೈಲ್ನ ಪರಿಣಾಮಕಾರಿ ಸಾಗಣೆ ಸೆಟ್ಟಿಂಗ್, ಕರ್ನಲ್ ವರದಿ ಮಾಡುವ ಸಾಕೆಟ್, ಮತ್ತು ವಿಫಲವಾದ ಮುಂದಿನ ಹಂತವನ್ನು ಬರೆಯಿರಿ. ಆ ನಾಲ್ಕು ಅಂಶಗಳು ಸಂದೇಶವು ಎತ್ತುವ ಬಹುತೇಕ ಎಲ್ಲಾ ಪ್ರಶ್ನೆಗಳನ್ನು ಪರಿಹರಿಸುತ್ತವೆ, ಮತ್ತು ಅವುಗಳಲ್ಲಿ ಯಾವುದಕ್ಕೂ ಸಂಬಂಧವಿಲ್ಲದ ಸೇವೆಗಳ ಬಗ್ಗೆ ಊಹೆ ಅಗತ್ಯವಿಲ್ಲ. ಅವು ಹಸ್ತಾಂತರದಲ್ಲೂ ಉಳಿಯುತ್ತವೆ, grep ನ ಸ್ಕ್ರೀನ್ಶಾಟ್ ಉಳಿಯುವುದಿಲ್ಲ.
ಈ ಎಚ್ಚರಿಕೆಯೊಂದಿಗೆ ಬರುವ ಪ್ಯಾಕೇಜ್ ಸಲಹೆಗಳು ಯಾವುದೇ ದೋಷವು ಕಾಣೆಯಾದ ಎಕ್ಸಿಕ್ಯೂಟೆಬಲ್ ಅನ್ನು ಹೆಸರಿಸುವವರೆಗೆ ಸಂಬಂಧವಿಲ್ಲದವು.
ifconfig ನಿಜವಾಗಿಯೂ ಇಲ್ಲದಿದ್ದರೆ, ಸ್ಕ್ರಿಪ್ಟ್ ಅದನ್ನು ಕರೆದಾಗ ಡೀಮನ್ ಹೆಸರಿನಿಂದ ಹೇಳುತ್ತದೆ, ಮತ್ತು ಅದು ತನ್ನದೇ ತನಿಖೆಗೆ ಅರ್ಹವಾಗಿದೆ. AF_INET ಸಾಲು ಮತ್ತು ಕಾಣೆಯಾದ ಉಪಯುಕ್ತತೆ ವಿಭಿನ್ನ ವೈಫಲ್ಯಗಳು, ಮತ್ತು ಎಚ್ಚರಿಕೆ ಬದಲಾಗುತ್ತದೆಯೇ ಎಂದು ನೋಡಲು ವಸ್ತುಗಳನ್ನು ಸ್ಥಾಪಿಸುವುದು ಸ್ವಚ್ಛ ಹೋಸ್ಟ್ ಗಲೀಜಾಗುವ ಮಾರ್ಗವಾಗಿದೆ.