WireGuard ಹ್ಯಾಂಡ್ಶೇಕ್ ಕೆಲಸ ಮಾಡುತ್ತದೆ ಆದರೆ ಇಂಟರ್ನೆಟ್ ಇಲ್ಲ: ಪ್ಯಾಕೆಟ್ ಟ್ರೇಸ್ ಮಾಡಿ
ಹ್ಯಾಂಡ್ಶೇಕ್ ಕೀಗಳು ಮತ್ತು ತಲುಪುವಿಕೆಯನ್ನು ಮಾತ್ರ ಸಾಬೀತುಪಡಿಸುತ್ತದೆ. AllowedIPs ನಿಂದ ಫಾರ್ವರ್ಡಿಂಗ್, NAT ಮತ್ತು ಹಿಂತಿರುಗುವ ಮಾರ್ಗದ ಮೂಲಕ ಒಂದು ಪ್ಯಾಕೆಟ್ ಟ್ರೇಸ್ ಮಾಡಿ ಅದು ಎಲ್ಲಿ ನಿಲ್ಲುತ್ತದೆ ಎಂದು ನೋಡಿ.
ಸುರಂಗ ಸಕ್ರಿಯವಾಗಿದೆ, wg show ಇತ್ತೀಚಿನ ಹ್ಯಾಂಡ್ಶೇಕ್ ವರದಿ ಮಾಡುತ್ತದೆ, ಸರ್ವರ್ನ ಸುರಂಗ ವಿಳಾಸಕ್ಕೆ ನೀವು ಪಿಂಗ್ ಮಾಡಬಹುದು, ಮತ್ತು ಅದರ ಆಚೆ ಯಾವುದೂ ಉತ್ತರಿಸುವುದಿಲ್ಲ. ಮೊದಲ ಪ್ರವೃತ್ತಿ ಕೀಗಳನ್ನು ಮರುಸೃಷ್ಟಿಸುವುದು ಅಥವಾ ಕಾನ್ಫಿಗ್ ಮತ್ತೆ ಹಂಚಿಕೊಳ್ಳುವುದು. ಅದು ಈಗಾಗಲೇ ಕೆಲಸ ಮಾಡುತ್ತದೆ ಎಂದು ಸಾಬೀತಾಗಿರುವ ಮಾರ್ಗದ ಭಾಗವನ್ನೇ ಬದಲಿಸುತ್ತದೆ.
ಪೂರ್ಣಗೊಂಡ ಹ್ಯಾಂಡ್ಶೇಕ್ ಎರಡೂ ಕಡೆಗಳು ಕೀಗಳ ಬಗ್ಗೆ ಒಪ್ಪುತ್ತವೆ, UDP ಅಂತ್ಯಬಿಂದುವನ್ನು ತಲುಪುತ್ತದೆ, ಮತ್ತು ಕ್ರಿಪ್ಟೊ ರೂಟಿಂಗ್ ಪ್ಯಾಕೆಟ್ ಸ್ವೀಕರಿಸುತ್ತದೆ ಎಂದು ಹೇಳುತ್ತದೆ. ಪ್ಯಾಕೆಟ್ ನಂತರ ಸರ್ವರ್ನಿಂದ ಹೊರಬರಬಹುದೇ ಎಂದು ಅದು ಏನೂ ಹೇಳುವುದಿಲ್ಲ.
ಆದ್ದರಿಂದ ಊಹಿಸುವ ಬದಲು ಒಂದು ಪ್ಯಾಕೆಟ್ ಅನ್ನು ಅನುಸರಿಸಿ. ಅದು ಸಾಯಬಹುದಾದ ನಾಲ್ಕು ಸ್ಥಳಗಳಿವೆ, ಮತ್ತು ಪ್ರತಿಯೊಂದೂ ಬೇರೆ ಕುರುಹು ಬಿಡುತ್ತದೆ.
ಹ್ಯಾಂಡ್ಶೇಕ್ ವಾಸ್ತವವಾಗಿ ಏನನ್ನು ಸಾಬೀತುಪಡಿಸುತ್ತದೆ
WireGuard ಒಂದು UDP ಪ್ರೋಟೋಕಾಲ್ ಆಗಿದ್ದು, Noise ಹ್ಯಾಂಡ್ಶೇಕ್ನಿಂದ ಸೆಷನ್ ಸ್ಥಾಪಿಸಿ ನಂತರ ಪೀರ್ಗಾಗಿ ಪ್ಯಾಕೆಟ್ಗಳನ್ನು ಎನ್ಕ್ರಿಪ್ಟ್ ಮಾಡುತ್ತದೆ. wg show ಕೆಲವು ಸೆಕೆಂಡ್ಗಳ ಹ್ಯಾಂಡ್ಶೇಕ್ ಮತ್ತು ಏರುತ್ತಿರುವ ವರ್ಗಾವಣೆ ಕೌಂಟರ್ ತೋರಿಸಿದಾಗ, ಅಂತ್ಯಬಿಂದು, ಕೀಗಳು ಮತ್ತು ಪೀರ್ನ ಸಾರ್ವಜನಿಕ ಕೀ ಎಲ್ಲವೂ ಸರಿಯಾಗಿವೆ.
ಅದು ಸಾಬೀತುಪಡಿಸದಿರುವುದು: ನಿಮ್ಮ ಕ್ಲೈಂಟ್ ಇಂಟರ್ನೆಟ್ಗೆ ಹೋಗುವ ಟ್ರಾಫಿಕ್ ಅನ್ನು ಇಂಟರ್ಫೇಸ್ಗೆ ಕಳುಹಿಸುತ್ತದೆಯೇ, ಸರ್ವರ್ ಅದನ್ನು ಫಾರ್ವರ್ಡ್ ಮಾಡಲು ಸಿದ್ಧವಿದೆಯೇ, ಅಥವಾ ಉತ್ತರವು ಹಿಂತಿರುಗುವ ದಾರಿ ಕಂಡುಕೊಳ್ಳಬಹುದೇ ಎಂಬುದನ್ನು. ಇವು ಕರ್ನಲ್ ರೂಟಿಂಗ್ ಮತ್ತು ಫೈರ್ವಾಲ್ ನಿರ್ಧಾರಗಳು, ಮತ್ತು ಅವು ಸುರಂಗದ ಹೊರಗೆ ತೆಗೆದುಕೊಳ್ಳಲಾಗುತ್ತವೆ.
ಸರ್ವರ್ನ ಸುರಂಗ ವಿಳಾಸಕ್ಕೆ ಪಿಂಗ್ ಮಾಡುವುದು ಅಷ್ಟು ದಾರಿತಪ್ಪಿಸುವ ಪರೀಕ್ಷೆಯಾಗುವುದು ಇದಕ್ಕೇ. ಆ ಪ್ಯಾಕೆಟ್ ಸರ್ವರ್ಗೆ ನೇರವಾಗಿ ಉದ್ದೇಶಿಸಲಾಗಿದೆ, ಆದ್ದರಿಂದ ಅದು ಸ್ಥಳೀಯವಾಗಿ ಕೊನೆಗೊಳ್ಳುತ್ತದೆ. ಅದಕ್ಕೆ ಎಂದಿಗೂ ಫಾರ್ವರ್ಡಿಂಗ್ ಬೇಕಿಲ್ಲ, ಎಂದಿಗೂ ಅನುವಾದ ಬೇಕಿಲ್ಲ, ಮತ್ತು ಎಂದಿಗೂ ಇಂಟರ್ನೆಟ್ನಿಂದ ಹಿಂತಿರುಗುವ ಮಾರ್ಗ ಬೇಕಿಲ್ಲ.
AllowedIPs ಒಂದು ರೂಟಿಂಗ್ ನಿರ್ಧಾರ
ಕ್ಲೈಂಟ್ನಲ್ಲಿ AllowedIPs ಎರಡು ಕೆಲಸ ಮಾಡುತ್ತದೆ. ಯಾವ ಗಮ್ಯಸ್ಥಾನ ವಿಳಾಸಗಳು ಈ ಪೀರ್ನ ಸುರಂಗಕ್ಕೆ ಹೋಗುತ್ತವೆ ಎಂದು ನಿರ್ಧರಿಸುವ ಕ್ರಿಪ್ಟೊಕೀ ರೂಟಿಂಗ್ ಕೋಷ್ಟಕ ಇದು, ಮತ್ತು ಪೀರ್ ನಿಮ್ಮಿಂದ ಸ್ವೀಕರಿಸುವ ಮೂಲ ವಿಳಾಸಗಳ ಪಟ್ಟಿ ಕೂಡ ಇದು. ಕ್ಲೈಂಟ್ ಕಾನ್ಫಿಗ್ನಲ್ಲಿ 10.8.0.0/24 ಮಾತ್ರ ಇದ್ದರೆ, ಸಾರ್ವಜನಿಕ ಗಮ್ಯಸ್ಥಾನಗಳು ಎಂದಿಗೂ ಇಂಟರ್ಫೇಸ್ಗೆ ಬರುವುದಿಲ್ಲ ಮತ್ತು ನಿಮ್ಮ ಸಾಮಾನ್ಯ ಡೀಫಾಲ್ಟ್ ಮಾರ್ಗ ಅವನ್ನು ಸುರಂಗದ ಹೊರಗೆ ಒಯ್ಯುತ್ತದೆ. ಆಗ ಸುರಂಗ ಪರಿಪೂರ್ಣವಾಗಿ ಕೆಲಸ ಮಾಡುತ್ತದೆ ಮತ್ತು ನೀವು ಬಯಸಿದ ಯಾವುದನ್ನೂ ಮಾಡುವುದಿಲ್ಲ.
ಕಾನ್ಫಿಗ್ ಫೈಲ್ ಏನು ಹೇಳುತ್ತದೆ ಎಂಬುದಲ್ಲ, ಕ್ಲೈಂಟ್ ವಾಸ್ತವವಾಗಿ ಏನನ್ನು ಸ್ಥಾಪಿಸಿದೆ ಎಂಬುದನ್ನು ನೋಡಿ:
wg show wg0 allowed-ipsip route get 1.1.1.1
ಎರಡನೇ ಆಜ್ಞೆಯೇ ನಿರ್ಣಾಯಕ. ಉತ್ತರ ನಿಮ್ಮ ಭೌತಿಕ ಇಂಟರ್ಫೇಸ್ ಮತ್ತು ಸಾಮಾನ್ಯ ಗೇಟ್ವೇ ಹೆಸರಿಸಿದರೆ, ಪ್ಯಾಕೆಟ್ ಸುರಂಗದ ಮೂಲಕ ಹೋಗುತ್ತಿಲ್ಲ ಮತ್ತು ಸರ್ವರ್ ಬದಿಯ ಯಾವುದೇ ಬದಲಾವಣೆ ಅದನ್ನು ಸರಿಪಡಿಸುವುದಿಲ್ಲ. IPv4 ಗೆ 0.0.0.0/0 ಮತ್ತು IPv6 ಗೆ ::/0 ಪ್ರತ್ಯೇಕವಾಗಿ ಸೇರಿಸಿ; ಒಂದು ಕುಟುಂಬಕ್ಕೆ ಎಲ್ಲವನ್ನೂ ಹಿಡಿಯುವ ನಿಯಮ ಇನ್ನೊಂದನ್ನು ಅದರ ಮೂಲ ಮಾರ್ಗದಲ್ಲೇ ಬಿಡುತ್ತದೆ, ಮತ್ತು ಇದು ಕೆಲಸ ಮಾಡುವ IPv4 ಸುರಂಗ ಮತ್ತು ನಿಂತಿರುವ IPv6 ಹುಡುಕಾಟದ ಸಾಮಾನ್ಯ ಕಾರಣ.
ಗೇಟ್ವೇಯಲ್ಲಿ ಪ್ಯಾಕೆಟ್ ಎಲ್ಲಿ ಸಾಯುತ್ತದೆ
ಮಾರ್ಗ ಸರಿಯಾಗಿದ್ದರೂ ಪ್ಯಾಕೆಟ್ ಇನ್ನೂ ಎಲ್ಲಿಗೂ ಹೋಗದಿದ್ದರೆ, ಅದು ಸರ್ವರ್ ತಲುಪಿ ಅಲ್ಲೇ ನಿಲ್ಲುತ್ತದೆ. ನಾಲ್ಕು ಪರಿಶೀಲನೆಗಳು ಹೆಚ್ಚಿನ ಗೇಟ್ವೇಗಳನ್ನು ಒಳಗೊಳ್ಳುತ್ತವೆ.
ಫಾರ್ವರ್ಡಿಂಗ್. sysctl net.ipv4.ip_forward 0 ಹಿಂತಿರುಗಿಸುವುದು ಕ್ಲಾಸಿಕ್ ಉತ್ತರ, ಮತ್ತು ಅನೇಕ ವಿತರಣೆಗಳು ಇನ್ನೂ ಡೀಫಾಲ್ಟ್ ಆಗಿ 0 ನಲ್ಲಿವೆ. ಅದು 1 ಆಗಿರಬೇಕು, ಮತ್ತು ಮರುಬೂಟ್ನಲ್ಲಿ ಮಾಯವಾಗುವ ಆಜ್ಞೆಯ ಬದಲು sysctl ಫೈಲ್ನಲ್ಲಿ ಶಾಶ್ವತವಾಗಿ ಸೆಟ್ ಮಾಡಬೇಕು. IPv6 ಫಾರ್ವರ್ಡಿಂಗ್ ಪ್ರತ್ಯೇಕ ಸ್ವಿಚ್.
ಫಿಲ್ಟರ್ ನೀತಿ. ಡೀಫಾಲ್ಟ್ ಡ್ರಾಪ್ ನೀತಿಯ FORWARD ಸರಪಳಿ ಸುರಂಗದ ಟ್ರಾಫಿಕ್ ಅನ್ನು ಬಿಸಾಡುತ್ತದೆ, ಆದರೆ ಹೋಸ್ಟ್ಗೆ ಹೋಗುವ ಟ್ರಾಫಿಕ್ ಅನ್ನು ಅನುಮತಿಸುತ್ತದೆ, ಇದು ಲಕ್ಷಣಕ್ಕೆ ನಿಖರವಾಗಿ ಹೊಂದುತ್ತದೆ. ಉಳಿಸಿದ ಫೈಲ್ ಅಲ್ಲ, ಜೀವಂತ ನಿಯಮಗಳ ಗುಂಪನ್ನು ಓದಿ: nft list ruleset ಅಥವಾ iptables -S.
ಅನುವಾದ ಅಥವಾ ರೂಟಿಂಗ್. ಖಾಸಗಿ ಸುರಂಗ ವಿಳಾಸಗಳನ್ನು ಬಳಸುವ ಕ್ಲೈಂಟ್ಗಳಿಗೆ ಸರ್ವರ್ನ ನಿರ್ಗಮನ ಇಂಟರ್ಫೇಸ್ನಲ್ಲಿ ಮೂಲ NAT ಬೇಕು, ಅಥವಾ ಮೇಲಿನ ನೆಟ್ವರ್ಕ್ ಹಿಂತಿರುಗಿಸಲು ತಿಳಿದಿರುವ ರೂಟ್ ಮಾಡಿದ ಪ್ರಿಫಿಕ್ಸ್ ಬೇಕು. ಇವೆರಡರ ನಡುವಿನ ಆಯ್ಕೆ ವಿಳಾಸ ಯೋಜನೆಯನ್ನು ಅನುಸರಿಸುತ್ತದೆ. ನಿಮ್ಮ ಪ್ರಿಫಿಕ್ಸ್ ಅನ್ನು ಈಗಾಗಲೇ ಹಿಂತಿರುಗಿಸುವ ನೆಟ್ವರ್ಕ್ಗೆ MASQUERADE ಸೇರಿಸುವುದು ಹಾನಿಕಾರಕವಲ್ಲ ಆದರೆ ಅರ್ಥಹೀನ, ಮತ್ತು ಮಾರ್ಗವಿಲ್ಲದಲ್ಲಿ ಅದನ್ನು ಬಿಟ್ಟುಬಿಡುವುದು ಉತ್ತರಗಳನ್ನು ರೂಟ್ ಮಾಡಲಾಗದ ಖಾಸಗಿ ಶ್ರೇಣಿಗೆ ಉದ್ದೇಶಿಸಿದಂತೆ ಬಿಡುತ್ತದೆ.
ಹಿಂತಿರುಗುವ ಮಾರ್ಗ. ರೂಟ್ ಮಾಡಿದ ವಿನ್ಯಾಸಗಳಲ್ಲಿ ಮೇಲಿನ ರೌಟರ್ಗೆ ನಿಮ್ಮ ಸರ್ವರ್ ಕಡೆಗೆ ತೋರಿಸುವ ಮಾರ್ಗ ಬೇಕು. ಪೂರೈಕೆದಾರರ ನೆಟ್ವರ್ಕ್ ಕೂಡ ಅದನ್ನು ತಡೆಯಬಹುದು: ಹಲವು ಕ್ಲೌಡ್ಗಳು ಇನ್ಸ್ಟಾನ್ಸ್ನಲ್ಲಿ ಮೂಲ ಮತ್ತು ಗಮ್ಯಸ್ಥಾನ ಪರಿಶೀಲನೆಯನ್ನು ಆನ್ ಮಾಡುತ್ತವೆ, ಅದು ಮೂಲವು ಇನ್ಸ್ಟಾನ್ಸ್ನ ಸ್ವಂತ ವಿಳಾಸವಲ್ಲದ ಪ್ಯಾಕೆಟ್ಗಳನ್ನು ಆ ಪರಿಶೀಲನೆ ನಿಷ್ಕ್ರಿಯವಾಗುವವರೆಗೆ ಸದ್ದಿಲ್ಲದೆ ಬಿಸಾಡುತ್ತದೆ.
DNS ರೂಟಿಂಗ್ಗಿಂತ ಬೇರೆ ರೀತಿಯಲ್ಲಿ ವಿಫಲವಾಗುತ್ತದೆ
ತಿಳಿದಿರುವ ವಿಳಾಸಕ್ಕೆ ಪ್ಯಾಕೆಟ್ ಮತ್ತು ಹೆಸರಿನ ಹುಡುಕಾಟ ಎರಡು ಪ್ರತ್ಯೇಕ ವೈಫಲ್ಯಗಳು, ಮತ್ತು ದೋಷ ಸಂದೇಶಗಳು ವಿರುದ್ಧ ದಿಕ್ಕುಗಳಲ್ಲಿ ದಾರಿ ತಪ್ಪಿಸುತ್ತವೆ. ping 1.1.1.1 ಕೆಲಸ ಮಾಡಿ ಬ್ರೌಸರ್ ಏನನ್ನೂ ಲೋಡ್ ಮಾಡಲಾಗದಿದ್ದರೆ, ಮಾರ್ಗ ಸರಿಯಾಗಿದೆ ಮತ್ತು ಹೆಸರಿನ ಪರಿಹಾರ ಅಲ್ಲ. ಪಿಂಗ್ ಸ್ವತಃ ವಿಫಲವಾದರೆ, DNS ಅಪ್ರಸ್ತುತ ಮತ್ತು ನೀವು ಹಿಂದಿನ ವಿಭಾಗಕ್ಕೆ ಮರಳಿದ್ದೀರಿ.
wg-quick ಕಾನ್ಫಿಗ್ನ DNS = ಸಾಲಿನಿಂದ ರಿಸಾಲ್ವರ್ ಸೆಟ್ ಮಾಡಬಹುದು, ಮತ್ತು systemd-resolved ಪ್ರತಿ ಲಿಂಕ್ಗೆ ತನ್ನದೇ ವರ್ತನೆ ಹೊಂದಿದೆ. ರಿಸಾಲ್ವರ್ ಅನ್ನು ಸುರಂಗದ ಒಳಗೆ ಮಾತ್ರ ತಲುಪಬಹುದಾದ ವಿಳಾಸದಿಂದ ಬದಲಿಸುವ VPN ಸುರಂಗ ಬಿದ್ದ ಕ್ಷಣ ಪ್ರತಿ ಹುಡುಕಾಟವನ್ನೂ ವಿಫಲಗೊಳಿಸುತ್ತದೆ, ಅದು ಸುರಂಗವೇ ಇಂಟರ್ನೆಟ್ ಮುರಿಯುತ್ತಿರುವಂತೆ ಕಾಣುತ್ತದೆ.
| Symptom | Layer to inspect |
|---|---|
| Tunnel address pings, nothing else does | Client route, then gateway forwarding |
| Public IP pings, hostnames fail | Resolver selection and reachability |
| Handshake completes, no reply ever | FORWARD policy or missing NAT on the server |
| Small requests work, large transfers stall | MTU and TCP MSS clamping |
ಸಾಕ್ಷ್ಯ ನೀಡುವ ಕ್ರಮ
ಮೊದಲು ಕ್ಲೈಂಟ್ ಬದಿಯ ಪರಿಶೀಲನೆ ನಡೆಸಿ, ಏಕೆಂದರೆ ಅದು ಒಂದೇ ಆಜ್ಞೆ ಮತ್ತು ಅರ್ಧ ಸಾಧ್ಯತೆಗಳನ್ನು ತೆಗೆದುಹಾಕುತ್ತದೆ. ನಂತರ ಸರ್ವರ್ ಇಂಟರ್ನೆಟ್ ನಿರ್ಗಮನವಾಗಲು ಉದ್ದೇಶಿಸಿದೆಯೇ ಎಂದು ದೃಢೀಕರಿಸಿ; ಖಾಸಗಿ ಪ್ರವೇಶಕ್ಕಾಗಿ ನಿರ್ಮಿಸಿದ ಗೇಟ್ವೇ ಸಾರ್ವಜನಿಕ ಗಮ್ಯಸ್ಥಾನಗಳು ವಿಫಲವಾದಾಗ ಮುರಿದಿಲ್ಲ.
ಸರ್ವರ್ನಲ್ಲಿ, ಕ್ಲೈಂಟ್ನಿಂದ ಪಿಂಗ್ ಕಳುಹಿಸುವಾಗ ಇಂಟರ್ಫೇಸ್ ಗಮನಿಸಿ: tcpdump -ni wg0 icmp ವಿನಂತಿಯನ್ನು ತೋರಿಸಬೇಕು, ಮತ್ತು tcpdump -ni eth0 icmp ಅದು ಹೊರಹೋಗುತ್ತಿರುವುದನ್ನು ತೋರಿಸಬೇಕು, ಅನುವಾದವಾಗಿರಲಿ ಇಲ್ಲದಿರಲಿ. ಅದು ಮೊದಲನೆಯದರಲ್ಲಿ ಕಾಣಿಸಿ ಎರಡನೆಯದರಲ್ಲಿ ಎಂದಿಗೂ ಕಾಣದಿದ್ದರೆ, ನಿಲ್ಲುವಿಕೆ ಸರ್ವರ್ನಲ್ಲೇ ಸ್ಥಳೀಯ. ಅದು ಹೊರಟು ಉತ್ತರ ಹಿಂತಿರುಗದಿದ್ದರೆ, ಸಮಸ್ಯೆ ಮೇಲಿದೆ, ಮತ್ತು ಅದು ಬೇರೆ ಮಾತು.
ಕೊನೆಗೆ ಸರಿಪಡಿಸುವಿಕೆ ಮರುಬೂಟ್ ಅನ್ನು ದಾಟುವಂತೆ ಮಾಡಿ. ಫಾರ್ವರ್ಡಿಂಗ್ sysctl ಫೈಲ್ಗೆ, ಫೈರ್ವಾಲ್ ನಿಯಮಗಳು ಅವನ್ನು ಲೋಡ್ ಮಾಡುವ ಸೇವೆಗೆ, ಮತ್ತು ಕ್ಲೈಂಟ್ ಮಾರ್ಗಗಳು ಇಂಟರ್ಫೇಸ್ ಎಬ್ಬಿಸುವ ಕಾನ್ಫಿಗ್ಗೆ ಸೇರಬೇಕು, ನೀವು ಮರೆಯುವ ಶೆಲ್ಗೆ ಅಲ್ಲ. ಮತ್ತೆ ಸಂಪರ್ಕಿಸಿ, ಅದೇ ಎರಡು ಪರೀಕ್ಷೆಗಳನ್ನು ಪುನರಾವರ್ತಿಸಿ ಮತ್ತು ಕೌಂಟರ್ಗಳು ಚಲಿಸುತ್ತವೆ ಎಂದು ದೃಢೀಕರಿಸಿ.