TUN ಏನು ಮಾಡುತ್ತದೆ, ಮತ್ತು VPN ಪ್ರೋಟೋಕಾಲ್ ಇನ್ನೂ ಏನು ಮಾಡಬೇಕು
TUN ಕರ್ನೆಲ್ ಮತ್ತು ಪ್ರೋಗ್ರಾಂ ನಡುವೆ IP ಪ್ಯಾಕೆಟ್ಗಳನ್ನು ಸಾಗಿಸುತ್ತದೆ. ಸಾಗಣೆ, ದೃಢೀಕರಣ ಮತ್ತು ಗೂಢಲಿಪೀಕರಣವು ಆ ಪ್ರೋಗ್ರಾಂ ಮಾತನಾಡುವ ಪ್ರೋಟೋಕಾಲ್ನದು.
tun0 ಮತ್ತು VPN ಪ್ರೋಟೋಕಾಲ್ ಅನ್ನು ಒಂದೇ ವಸ್ತುವೆಂದು ಪರಿಗಣಿಸುವುದು ಜನರನ್ನು ತಪ್ಪು ಲಾಗ್ಗೆ ಕಳುಹಿಸುತ್ತದೆ. ಇಂಟರ್ಫೇಸ್ ಒಂದು ಸ್ಥಳೀಯ ಗಡಿಯಾಗಿದ್ದು, ಅಲ್ಲಿ ಬಳಕೆದಾರ ಸ್ಥಳದ ಪ್ರೋಗ್ರಾಂ ಕರ್ನೆಲ್ನೊಂದಿಗೆ IP ಪ್ಯಾಕೆಟ್ಗಳನ್ನು ವಿನಿಮಯ ಮಾಡುತ್ತದೆ. ಪ್ರೋಟೋಕಾಲ್ ಎಂದರೆ ಪ್ಯಾಕೆಟ್ಗಳು ಸಿಕ್ಕ ನಂತರ ಆ ಪ್ರೋಗ್ರಾಂ ಅವುಗಳೊಂದಿಗೆ ಮಾಡುವ ಕೆಲಸ: ಸಾಗಣೆ, ದೃಢೀಕರಣ, ಗೂಢಲಿಪೀಕರಣ ಮತ್ತು ಒಂದು ಸಹವರ್ತಿ. ಸಾಧನವನ್ನು ರಚಿಸುವುದು ಇವುಗಳಲ್ಲಿ ಯಾವುದನ್ನೂ ಆಯ್ಕೆ ಮಾಡುವುದಿಲ್ಲ.
ಎರಡು ಘಟಕಗಳು, ಒಂದು ಪ್ಯಾಕೆಟ್ ಮಾರ್ಗ
ಕರ್ನೆಲ್ ಸಾಧನಕ್ಕೆ IP ಪ್ಯಾಕೆಟ್ ಬರೆಯುತ್ತದೆ, ಮತ್ತು ಪ್ರೋಗ್ರಾಂ ಅದನ್ನು ಫೈಲ್ ಡಿಸ್ಕ್ರಿಪ್ಟರ್ನಿಂದ ಓದುತ್ತದೆ. ಇನ್ನೊಂದು ದಿಕ್ಕಿನಲ್ಲಿ ಪ್ರೋಗ್ರಾಂ ಪ್ಯಾಕೆಟ್ ಅನ್ನು ಹಿಂತಿರುಗಿ ಬರೆಯುತ್ತದೆ ಮತ್ತು ಕರ್ನೆಲ್ ಅದನ್ನು ನಿಜವಾದ ಇಂಟರ್ಫೇಸ್ಗೆ ಬಂದಂತೆ ರೂಟ್ ಮಾಡುತ್ತದೆ. TUN IP ಸಾಗಿಸುತ್ತದೆ, TAP ಆದರೆ ಈಥರ್ನೆಟ್ ಚೌಕಟ್ಟುಗಳನ್ನು ಸಾಗಿಸುತ್ತದೆ. ಆ ಗಡಿಯಲ್ಲಿ ಪ್ಯಾಕೆಟ್ ಓದುವುದು ಚೌಕಟ್ಟನ್ನು ತೋರಿಸುತ್ತದೆ, ಮತ್ತು ಸಾಧನ ನಿಖರವಾಗಿ ಅದಕ್ಕಾಗಿಯೇ ಇದೆ.
ಆ ಗಡಿಯಾಚೆಗಿನ ಎಲ್ಲವೂ ಪ್ರೋಗ್ರಾಂನ ವ್ಯವಹಾರ. ಎರಡು ಪ್ರೋಗ್ರಾಂಗಳು ಒಂದೇ ಇಂಟರ್ಫೇಸ್ ಪರಿಕಲ್ಪನೆಯನ್ನು ಬಳಸಿ ಪ್ಯಾಕೆಟ್ಗಳೊಂದಿಗೆ ಸಂಪೂರ್ಣವಾಗಿ ಬೇರೆ ಬೇರೆ ಕೆಲಸಗಳನ್ನು ಮಾಡಬಹುದು. ಸಾಧನಕ್ಕೆ ಸ್ವತಃ ಮುಂದೆ ಏನಾಗುತ್ತದೆ ಎಂಬುದರ ಬಗ್ಗೆ ಅಭಿಪ್ರಾಯವಿಲ್ಲ. ಫೈಲ್ ಡಿಸ್ಕ್ರಿಪ್ಟರ್ ಪ್ರೋಗ್ರಾಂ ಕರ್ನೆಲ್ ಬದಿಯಲ್ಲಿ ಹಿಡಿದಿರುವ ಏಕೈಕ ಹಿಡಿಕೆ.
ಸಾಧನವನ್ನು ರಚಿಸಿ, ನಂತರ ಗಡಿಯನ್ನು ಗಮನಿಸಿ
ಗಡಿಯನ್ನು ಪರೀಕ್ಷಿಸುವಾಗ ಉದ್ದೇಶಪೂರ್ವಕವಾಗಿ ಸಾಧನವನ್ನು ರಚಿಸಿ. ನಿರಂತರ ಸಾಧನವು ಅದನ್ನು ರಚಿಸಿದ ಪ್ರಕ್ರಿಯೆಯ ನಂತರವೂ ಉಳಿಯುತ್ತದೆ, ಇದು ಪ್ರಯೋಗಗಳಿಗೆ ಉಪಯುಕ್ತ ಮತ್ತು ನಂತರ ಗೊಂದಲದ ಸಾಮಾನ್ಯ ಮೂಲ. VPN ಅನ್ನು ದೂಷಿಸುವ ಮೊದಲು ಫ್ಲ್ಯಾಗ್ಗಳು ಮತ್ತು ಮಾಲೀಕರನ್ನು ಪರಿಶೀಲಿಸಿ.
sudo ip tuntap add dev tun9 mode tun user alice
ip -d link show tun9ಲಿಂಕ್ ವಿವರಗಳು ಸಾಧನದ ಪ್ರಕಾರ ಮತ್ತು ಸಂಬಂಧಿತ ಮಾಲೀಕರನ್ನು ತೋರಿಸುತ್ತವೆ. ಯಾವುದೇ ಪ್ರಕ್ರಿಯೆ ಅದನ್ನು ತೆರೆದಿಡದಿದ್ದರೆ, ಅದರೊಳಗೆ ಬರೆಯಲಾದ ಪ್ಯಾಕೆಟ್ಗಳು ಎಲ್ಲಿಗೂ ಹೋಗುವುದಿಲ್ಲ. ಪ್ರಕ್ರಿಯೆ ಸಂಬಂಧವಿಲ್ಲದ ಸಾಧನವು ಲಿಂಕ್ ಪಟ್ಟಿಯಲ್ಲಿ ಆರೋಗ್ಯಕರವಾಗಿ ಕಾಣಬಹುದು ಆದರೆ ಏನನ್ನೂ ರವಾನಿಸುವುದಿಲ್ಲ.
ಇಂಟರ್ಫೇಸ್ ಹೆಸರು ಏನನ್ನು ಭರವಸೆ ನೀಡಲಾಗದು
ಇಂಟರ್ಫೇಸ್ ಹೆಸರು ಗೂಢಲಿಪೀಕರಣ ಅಥವಾ ದೃಢೀಕರಣದ ಬಗ್ಗೆ ಏನನ್ನೂ ಹೇಳುವುದಿಲ್ಲ. ಪ್ರೋಗ್ರಾಂ ಪ್ಯಾಕೆಟ್ಗಳನ್ನು TLS ನಲ್ಲಿ, ತನ್ನದೇ ಪ್ರೋಟೋಕಾಲ್ನಲ್ಲಿ, IPsec ನಲ್ಲಿ ಅಥವಾ ಏನೂ ಇಲ್ಲದಂತೆ ಸುತ್ತಬಹುದು. TAP ಬದಲು TUN ಆಯ್ಕೆ ಮಾಡುವುದು ಗಡಿಯಲ್ಲಿ ಚೌಕಟ್ಟನ್ನು ಬದಲಿಸುತ್ತದೆ, ಭದ್ರತಾ ವಿನ್ಯಾಸವನ್ನಲ್ಲ. ಚೌಕಟ್ಟಿನ ಆಯ್ಕೆ ನಿಜವಾದದ್ದು, ಮತ್ತು ಅದು ಭದ್ರತಾ ಪ್ರಶ್ನೆಗಿಂತ ಬಹಳ ಚಿಕ್ಕದು.
ಪತ್ತೆ ಕೂಡ ಅದೇ ರೀತಿ ಕೆಲಸ ಮಾಡುತ್ತದೆ: ವೀಕ್ಷಕನು ತಂತಿಯ ಮೇಲೆ ಹೊರ ಪ್ರೋಟೋಕಾಲ್ ಅನ್ನು ನೋಡುತ್ತಾನೆ, ಯಾವ ಸ್ಥಳೀಯ ಸಾಧನ ಅದನ್ನು ಉತ್ಪಾದಿಸಿತು ಎಂದು ಹೇಳುವ ಲೇಬಲ್ ಅನ್ನಲ್ಲ. ಬೇರೆ ಯಾವುದೋ ತರಹ ಕಾಣುವ ಸುರಂಗವು ತನ್ನ ಹೊರ ಪ್ರೋಟೋಕಾಲ್ನಿಂದ ಹಾಗೆ ಮಾಡುತ್ತದೆ, ಇಂಟರ್ಫೇಸ್ ಹೆಸರಿನಿಂದಲ್ಲ. ವೀಕ್ಷಕನು ಯಾವ ಸ್ಥಳೀಯ ಸಾಧನ ಪ್ಯಾಕೆಟ್ ಉತ್ಪಾದಿಸಿತು ಎಂದು ನೋಡಲಾಗದು, ಪ್ಯಾಕೆಟ್ ಹೇಗೆ ಕಾಣುತ್ತದೆ ಎಂಬುದನ್ನು ಮಾತ್ರ ನೋಡಬಹುದು. ಉತ್ಪನ್ನಗಳನ್ನು ಹೋಲಿಸುವಾಗ ಈ ಎರಡು ಪ್ರಶ್ನೆಗಳನ್ನು ಬೇರೆಯಾಗಿ ಇಡಿ, ಏಕೆಂದರೆ ಒಂದು ಉತ್ತರ ಎಂದಿಗೂ ಇನ್ನೊಂದನ್ನು ಸೂಚಿಸುವುದಿಲ್ಲ.
ವಿಫಲವಾಗುವ ಹಂತಕ್ಕೆ ಪರಿಹಾರವನ್ನು ಹೊಂದಿಸಿ
ಏನಾದರೂ ಮುರಿದಾಗ ವೈಫಲ್ಯದ ಹಂತಗಳನ್ನು ಬೇರ್ಪಡಿಸಿ. ಕಾಣೆಯಾದ ಸಾಧನ, ಅನುಮತಿ ದೋಷ ಮತ್ತು ತಿರಸ್ಕರಿಸಿದ ಲಾಗಿನ್ ಬೇರೆ ಬೇರೆ ಸಾಕ್ಷ್ಯ ಮತ್ತು ಬೇರೆ ಬೇರೆ ಪರಿಹಾರ ನೀಡುತ್ತವೆ. ಮೊದಲು ಸ್ಥಳೀಯ ಸ್ಥಿತಿಯನ್ನು ಓದಿ, ನಂತರ ಪ್ರೋಗ್ರಾಂನ ಸ್ವಂತ ಲಾಗ್, ನಂತರ ಸಹವರ್ತಿಯ ದೃಷ್ಟಿಕೋನ. ಏನನ್ನಾದರೂ ಬದಲಿಸುವ ಮೊದಲು ಮೂರನ್ನೂ ಓದಿ.
ip -d link show tun0
journalctl -u openvpn-client@corp --since '10 min ago'ಸಾಧನವು ಅಸ್ತಿತ್ವದಲ್ಲಿದ್ದು ಪ್ರಕ್ರಿಯೆ ಅದನ್ನು ಹಿಡಿದಿದ್ದರೆ, ಸ್ಥಳೀಯ ಗಡಿ ಕೆಲಸ ಮಾಡುತ್ತಿದೆ ಮತ್ತು ಸಮಸ್ಯೆ ಮುಂದಿದೆ. ಸಾಧನವಿಲ್ಲದಿದ್ದರೆ, ಎಷ್ಟೇ ರುಜುವಾತು ಪರಿಶೀಲನೆ ಸಹಾಯ ಮಾಡುವುದಿಲ್ಲ. ನೀವು ಹೆಸರಿಸಬಹುದಾದ ಹಂತವೇ ನೀವು ಪರೀಕ್ಷಿಸಬಹುದಾದ ಹಂತ. TUN/TAP ದಾಖಲೆಗಳು ಗಡಿ ಮತ್ತು ಸಾಧನ ಮಾದರಿಯನ್ನು ವಿವರಿಸುತ್ತವೆ.