ಕಚೇರಿ LAN ನಲ್ಲಿ VPN ಕ್ಲೈಂಟ್ ಪ್ರತಿ ಉತ್ತರವನ್ನು ಏಕೆ ಕಳೆದುಕೊಳ್ಳುತ್ತದೆ
ಕಚೇರಿಯ LAN ನಲ್ಲಿ ಮತ್ತು ಅದೇ ಉಪಜಾಲದಲ್ಲಿನ ಸುರಂಗದಲ್ಲಿ ಇರುವ ಲ್ಯಾಪ್ಟಾಪ್ ತಪ್ಪು ಇಂಟರ್ಫೇಸ್ನಿಂದ ಉತ್ತರಿಸುತ್ತದೆ. ಸಡಿಲ ಹಿಮ್ಮುಖ-ಮಾರ್ಗ ಶೋಧನೆ ಈ ಮೌನವನ್ನು ವಿವರಿಸುತ್ತದೆ.
ಒಂದು ಲ್ಯಾಪ್ಟಾಪ್ ಇಥರ್ನೆಟ್ ಮೂಲಕ ಕಚೇರಿಯ /24 ನಲ್ಲಿ ಕುಳಿತಿದೆ ಮತ್ತು ಅದೇ /24 ನಲ್ಲಿರುವ OpenVPN ಸರ್ವರ್ಗೂ ಸೇರುತ್ತದೆ. ಸಹೋದ್ಯೋಗಿ ಸುರಂಗದ ವಿಳಾಸಕ್ಕೆ ಪಿಂಗ್ ಮಾಡುತ್ತಾರೆ; ವಿನಂತಿ ಸ್ಪಷ್ಟವಾಗಿ ತಲುಪುತ್ತದೆ, ಆದರೆ ಏನೂ ಹಿಂತಿರುಗುವುದಿಲ್ಲ. ಸುರಂಗದ ಲಾಗ್ ಸ್ವಚ್ಛವಾಗಿದೆ ಮತ್ತು ಬ್ರೌಸಿಂಗ್ ಇನ್ನೂ ಕೆಲಸ ಮಾಡುತ್ತದೆ, ಆದ್ದರಿಂದ ಸುರಂಗವೇ ತಪ್ಪು ಶಂಕಿತ. ಸ್ವೀಕರಿಸುವ ಯಂತ್ರದಲ್ಲಿನ IPv4 ಮೂಲ ಪರಿಶೀಲನೆ ಪ್ಯಾಕೆಟ್ ಅನ್ನು ಏನಾದರೂ ಓದುವ ಮೊದಲೇ ಎಸೆಯುತ್ತದೆ.
ಪ್ಯಾಕೆಟ್ ಓದುವ ಮೊದಲೇ ಎಸೆಯುವಿಕೆ ನಡೆಯುತ್ತದೆ
ಮೂಲ ಪರಿಶೀಲನೆ ಪ್ರತಿ ಒಳಬರುವ ಪ್ಯಾಕೆಟ್ ಬಗ್ಗೆ ಒಂದು ಪ್ರಶ್ನೆ ಕೇಳುತ್ತದೆ: ಈ ಹೋಸ್ಟ್ ಆ ಮೂಲಕ್ಕೆ ಉತ್ತರಿಸಿದರೆ, ಉತ್ತರವು ಪ್ಯಾಕೆಟ್ ಈಗತಾನೇ ಬಂದ ಇಂಟರ್ಫೇಸ್ ಮೂಲಕವೇ ಹೊರಹೋಗುತ್ತದೆಯೇ? ಉತ್ತರ ಇಲ್ಲ ಎಂದಾದರೆ, ಕರ್ನಲ್ ಪ್ಯಾಕೆಟ್ ಬಂದ ಕ್ಷಣವೇ ಎಸೆಯುತ್ತದೆ. ಯಾವ ಸಾಕೆಟ್ ಆಗಲಿ, ಯಾವ ಮುಂದೆ ಕಳುಹಿಸುವ ಮಾರ್ಗವಾಗಲಿ ಅದನ್ನು ಎಂದಿಗೂ ನೋಡುವುದಿಲ್ಲ, ಆದ್ದರಿಂದ ಸುರಂಗದ ಮೇಲಿನ ಸೆರೆಹಿಡಿತವು ಅಪ್ಲಿಕೇಶನ್ ಎಂದಿಗೂ ಪಡೆಯದ ವಿನಂತಿಯನ್ನು ಇನ್ನೂ ದಾಖಲಿಸುತ್ತದೆ.
ಇಲ್ಲಿನ ಕ್ಲೈಂಟ್ ತನ್ನ ಸುರಂಗದಲ್ಲಿ 10.66.0.9 ಹೊಂದಿದೆ, ಮತ್ತು OpenVPN ಸರ್ವರ್ ಕಚೇರಿ ಪೂರ್ವಪ್ರತ್ಯಯದ ಒಳಗಿನ 192.168.80.10 ನಿಂದ ಉತ್ತರಿಸುತ್ತದೆ. 192.168.80.25 ನಲ್ಲಿನ ಸಹೋದ್ಯೋಗಿ ಸುರಂಗದ ವಿಳಾಸಕ್ಕೆ ಪಿಂಗ್ ಮಾಡುತ್ತಾರೆ, ಆದ್ದರಿಂದ ವಿನಂತಿ LAN ಅನ್ನು ದಾಟುತ್ತದೆ, ಸರ್ವರ್ ಅದನ್ನು ಸುರಂಗಕ್ಕೆ ಕಳುಹಿಸುತ್ತದೆ, ಮತ್ತು ಅದು ಕಚೇರಿಯ ಮೂಲ ವಿಳಾಸವನ್ನು ಹೊತ್ತು ಕ್ಲೈಂಟ್ನ ಸುರಂಗ ಇಂಟರ್ಫೇಸ್ಗೆ ಬರುತ್ತದೆ. ಆ ಯಂತ್ರದ ರೂಟಿಂಗ್ ಕೋಷ್ಟಕದಲ್ಲಿ ಕಚೇರಿ ಪೂರ್ವಪ್ರತ್ಯಯ ಇಥರ್ನೆಟ್ ಸಾಧನಕ್ಕೆ ಸೇರಿದೆ, ಸುರಂಗಕ್ಕಲ್ಲ. ಪರಿಶೀಲನೆ ಆಗಮನ ಇಂಟರ್ಫೇಸ್ ಅನ್ನು ಮಾರ್ಗದೊಂದಿಗೆ ಹೋಲಿಸಿ, ವ್ಯತ್ಯಾಸ ಕಂಡು ಎಸೆಯುತ್ತದೆ, ಆದ್ದರಿಂದ ಸಹೋದ್ಯೋಗಿ ಪೂರ್ಣ ನಷ್ಟವನ್ನು ಕಾಣುತ್ತಾರೆ, ಎರಡೂ ತುದಿಗಳು ಆರೋಗ್ಯಕರ ಸುರಂಗ ಎಂದು ವರದಿ ಮಾಡುವಾಗ.
ಕನ್ನಡಿ ದಿಕ್ಕಿಗೂ ಅದೇ ರೂಪ: ಕ್ಲೈಂಟ್ ಕಚೇರಿಯ ಕಡೆಗೆ ಪ್ರಾರಂಭಿಸಿದಾಗ, ಅದೇ ಕಾರಣಕ್ಕೆ ಕಚೇರಿಯ ಬದಿಯಲ್ಲಿ ಉತ್ತರಗಳು ಎಸೆಯಲ್ಪಡಬಹುದು. ಒಂದೇ ದಿಕ್ಕಿನಲ್ಲಿ ಪರಿಶೀಲಿಸಿದ ಸರಿಪಡಿಸುವಿಕೆ ಸಾಮಾನ್ಯವಾಗಿ ಎರಡನೇ ಟಿಕೆಟ್ ಆಗಿ ಮರಳುತ್ತದೆ.
ಯಾವುದೇ sysctl ಮುಟ್ಟುವ ಮೊದಲು ಜಾರಿಯಲ್ಲಿರುವ ಮೋಡ್ ಸಾಬೀತುಪಡಿಸಿ
ವಿತರಣೆಯ ಡೀಫಾಲ್ಟ್ ನಂಬುವ ಬದಲು ಪರಿಣಾಮಕಾರಿ ಮೌಲ್ಯಗಳನ್ನು ಓದಿ, ಏಕೆಂದರೆ ಪ್ರತಿ ಇಂಟರ್ಫೇಸ್ ಸೆಟ್ಟಿಂಗ್ ನಿರ್ಧಾರದ ಅರ್ಧ ಮಾತ್ರ. ಜಾರಿಯಲ್ಲಿರುವ ಮೋಡ್ ಇಂಟರ್ಫೇಸ್ ಮೌಲ್ಯ ಮತ್ತು all ಮೌಲ್ಯದಲ್ಲಿ ದೊಡ್ಡದು, ಆದ್ದರಿಂದ ಸುರಂಗ ಇಂಟರ್ಫೇಸ್ನಲ್ಲಿನ ಶೂನ್ಯ all ಒಂದಾಗಿರುವವರೆಗೆ ಏನನ್ನೂ ಅರ್ಥವಿಲ್ಲ. ಕಟ್ಟುನಿಟ್ಟಿನ ಮೋಡ್ನ ನಿರ್ಧಾರ ಮಾರ್ಗನಿರ್ಣಯ, ಆದ್ದರಿಂದ ಕರ್ನಲ್ ಮಾಡುವ ಹುಡುಕಾಟವನ್ನು ಮಾಡಿ ಮತ್ತು ಅದರ ಉತ್ತರವನ್ನು ಪ್ಯಾಕೆಟ್ ನಿಜವಾಗಿ ಬಂದ ಇಂಟರ್ಫೇಸ್ಗೆ ಹೋಲಿಸಿ.
tcpdump -ni tun0 icmp and host 192.168.80.25
ip route get 192.168.80.25
sysctl net.ipv4.conf.all.rp_filter net.ipv4.conf.tun0.rp_filter
ನಂತರ ದೋಷ ಎಣಿಕೆಯನ್ನು ನೋಡುತ್ತಾ ಪಿಂಗ್ ಪುನರಾವರ್ತಿಸಿ. ಸೆರೆಹಿಡಿತ ಈಗಾಗಲೇ ತೋರಿಸುವ ವಿನಂತಿಯ ಪಕ್ಕದಲ್ಲಿ ಏರುತ್ತಿರುವ ಸಂಖ್ಯೆ ಈ ಎಸೆತದ ಸಹಿ, ಕಾಣೆಯಾದ ಮಾರ್ಗದ್ದಲ್ಲ. ಅಲ್ಲಿರುವಾಗ ಮಂಗಲ ಗ್ರಹದ ಪ್ಯಾಕೆಟ್ ಲಾಗಿಂಗ್ ಆನ್ ಮಾಡಿ, ಕರ್ನಲ್ ತಿರಸ್ಕರಿಸಿದ ಮೂಲ ಮತ್ತು ಇಂಟರ್ಫೇಸ್ ಹೆಸರಿಸುವಂತೆ. ಒಟ್ಟಾಗಿ ಅವು ಗೂಢಲಿಪೀರಣ, ಫೈರ್ವಾಲ್ ಮತ್ತು ಕಾಣೆಯಾದ iroute ಅನ್ನು ವಿವರಣೆಗಳಿಂದ ಹೊರಗಿಡುತ್ತವೆ.
ಏನನ್ನಾದರೂ ಬದಲಿಸುವ ಮೊದಲು ಮೂಲರೇಖೆಯನ್ನು ಬರೆಯಿರಿ: ಎರಡೂ ಮೌಲ್ಯಗಳು, ಹುಡುಕಾಟ ಆಯ್ದ ಸಾಧನ, ಮತ್ತು ನೀವು ಗಮನಿಸಿದ ಎಣಿಕೆ. ಬದಲಾವಣೆ ನೀವು ಭಾವಿಸಿದಂತೆ ಮಾಡಿತೇ ಎಂದು ನಂತರ ಹೇಳುವುದು ಆ ದಾಖಲೆಯೇ.
ಪ್ರತಿ rp_filter ಮೋಡ್ ನಿಜವಾಗಿ ಏನನ್ನು ಸ್ವೀಕರಿಸುತ್ತದೆ
ಕರ್ನಲ್ ಪ್ರತಿ ಇಂಟರ್ಫೇಸ್ಗೆ ಮೂರು ಮೌಲ್ಯಗಳನ್ನು ತೋರಿಸುತ್ತದೆ, ಮತ್ತು ಅವು ಒಂದೇ ನಿಯಮದ ಮೂರು ಛಾಯೆಗಳಲ್ಲ. ಶೂನ್ಯ ಪರಿಶೀಲನೆಯನ್ನು ನಿಷ್ಕ್ರಿಯಗೊಳಿಸುತ್ತದೆ. ಒಂದು ಕಟ್ಟುನಿಟ್ಟು ಮತ್ತು ಮೂಲವು ಆಗಮನ ಇಂಟರ್ಫೇಸ್ ಮೂಲಕ ಹಿಂತಿರುಗಿ ಮಾರ್ಗವಾಗಬೇಕೆಂದು ಒತ್ತಾಯಿಸುತ್ತದೆ. ಎರಡು ಸಡಿಲ ಮತ್ತು ಕೋಷ್ಟಕದಲ್ಲಿ ಮೂಲಕ್ಕೆ ಯಾವುದಾದರೂ ಮಾರ್ಗ ಇರಬೇಕೆಂದು ಮಾತ್ರ ಒತ್ತಾಯಿಸುತ್ತದೆ, ಅದು ಎಲ್ಲಿಗೇ ತೋರಿಸಿದರೂ.
| Value | Name | Accepts | Still rejects |
|---|---|---|---|
| 0 | off | any source at all | nothing on this check |
| 1 | strict | a source routed back out the arrival interface | a source whose route points elsewhere |
| 2 | loose | a source with any route in the table | a source with no route at all |
ಇಲ್ಲಿ ಮುಖ್ಯವಾದ ಸಾಲು ಸಡಿಲವಾದದ್ದು, ಮತ್ತು ಅದು ಇನ್ನೂ ತಿರಸ್ಕರಿಸುವುದು. ನಿಮ್ಮ ಕೋಷ್ಟಕದಲ್ಲಿ ಎಲ್ಲಾದರೂ ಮಾರ್ಗವಾಗಬಲ್ಲ ನಕಲಿ ಮೂಲ ಹಾದುಹೋಗುತ್ತದೆ, ಯಾವ ಮಾರ್ಗವೂ ಇಲ್ಲದ ಮೂಲ ಇನ್ನೂ ತಿರಸ್ಕೃತವಾಗುತ್ತದೆ. ಲ್ಯಾಪ್ಟಾಪ್ನಲ್ಲಿ ಇದು ಸಣ್ಣ ರಿಯಾಯಿತಿ; ಇತರರ ಸಂಚಾರವನ್ನು ರವಾನಿಸುವ ರೂಟರ್ನಲ್ಲಿ ಅದು ದೊಡ್ಡದು. ಮೋಡ್ ಹೋಸ್ಟ್ನದು, ಆದ್ದರಿಂದ ಅದೇ ಸಂಖ್ಯೆ ಎರಡು ಕಡೆ ಬೇರೆ ತೂಕ ಹೊರುತ್ತದೆ.
ಈ ಜಾಲರಚನೆಗೆ ಯಾವ ಸಾಲು ಬೇಕು ಎಂಬುದು ಅಭ್ಯಾಸದಿಂದಲ್ಲ, ಕೋಷ್ಟಕದಿಂದ ಬರುತ್ತದೆ. ಪ್ಯಾಕೆಟ್ ಕಾನೂನುಬದ್ಧ ಮತ್ತು ಅದರ ಮೂಲ ಮಾರ್ಗವಾಗಬಲ್ಲದು, ಆದ್ದರಿಂದ ಸಡಿಲ ಸ್ವೀಕರಿಸುತ್ತದೆ, ಕಟ್ಟುನಿಟ್ಟು ಸ್ವೀಕರಿಸುವುದಿಲ್ಲ. ಈ ಪ್ರಕರಣದಲ್ಲಿ ಯಾವುದೂ ಶೂನ್ಯವನ್ನು ಕೇಳುವುದಿಲ್ಲ, ಮತ್ತು ಶೂನ್ಯ ಆಯ್ಕೆ ಮಾಡಿದರೆ ಇಲ್ಲಿ ಏನೂ ವೆಚ್ಚವಿಲ್ಲದ ಪರಿಶೀಲನೆಯನ್ನು ತೆಗೆಯುತ್ತದೆ.
ಅಸ್ಪಷ್ಟತೆಯನ್ನು ತೆಗೆಯುವ ಚಿಕ್ಕ ಬದಲಾವಣೆಯನ್ನು ಆಯ್ಕೆಮಾಡಿ
ಸಡಿಲ ಮೋಡ್ ಹೊಂದಿಕೆಯಾಗುವ ಚಿಕ್ಕ ಬದಲಾವಣೆ, ಮತ್ತು ಅದು ಕಟ್ಟುನಿಟ್ಟಿನ ನಿಜವಾದ ಇಳಿಕೆ, ನಿರುಪದ್ರವ ಸ್ವಿಚ್ ಅಲ್ಲ. ಜಾಲರಚನೆ ಅನುಮತಿಸಿದಾಗಲೆಲ್ಲ ಉತ್ತಮ ಆಯ್ಕೆ ಇರುತ್ತದೆ: ಅತಿಕ್ರಮಣ ತೆಗೆಯಿರಿ, ಅಸ್ಪಷ್ಟತೆ ಮಾಯವಾಗುತ್ತದೆ.
ಕಚೇರಿ ಪೂರ್ವಪ್ರತ್ಯಯ ಇಥರ್ನೆಟ್ ಮೂಲಕ ಮಾತ್ರ ಬೇಕಾದರೆ, ಪ್ರೊಫೈಲ್ ಎಳೆಯುವ ಮಾರ್ಗಗಳಿಂದ ಅದನ್ನು ತೆಗೆಯಿರಿ, ವಿಳಾಸ ಒಂದೇ ಮಾರ್ಗದಿಂದ ತಲುಪಬಹುದಾಗುತ್ತದೆ. ಎರಡೂ ಮಾರ್ಗಗಳು ನಿಜವಾಗಿ ಜೊತೆಯಾಗಿರಬೇಕಾದರೆ, ಪ್ರತಿ ಇಂಟರ್ಫೇಸ್ನಲ್ಲಿ ಪರಿಶೀಲನೆ ಸಡಿಲಿಸುವ ಬದಲು ನೀತಿ ನಿಯಮದಿಂದ ಮೂಲ ಮತ್ತು ಸಾಧನವನ್ನು ಪಿನ್ ಮಾಡಿ. ಇದು ಯಂತ್ರದ ಉಳಿದ ಎಲ್ಲದಕ್ಕೂ ಕಟ್ಟುನಿಟ್ಟಿನ ಶೋಧನೆ ಉಳಿಸುತ್ತದೆ ಮತ್ತು ಮುಂದಿನ ಎಂಜಿನಿಯರ್ ಹುಡುಕುವ ಸ್ಥಳದಲ್ಲಿ ಅಪವಾದವನ್ನು ದಾಖಲಿಸುತ್ತದೆ.
ಯಾವ ಮಾರ್ಗ ಆಯ್ಕೆಮಾಡಿದರೂ, ಅದನ್ನು ಜೀವಂತ ಆದೇಶದಲ್ಲಿ ಅಲ್ಲ, sysctl drop-in ನಲ್ಲಿ ದಾಖಲಿಸಿ. all ಮತ್ತು default ಕೀಗಳನ್ನು ಒಟ್ಟಿಗೆ ಹೊಂದಿಸಿ, ಮರುಸಂಪರ್ಕ ಕಟ್ಟುನಿಟ್ಟಿನ ಮೋಡ್ ಅನ್ನು ಸದ್ದಿಲ್ಲದೆ ಮರಳಿಸದಂತೆ.
# /etc/sysctl.d/99-rp-filter.conf
net.ipv4.conf.default.rp_filter = 2
net.ipv4.conf.all.rp_filter = 2
sysctl --system
ಸಡಿಲ ಮೋಡ್ ಏನನ್ನು ಬಿಟ್ಟುಕೊಡುತ್ತದೆ, ಮತ್ತು ಎಲ್ಲಿ
ಸಡಿಲ ಮೋಡ್ ಯಾವ ಮಾರ್ಗವೂ ತಲುಪದ ಮೂಲವನ್ನು ಇನ್ನೂ ತಿರಸ್ಕರಿಸುತ್ತದೆ, ಮತ್ತು ಆಕಸ್ಮಿಕವಾಗಿ ಮಾರ್ಗವಾಗಬಹುದಾದ ನಕಲಿ ಮೂಲವನ್ನು ತಿರಸ್ಕರಿಸುವುದನ್ನು ನಿಲ್ಲಿಸುತ್ತದೆ. ಲ್ಯಾಪ್ಟಾಪ್ನಲ್ಲಿ ಇದು ಸಣ್ಣ ರಿಯಾಯಿತಿ. ತನ್ನದಲ್ಲದ ಸಂಚಾರವನ್ನು ರವಾನಿಸುವ ಸಾಧನದಲ್ಲಿ ಅದೇ ಆಯ್ಕೆ ಬಹಳ ವಿಶಾಲ. ಆದ್ದರಿಂದ ಅದೇ ಸೆಟ್ಟಿಂಗ್ ಎಲ್ಲಿ ಚಲಿಸುತ್ತದೆ ಎಂಬುದನ್ನು ಅವಲಂಬಿಸಿ ಎರಡು ಬಹಳ ಭಿನ್ನ ಅರ್ಥಗಳನ್ನು ಹೊರುತ್ತದೆ.
ಇತರರಿಗಾಗಿ ಸಂಚಾರವನ್ನು ರವಾನಿಸುವ ಹೋಸ್ಟ್ನಲ್ಲಿ ಪರಿಶೀಲನೆಯನ್ನು ಸಂಪೂರ್ಣ ನಿಲ್ಲಿಸುವುದು ತಪ್ಪಿಸಬೇಕಾದ ಏಕೈಕ ಸರಿಪಡಿಸುವಿಕೆ. ಶೂನ್ಯವು ಸಡಿಲ ಮೋಡ್ ಎಚ್ಚರಿಕೆಯಿಂದ ಕಾಪಾಡುವ ಪರಿಶೀಲನೆಯನ್ನು ಎಸೆಯುತ್ತದೆ. ಹೋಸ್ಟ್ ಇತರರಿಗಾಗಿ ರವಾನಿಸಿದರೆ, ಬದಲಿಗೆ ಹಿಂದಿನ ವಿಭಾಗದ ನೀತಿ ನಿಯಮ ಆಯ್ಕೆಯನ್ನು ಸಮರ್ಥಿಸಿ.
ಎರಡು ಇಂಟರ್ಫೇಸ್, ಅತಿಕ್ರಮಿಸುವ ಪೂರ್ವಪ್ರತ್ಯಯ ಮತ್ತು ಈಗ ಯಶಸ್ವಿಯಾಗುವ ನಿಖರ ಪರೀಕ್ಷೆಯನ್ನು ಹೆಸರಿಸುವ ಟಿಪ್ಪಣಿ ಬಿಡಿ. ಶೋಧನೆ ಸರಿಹೊಂದಿಸಲಾಗಿದೆ ಎಂಬ ಸಾಲಿಗಿಂತ ಇದು ಮುಂದಿನ ಎಂಜಿನಿಯರ್ಗೆ ಹೆಚ್ಚು ಉಪಯುಕ್ತ.