ಗೇಟ್ವೇಯಲ್ಲಿ OpenVPN ಕ್ಲೈಂಟ್ನ ಸಂಚಾರವನ್ನು ಎಲ್ಲಿ ನೋಡಬೇಕು
ರೂಟ್ ಮಾಡಿದ VPN ಗೇಟ್ವೇ ಪ್ಯಾಕೆಟ್ಗಳಿಗೆ ಸಾಕೆಟ್ ತೆರೆಯದೆ ಅವುಗಳನ್ನು ಮುಂದೆ ರವಾನಿಸುತ್ತದೆ. ಹರಿವು ಎಲ್ಲಿ ನಡೆಯುತ್ತದೆ ಎಂಬುದರ ಆಧಾರದ ಮೇಲೆ conntrack, ಸೀಮಿತ ಟನೆಲ್ ಕ್ಯಾಪ್ಚರ್ ಅಥವಾ ಪ್ರಾಕ್ಸಿ ಲಾಗ್ಗಳನ್ನು ಆಯ್ಕೆಮಾಡಿ.
ಸಂಪರ್ಕಿತ ಕ್ಲೈಂಟ್ ಯಾವ ಗಮ್ಯಸ್ಥಾನಗಳನ್ನು ತಲುಪುತ್ತದೆ ಎಂದು ತಿಳಿಯಲು ಬಯಸುತ್ತೀರಿ, ಆದ್ದರಿಂದ VPN ಸರ್ವರ್ನಲ್ಲಿ ಶೆಲ್ ತೆರೆದು ss ಎಂದು ಟೈಪ್ ಮಾಡುತ್ತೀರಿ. ಉಪಯುಕ್ತವಾದ ಯಾವುದೂ ಕಾಣಿಸುವುದಿಲ್ಲ, ಮತ್ತು ಟನೆಲ್ ಮುರಿದಿದೆ ಎಂಬ ತೀರ್ಮಾನ ಸ್ವಲ್ಪ ಹೆಚ್ಚು ಸುಲಭವಾಗಿ ಬರುತ್ತದೆ. ರೂಟ್ ಮಾಡಿದ OpenVPN ಗೇಟ್ವೇ ಕ್ಲೈಂಟ್ನ ಪ್ಯಾಕೆಟ್ಗಳನ್ನು ಮುಂದೆ ರವಾನಿಸುತ್ತದೆ; ಅದು ಅವುಗಳ TCP ಸಂಪರ್ಕಗಳನ್ನು ಕೊನೆಗೊಳಿಸುವುದಿಲ್ಲ ಮತ್ತು ಅವುಗಳಿಗೆ ಸಾಕೆಟ್ಗಳನ್ನು ಹೊಂದಿಲ್ಲ. ಸಾಕ್ಷ್ಯ ಬೇರೆಡೆ ವಾಸಿಸುತ್ತದೆ, ಮತ್ತು ಎಲ್ಲಿ ಎಂಬುದು ಟನೆಲ್ ಬಿಟ್ಟ ನಂತರ ಸಂಚಾರವನ್ನು ಹೇಗೆ ನಿರ್ವಹಿಸಲಾಗುತ್ತದೆ ಎಂಬುದರ ಮೇಲೆ ಅವಲಂಬಿತವಾಗಿದೆ.
ನೀವು ಯಾವ ವ್ಯವಸ್ಥೆಯನ್ನು ನೋಡುತ್ತಿದ್ದೀರಿ ಎಂಬುದನ್ನು ನಿರ್ಧರಿಸಿ
ಎರಡು ಸಾಮಾನ್ಯ ರೂಪಗಳು ಸಂಪೂರ್ಣವಾಗಿ ವಿಭಿನ್ನ ಸಾಕ್ಷ್ಯಗಳನ್ನು ನೀಡುತ್ತವೆ. ರೂಟಿಂಗ್ ಗೇಟ್ವೇ ಡೀಕ್ಯಾಪ್ಸುಲೇಟ್ ಮಾಡುತ್ತದೆ, ರವಾನಿಸುತ್ತದೆ ಮತ್ತು ಬಹುಶಃ ಮೂಲ-NAT ಮಾಡುತ್ತದೆ, ಆದ್ದರಿಂದ ಕ್ಲೈಂಟ್ನ ಸಂಪರ್ಕ ಸ್ಥಳೀಯ ಸಾಕೆಟ್ ಇಲ್ಲದೆ ತುದಿಯಿಂದ ತುದಿಯವರೆಗೆ ಉಳಿಯುತ್ತದೆ.
ಪ್ರಾಕ್ಸಿ ಸಂಚಾರವನ್ನು ಕೊನೆಗೊಳಿಸುತ್ತದೆ: ಅದು ಸಂಪರ್ಕವನ್ನು ಸ್ವೀಕರಿಸಿ ನಂತರ ತನ್ನ ಸ್ವಂತ ಮೇಲ್ಮುಖ ಸಂಪರ್ಕವನ್ನು ತೆರೆಯುತ್ತದೆ. ಆ ವ್ಯವಸ್ಥೆಯಲ್ಲಿ ಒಂದು ವಿನಂತಿಗೆ ಎರಡು ಸಂಪರ್ಕಗಳಿರುತ್ತವೆ, ಮತ್ತು ಅವುಗಳ ನಡುವಿನ ಸಂಬಂಧ ಪ್ರಾಕ್ಸಿಯ ಸ್ವಂತ ದಾಖಲೆಗಳಲ್ಲಿ ಮಾತ್ರ ಇರುತ್ತದೆ. ಈ ಎರಡರಲ್ಲಿ ಯಾವುದನ್ನು ನಿಯೋಜಿಸಿದ್ದೀರಿ ಎಂದು ತಿಳಿಯುವುದು ಕರ್ನೆಲ್ನ ಹರಿವಿನ ಸ್ಥಿತಿಯನ್ನು ಓದಬೇಕೋ ಅಥವಾ ಅಪ್ಲಿಕೇಶನ್ ಲಾಗ್ಗಳನ್ನು ಓದಬೇಕೋ ಎಂಬುದನ್ನು ನಿರ್ಧರಿಸುತ್ತದೆ.
ಹೆಚ್ಚಿನ ಗೊಂದಲ ಊಹೆಯಿಂದ ಬರುತ್ತದೆ. ಪರಿಕರವನ್ನು ಆಯ್ಕೆಮಾಡುವ ಮೊದಲು ರೂಪವನ್ನು ದೃಢೀಕರಿಸಿ. ಮೊದಲು ಸರ್ವರ್ ಸಂರಚನೆಯಲ್ಲಿ ಪ್ರಾಕ್ಸಿ ಸೂಚನೆ ಇದೆಯೇ ಎಂದು ಓದಿ, ಏಕೆಂದರೆ ಅದರ ಉಪಸ್ಥಿತಿ ಪ್ರತಿ ಮುಂದಿನ ಹಂತವನ್ನು ಬದಲಿಸುತ್ತದೆ. ಅದಿಲ್ಲದೆ ಪ್ಯಾಕೆಟ್ಗಳ ಮಾರ್ಗ ರೂಟಿಂಗ್ ಆಗಿದೆ ಮತ್ತು ಕರ್ನೆಲ್ನ ಹರಿವಿನ ಸ್ಥಿತಿಯೇ ನಿಮ್ಮ ಸಾಕ್ಷ್ಯ.
ಮೊದಲು ವಿಳಾಸವನ್ನು ಅಧಿವೇಶನಕ್ಕೆ ಜೋಡಿಸಿ
ಸರ್ವರ್ನ ಅಧಿವೇಶನ ಸ್ಥಿತಿಯಿಂದ ಪ್ರಾರಂಭಿಸಿ ಮತ್ತು ಕ್ಲೈಂಟ್ನ ಪ್ರಸ್ತುತ ಒಳಗಿನ ವಿಳಾಸವನ್ನು ಗುರುತಿಸಿ. ಪೂಲ್ ವಿಳಾಸಗಳು ಮರುಬಳಕೆಯಾಗುತ್ತವೆ, ಆದ್ದರಿಂದ ವಿಳಾಸ ಒಂದೇ ಗುತ್ತಿಗೆ, ವ್ಯಕ್ತಿಯಲ್ಲ.
ಸಮಯ ಮತ್ತು ದೃಢೀಕೃತ ಗುರುತನ್ನು ಒಟ್ಟಿಗೆ ದಾಖಲಿಸಿ, ಮತ್ತು ಆ ಕ್ಲೈಂಟ್ನ ಹಿಂದೆ ಇಡೀ ಲ್ಯಾನ್ ಅಡಗಿದೆಯೇ ಎಂದು ಗಮನಿಸಿ. ದೂರದ ತುದಿ ಸಬ್ನೆಟ್ ಅನ್ನು ರೂಟ್ ಮಾಡಿದರೆ, ನೀವು ನೋಡುವ ಒಳಗಿನ ವಿಳಾಸಗಳು ಮೂಲ ಹೋಸ್ಟ್ಗಳು ಅಥವಾ ಅನುವಾದಿತವಾಗಿರಬಹುದು.
ip -4 addr show dev tun0
journalctl -u [email protected] --since '-10 min' | tail -n 40ಆ ಜೋಡಿ ಒಂದೇ ಬಾರಿಗೆ ಎರಡು ಪ್ರಶ್ನೆಗಳಿಗೆ ಉತ್ತರಿಸುತ್ತದೆ: ಟನೆಲ್ ಇಂಟರ್ಫೇಸ್ ಯಾವ ಪೂರ್ವಪ್ರತ್ಯಯವನ್ನು ಸೇವಿಸುತ್ತದೆ, ಮತ್ತು ನಿಮಗೆ ಮುಖ್ಯವಾದ ಮಧ್ಯಂತರದಲ್ಲಿ ಯಾವ ಅಧಿವೇಶನ ಸಕ್ರಿಯವಾಗಿತ್ತು. ಯಾವುದೇ ಹರಿವಿನ ನಮೂದನ್ನು ಅರ್ಥೈಸುವ ಮೊದಲು ಇದನ್ನು ಮಾಡಿ, ಏಕೆಂದರೆ ತಪ್ಪು ಅಧಿವೇಶನಕ್ಕೆ ಜೋಡಿಸಿದ ಮನವೊಲಿಸುವ ಟ್ಯುಪಲ್ ಯಾವುದೇ ಸಾಕ್ಷ್ಯವಿಲ್ಲದಿರುವುದಕ್ಕಿಂತ ಕೆಟ್ಟದು.
ರೂಟಿಂಗ್ ಗೇಟ್ವೇಯಲ್ಲಿ ಹರಿವಿನ ಕೋಷ್ಟಕವನ್ನು ಓದಿ
ವಿಳಾಸ ಮತ್ತು ಮಧ್ಯಂತರ ಸ್ಥಾಪಿತವಾದ ನಂತರ, ಟ್ರ್ಯಾಕ್ ಮಾಡಿದ ಸಂಪರ್ಕಗಳ ಓದಲು-ಮಾತ್ರ ಪಟ್ಟಿ ಗೇಟ್ವೇ ಅದಕ್ಕಾಗಿ ಏನನ್ನು ರವಾನಿಸುತ್ತಿದೆ ಎಂದು ತೋರಿಸುತ್ತದೆ. ಇಡೀ ಕೋಷ್ಟಕವನ್ನು ಓದದಂತೆ ಮೂಲ ಮೂಲದ ಮೇಲೆ ಫಿಲ್ಟರ್ ಮಾಡಿ.
sudo conntrack -L -p tcp -f ipv4 --orig-src 10.8.0.37ಪ್ರತಿ ನಮೂದು ಎರಡು ಟ್ಯುಪಲ್ಗಳನ್ನು ಹೊಂದಿದೆ, ಮೂಲ ಮತ್ತು ಉತ್ತರ, ಇವು ಒಂದು ಹರಿವಿನ ಎರಡು ದಿಕ್ಕುಗಳು, ಎರಡು ಅಪ್ಲಿಕೇಶನ್ಗಳಲ್ಲ. ಮೂಲ-NAT ಮಾರ್ಗದಲ್ಲಿ ಮೂಲ ಟ್ಯುಪಲ್ ಟನೆಲ್ ವಿಳಾಸವನ್ನು ಉಳಿಸಿಕೊಳ್ಳುತ್ತದೆ, ಆದರೆ ಉತ್ತರದ ಬದಿ ಅನುವಾದಿತ ಗೇಟ್ವೇ ವಿಳಾಸವನ್ನು ತೋರಿಸುತ್ತದೆ, ಮತ್ತು ಅದೇ ಕಾರಣಕ್ಕೆ ಔಟ್ಪುಟ್ ಮೊದಲ ನೋಟಕ್ಕೆ ತಪ್ಪಾಗಿ ಕಾಣುತ್ತದೆ.
ಪಟ್ಟಿಯನ್ನು ಇತಿಹಾಸವಲ್ಲ, ಜೀವಂತ ಸ್ಥಿತಿ ಎಂದು ಪರಿಗಣಿಸಿ. ಸಣ್ಣ ಹರಿವುಗಳು ಈಗಾಗಲೇ ಮುಗಿದಿರಬಹುದು, ಟ್ರ್ಯಾಕ್ ಮಾಡದ ಸಂಚಾರ ಎಂದಿಗೂ ಕಾಣಿಸುವುದಿಲ್ಲ, ಮತ್ತು ಬೇರೆ ನೆಟ್ವರ್ಕ್ ನೇಮ್ಸ್ಪೇಸ್ ಬೇರೆ ಕೋಷ್ಟಕವನ್ನು ತೋರಿಸುತ್ತದೆ. conntrack ಉಲ್ಲೇಖ ಫಿಲ್ಟರ್ಗಳು ಮತ್ತು ಎರಡು-ದಿಕ್ಕಿನ ಔಟ್ಪುಟ್ ಅನ್ನು ದಾಖಲಿಸುತ್ತದೆ.
ಓದುವಿಕೆಯನ್ನು ದೃಢೀಕರಿಸಲು ಒಂದು ಸೀಮಿತ ಕ್ಯಾಪ್ಚರ್
ನೀವು ನೋಡುತ್ತಿರುವ ಸ್ಥಳದಲ್ಲಿ ಟನೆಲ್ ಇಂಟರ್ಫೇಸ್ ಕಾಣಿಸಿದರೆ, ಒಂದು ಸೀಮಿತ ಕ್ಯಾಪ್ಚರ್ ನೀವು ಗುರುತಿಸಿದ ಪ್ಯಾಕೆಟ್ಗಳು ತಂತಿಯ ಮೇಲಿರುವವೋ ಎಂಬುದನ್ನು ನಿರ್ಧರಿಸುತ್ತದೆ. ಫಿಲ್ಟರ್ ಸಂಕುಚಿತವಾಗಿ ಮತ್ತು ಪ್ಯಾಕೆಟ್ ಮಿತಿ ಚಿಕ್ಕದಾಗಿ ಇರಿಸಿ.
sudo tcpdump -ni tun0 -nn -c 50 'host 10.8.0.37 and tcp'ಟೈಮ್ಸ್ಟ್ಯಾಂಪ್, ಪ್ರೋಟೋಕಾಲ್ ಮತ್ತು ಪೋರ್ಟ್ಗಳನ್ನು ಹರಿವಿನ ನಮೂದಿನೊಂದಿಗೆ ಮತ್ತು ಪರೀಕ್ಷೆಯಾಗಿ ಮಾಡಿದ ವಿನಂತಿಯೊಂದಿಗೆ ಹೋಲಿಸಿ. NAT ನಂತರ ತೆಗೆದ ಕ್ಯಾಪ್ಚರ್ ಗೇಟ್ವೇಯ ಸಾರ್ವಜನಿಕ ವಿಳಾಸವನ್ನು ಮಾತ್ರ ತೋರಿಸುತ್ತದೆ, ಆದರೆ ಟನೆಲ್ ಬದಿ ಇನ್ನೂ ಕ್ಲೈಂಟ್ನದನ್ನು ತೋರಿಸಬಹುದು, ಮತ್ತು ಆ ವ್ಯತ್ಯಾಸ ಮಾಹಿತಿ, ಅಸಂಗತಿಯಲ್ಲ.
ಇಂಟರ್ಫೇಸ್ ಏನನ್ನೂ ಕಾಣದಿದ್ದರೆ, ಕ್ಲೈಂಟ್ ನಿಷ್ಕ್ರಿಯ ಎಂದು ತೀರ್ಮಾನಿಸುವ ಮೊದಲು ಡೇಟಾ ಮಾರ್ಗವನ್ನು ಪರಿಶೀಲಿಸಿ: ಕ್ಲೈಂಟ್ನಿಂದ ಕ್ಲೈಂಟ್ಗೆ ಸಂಚಾರ ಮತ್ತು ಕೆಲವು ಆಫ್ಲೋಡ್ ಮಾರ್ಗಗಳು ನೀವು ನೋಡುತ್ತಿರುವ ಬಿಂದುವನ್ನು ಎಂದಿಗೂ ದಾಟುವುದಿಲ್ಲ.
ಪ್ರಾಕ್ಸಿ ಲಾಗ್ಗಳು, ಮತ್ತು ನೀವು ನೋಡಿದ್ದರ ಮಿತಿಗಳು
ಪ್ರಾಕ್ಸಿ ಮಾರ್ಗದಲ್ಲಿದ್ದಾಗ, ಅದರ ಮೇಲ್ಮುಖ ಸಾಕೆಟ್ಗಳು ಸಾಕೆಟ್ ಕೋಷ್ಟಕದಲ್ಲಿ ಕಾಣಿಸುತ್ತವೆ ಆದರೆ ಅವು VPN ಕ್ಲೈಂಟ್ಗಳಿಗೆ ಒಂದಕ್ಕೊಂದು ಹೊಂದಿಕೆಯಾಗುವುದಿಲ್ಲ, ವಿಶೇಷವಾಗಿ ಪೂಲಿಂಗ್ ಅಥವಾ ಮಲ್ಟಿಪ್ಲೆಕ್ಸಿಂಗ್ನೊಂದಿಗೆ. ಕ್ಲೈಂಟ್ ಗುರುತು, ಗಮ್ಯಸ್ಥಾನ, ಟೈಮ್ಸ್ಟ್ಯಾಂಪ್ ಮತ್ತು ಅದು ದಾಖಲಿಸುವ ಯಾವುದೇ ವಿನಂತಿ ಗುರುತಿಸುವಿಕೆಯನ್ನು ಪರಸ್ಪರ ಸಂಬಂಧಿಸಲು ಪ್ರಾಕ್ಸಿಯ ಸಂರಚಿತ ವಹಿವಾಟು ಲಾಗ್ ಬಳಸಿ.
ಪ್ರತಿ ವಿನಂತಿಯೂ ಡೀಫಾಲ್ಟ್ ಆಗಿ ಲಾಗ್ ಆಗುತ್ತದೆ ಎಂದು ಊಹಿಸುವ ಬದಲು ನಿಯೋಜಿತ ಆವೃತ್ತಿಯ ಲಾಗಿಂಗ್ ಸಂರಚನೆಯನ್ನು ಪರಿಶೀಲಿಸಿ.
ಕೊನೆಯದಾಗಿ, ವ್ಯಾಪ್ತಿಯ ಬಗ್ಗೆ ನಿಖರವಾಗಿರಿ. ಗಮ್ಯಸ್ಥಾನ ವಿಳಾಸ ಮತ್ತು ಪೋರ್ಟ್ ಮೆಟಾಡೇಟಾ, URL ಅಲ್ಲ ಮತ್ತು ಪುಟದ ವಿಷಯವೂ ಅಲ್ಲ, ಏಕೆಂದರೆ ಒಳಗಿನ HTTPS ಅಧಿವೇಶನ ಟನೆಲ್ನ ಹೊರತಾಗಿಯೂ ತನ್ನದೇ ರಕ್ಷಣೆಯನ್ನು ಉಳಿಸಿಕೊಳ್ಳುತ್ತದೆ. ನೀವು ಏನನ್ನು ಗಮನಿಸಿದಿರಿ, ಯಾವ ವೀಕ್ಷಣಾ ಬಿಂದುವಿನಿಂದ ಮತ್ತು ಯಾವ ಸಮಯದಲ್ಲಿ ಎಂದು ವರದಿ ಮಾಡಿ.