ಒಂದು ಕಮಾಂಡ್ VPN ನೇಮ್ಸ್ಪೇಸ್ ಒಳಗೆ 10.8.0.5 ಗೆ ಯಾವುದೇ ದೂರಿಲ್ಲದೆ ತಲುಪುತ್ತದೆ, ಮತ್ತು ಅದೇ ಕಮಾಂಡ್ ಹೋಸ್ಟ್‌ನೇಮ್ ಬಳಸಿದ ಕ್ಷಣದಲ್ಲೇ ವಿಫಲವಾಗುತ್ತದೆ. ನೇಮ್ಸ್ಪೇಸ್‌ಗೆ ತನ್ನದೇ ಇಂಟರ್ಫೇಸ್, ರೂಟ್ ಮತ್ತು ಸಾಕೆಟ್‌ಗಳಿವೆ; ತನ್ನದೇ ರಿಜಾಲ್ವರ್ ಫೈಲ್ ಇಲ್ಲ. ಯಾವುದೋ ಒಂದನ್ನು ಅಲ್ಲಿ ಇಡದ ಹೊರತು, ಒಳಗಿನ ಪ್ರಕ್ರಿಯೆ ಹೋಸ್ಟ್‌ನ /etc/resolv.conf ಓದಿ, ಆ ನೆಟ್‌ವರ್ಕ್ ಸ್ಟ್ಯಾಕ್‌ನಿಂದ ತಲುಪಲಾಗದ ಸರ್ವರ್‌ಗೆ ಕೇಳುತ್ತದೆ.

ಇದು ರೂಟಿಂಗ್ ಸಮಸ್ಯೆ ಅಲ್ಲ, ಫೈಲ್ ಆಯ್ಕೆಯ ಸಮಸ್ಯೆ, ಮತ್ತು ಸಂಖ್ಯಾತ್ಮಕ ಗಮ್ಯವು ಇನ್ನೂ ಕೆಲಸ ಮಾಡುವುದಕ್ಕೆ ಕಾರಣ ಅದೇ.

ಪ್ರಕ್ರಿಯೆ ನಿಜವಾಗಿ ಪಡೆಯುವ ರಿಜಾಲ್ವರ್ ನೋಟವನ್ನು ಪರಿಶೀಲಿಸಿ

ನೀವು ಬಳಸಿದ ಶೆಲ್ ನೀವು ಡೀಬಗ್ ಮಾಡುತ್ತಿರುವ ಪ್ರಕ್ರಿಯೆಗೆ ಸಮವೆಂದು ಭಾವಿಸಬೇಡಿ. ಗ್ರಾಫಿಕಲ್ ಅಪ್ಲಿಕೇಶನ್, systemd ಯುನಿಟ್ ಮತ್ತು ಕಂಟೇನರ್ ಪ್ರತಿಯೊಂದೂ ಬೇರೆ ಮೌಂಟ್ ಅಥವಾ ನೆಟ್‌ವರ್ಕ್ ಸಂದರ್ಭಕ್ಕೆ ಪ್ರವೇಶಿಸಬಹುದು. ಅದೇ ಲಾಂಚ್ ಮಾರ್ಗದ ಮೂಲಕ ಲುಕಪ್ ಚಲಾಯಿಸಿ, ಮತ್ತು ಒಳಗಿನಿಂದ ರಿಜಾಲ್ವರ್ ಫೈಲ್ ಮುದ್ರಿಸಿ.

ip netns add ನಿಂದ ರಚಿಸಿದ ನೇಮ್ಸ್ಪೇಸ್‌ಗೆ ಓದಲು-ಮಾತ್ರ ಪರಿಶೀಲನೆ ಚಿಕ್ಕದು:

ip netns exec vpn cat /etc/resolv.conf

ಫಲಿತಾಂಶವು ತಲುಪಬಹುದಾದ ವಿಳಾಸ, loopback ಸ್ಟಬ್, ಅಥವಾ ಬೇರೆ ತಲುಪುವಿಕೆಯ ಸ್ಥಳಕ್ಕೆ ತೋರಿಸುವ ಸಿಂಬಾಲಿಕ್ ಲಿಂಕ್ ಅನ್ನು ಹೆಸರಿಸುತ್ತದೆಯೇ ಎಂಬುದನ್ನು ಗಮನಿಸಿ.

exec ಸಹಾಯಕ ನಿಜವಾಗಿ ಏನನ್ನು ಮೌಂಟ್ ಮಾಡುತ್ತದೆ

ip-netns ಸಾಧನವು ಪ್ರತಿ ನೇಮ್ಸ್ಪೇಸ್‌ನ ಸಂರಚನೆಯನ್ನು /etc/netns/NAME/ ಅಡಿಯಲ್ಲಿ ದಾಖಲಿಸುತ್ತದೆ. ಅದು ಪ್ರಕ್ರಿಯೆಯನ್ನು ಲಾಂಚ್ ಮಾಡಿದಾಗ, ಸಹಾಯಕವು ಮೌಂಟ್ ನೇಮ್ಸ್ಪೇಸ್ ರಚಿಸಿ ಆ ಫೈಲ್‌ಗಳನ್ನು ಅವುಗಳ ಸಾಮಾನ್ಯ ಮಾರ್ಗಗಳ ಮೇಲೆ bind-mount ಮಾಡುತ್ತದೆ, ಹಾಗಾಗಿ ಪ್ರಕ್ರಿಯೆ ನೇಮ್ಸ್ಪೇಸ್-ನಿರ್ದಿಷ್ಟ ಪ್ರತಿಯನ್ನು ನೋಡುತ್ತದೆ. ಇದು ಈ ನಿರ್ದಿಷ್ಟ ಲಾಂಚರ್‌ನ ಅನುಕೂಲ. unshare ಅಥವಾ ಕಂಟೇನರ್ ರನ್‌ಟೈಮ್‌ನಂತಹ ಬೇರೆ ಮಾರ್ಗದಿಂದ ನೆಟ್‌ವರ್ಕ್ ನೇಮ್ಸ್ಪೇಸ್ ಪ್ರವೇಶಿಸುವುದು ಇದನ್ನು ಸ್ವಯಂಚಾಲಿತವಾಗಿ ಪುನರಾವರ್ತಿಸುವುದಿಲ್ಲ.

ಇಲ್ಲಿ ಬಲೆ loopback ರಿಜಾಲ್ವರ್: 127.0.0.53 ಎಂದರೆ ನೇಮ್ಸ್ಪೇಸ್‌ನ ಸ್ವಂತ loopback, ಹೋಸ್ಟ್‌ನ ಸ್ಟಬ್ ಅಲ್ಲ. ಹೋಸ್ಟ್ ನೇಮ್ಸ್ಪೇಸ್‌ನಲ್ಲಿ ಮಾತ್ರ ಕೇಳುವ ಸ್ಟಬ್ ಹೊಸದರಲ್ಲಿ ಸೇವೆಯಾಗುವುದಿಲ್ಲ.

ನೇಮ್ಸ್ಪೇಸ್ ತಲುಪಬಲ್ಲ ರಿಜಾಲ್ವರ್ ಆಯ್ಕೆಮಾಡಿ

ಫೈಲ್ ಯಾವ ಸರ್ವರ್ ಅನ್ನು ಹೆಸರಿಸಿದರೂ, ಅದಕ್ಕೆ ಆ ನೇಮ್ಸ್ಪೇಸ್‌ನಿಂದ ಇನ್ನೂ ರೂಟ್ ಬೇಕು. ಸಾರ್ವಜನಿಕ ರಿಜಾಲ್ವರ್ ಸಾರ್ವಜನಿಕ ಹೆಸರುಗಳಿಗೆ ಉತ್ತರಿಸಿ ಕೂಡ ಆಂತರಿಕ ವಲಯಕ್ಕೆ ವಿಫಲವಾಗಬಹುದು, ಏಕೆಂದರೆ ಖಾಸಗಿ ಸೇವೆ ಟನೆಲ್ ಮೂಲಕ ಮಾತ್ರ ತಲುಪಬಹುದು. ಲುಕಪ್ ವಿಫಲವಾದ ನಂತರವಲ್ಲ, ವಿಳಾಸದೊಂದಿಗೆ ಅದೇ ಸಮಯದಲ್ಲಿ ರೂಟ್ ಪರಿಶೀಲಿಸಿ.

ತಮ್ಮದೇ ರಿಜಾಲ್ವರ್ ಇರುವ ಅಪ್ಲಿಕೇಶನ್‌ಗಳು, ಉದಾಹರಣೆಗೆ DNS over HTTPS ಬಳಸುವ ಒಂದು, ಫೈಲ್ ಅನ್ನು ಸಂಪೂರ್ಣ ನಿರ್ಲಕ್ಷಿಸಬಹುದು. ಸಾಧನಕ್ಕೆ ತನ್ನದೇ DNS ಸೆಟ್ಟಿಂಗ್ ಇದ್ದರೆ, resolv.conf ಬದಲಾಯಿಸಿದರೂ ಅದಕ್ಕೆ ಪರಿಣಾಮವಾಗುವುದಿಲ್ಲ, ಮತ್ತು ನೇಮ್ಸ್ಪೇಸ್ ಎಂದೂ ಸಮಸ್ಯೆಯಾಗಿರಲಿಲ್ಲ.

ಫೈಲ್ ಸರಿಯಾದ ಸ್ಥಳದಲ್ಲಿ ಬರೆಯಿರಿ

/etc/netns/NAME/resolv.conf ಅಡಿಯಲ್ಲಿ ನೇಮ್ಸ್ಪೇಸ್-ನಿರ್ದಿಷ್ಟ ಫೈಲ್ ರಚಿಸಿ ಮತ್ತು ಲಾಂಚರ್ ಅದನ್ನು ಪ್ರಸ್ತುತಪಡಿಸಲಿ. ಅದನ್ನು ಕನಿಷ್ಠವಾಗಿ ಇರಿಸಿ: ಒಂದು ಅಥವಾ ಎರಡು ತಲುಪಬಹುದಾದ ಸರ್ವರ್‌ಗಳು ಮತ್ತು ಕಾರ್ಯಕ್ಕೆ ಬೇಕಾದ ಹುಡುಕಾಟ ಡೊಮೇನ್‌ಗಳು. ಒಂದು ಗುಂಪಿನ ಪ್ರಕ್ರಿಯೆಗಳಿಗೆ ಉದ್ದೇಶಿಸಿದ ನೋಟವನ್ನು ಸರಿಪಡಿಸಲು ಹೋಸ್ಟ್‌ನ ರಚಿಸಲಾದ ರಿಜಾಲ್ವರ್ ಫೈಲ್ ಸಂಪಾದಿಸಬೇಡಿ, ಏಕೆಂದರೆ ಅದು ಯಂತ್ರದ ಪ್ರತಿ ಅಪ್ಲಿಕೇಶನ್ ಅನ್ನು ಬದಲಿಸುತ್ತದೆ. ಹೋಸ್ಟ್ ರಿಜಾಲ್ವರ್ ಮ್ಯಾನೇಜರ್ ಬಳಸಿದರೆ, ಅದರ ವಿರುದ್ಧ ಹೋರಾಡುವ ಬದಲು ಆ ಮ್ಯಾನೇಜರ್ ಮೂಲಕ ನೇಮ್ಸ್ಪೇಸ್ ಮಾರ್ಗವನ್ನು ಸಂರಚಿಸಿ.

ಫೈಲ್‌ನ ವಿಷಯವನ್ನು ರನ್‌ಬುಕ್‌ನಲ್ಲಿ ದಾಖಲಿಸಿ. ಇಲ್ಲದಿದ್ದರೆ ಮುಂದಿನ ವ್ಯಕ್ತಿ ಹೋಸ್ಟ್‌ನ ರಿಜಾಲ್ವರ್ ಪರೀಕ್ಷಿಸಿ, ಕೆಲಸ ಮಾಡುವ ಉತ್ತರ ಕಂಡು ನೇಮ್ಸ್ಪೇಸ್ ಸರಿಯಾಗಿದೆ ಎಂದು ತೀರ್ಮಾನಿಸುತ್ತಾರೆ.

ಇಡೀ ಮಾರ್ಗವನ್ನು ಮತ್ತೆ ಪರೀಕ್ಷಿಸಿ

ನೇಮ್ಸ್ಪೇಸ್ ಒಳಗೆ ಸಂಖ್ಯಾತ್ಮಕ ವಿಳಾಸ, ಆಂತರಿಕ ಹೆಸರು ಮತ್ತು ಸಾರ್ವಜನಿಕ ಹೆಸರಿನೊಂದಿಗೆ ಪರೀಕ್ಷಿಸಿ. ಈ ಕ್ರಮವು ತಲುಪುವಿಕೆಯನ್ನು ರಿಜಾಲ್ಯೂಶನ್‌ನಿಂದ ಬೇರ್ಪಡಿಸುತ್ತದೆ ಮತ್ತು ಆಂತರಿಕ ವಲಯಗಳನ್ನು ಸಾರ್ವಜನಿಕ ವಲಯಗಳಿಂದ ಬೇರ್ಪಡಿಸುತ್ತದೆ. ನಂತರ ನೇಮ್ಸ್ಪೇಸ್ ಮತ್ತೆ ರಚಿಸಿ ಪುನರಾವರ್ತಿಸಿ, ಏಕೆಂದರೆ ಚಾಲಿತ ಇನ್‌ಸ್ಟಾನ್ಸ್‌ನಲ್ಲಿ ಮಾತ್ರ ಇರುವ ಫೈಲ್ ಅದರೊಂದಿಗೆ ಮಾಯವಾಗುತ್ತದೆ.

ಫೈಲ್ ಅನ್ನು ಶೆಲ್ ಅಲ್ಲ, ಪ್ರಕ್ರಿಯೆ ಪಡೆಯುತ್ತಿದೆ ಎಂದು ಖಚಿತಪಡಿಸಿ. ಇಂಟರ್ಯಾಕ್ಟಿವ್ ಶೆಲ್‌ನಿಂದ ಕೆಲಸ ಮಾಡಿ ಸೇವೆಯಿಂದ ವಿಫಲವಾಗುವ ಲುಕಪ್ ಮೌಂಟ್-ಸಂದರ್ಭದ ಕುರಿತ ತೀರ್ಮಾನವಾಗಿದೆ, ಮತ್ತು ಮುಂದಿನ ಘಟನೆಗೆ ಮೊದಲು ಅದನ್ನು ಶೂನ್ಯದಿಂದ ಮತ್ತೆ ಕಂಡುಹಿಡಿಯುವ ಬದಲು ಬರೆದಿಡುವುದು ಉತ್ತಮ.

ಸಂಬಂಧಿತ ಲೇಖನಗಳು