ನಿಮ್ಮ ರೂಟ್ ಸಾಲು ತಿರಸ್ಕೃತವಾಗಿ ಹಿಂತಿರುಗುತ್ತದೆ, ಮತ್ತು ನೀವು ಕಂಡ ಸಲಹೆ IP ಫಾರ್ವರ್ಡಿಂಗ್ ಸಕ್ರಿಯಗೊಳಿಸಿ ಎನ್ನುತ್ತದೆ. ಈ ಎರಡೂ ವಿಷಯಗಳು ಸಮಸ್ಯೆಯ ವಿವಿಧ ಹಂತಗಳಲ್ಲಿವೆ. ಫಾರ್ವರ್ಡಿಂಗ್ ಹೋಸ್ಟ್ ಇಂಟರ್ಫೇಸ್‌ಗಳ ನಡುವೆ ಪ್ಯಾಕೆಟ್‌ಗಳನ್ನು ಸಾಗಿಸಬಹುದೇ ಎಂದು ನಿರ್ಧರಿಸುತ್ತದೆ; ನೀವು ಟೈಪ್ ಮಾಡಿದ ಗಮ್ಯಸ್ಥಾನ ಮಾನ್ಯ ನೆಟ್‌ವರ್ಕ್ ಎಂಬ ಬಗ್ಗೆ ಅದಕ್ಕೆ ಅಭಿಪ್ರಾಯವಿಲ್ಲ. ಮೊದಲು ಪ್ರಿಫಿಕ್ಸ್ ಸರಿಪಡಿಸಿ, ಏಕೆಂದರೆ ಹೊಂದಿಕೆಯಾಗದ ವಿಳಾಸ ಮತ್ತು ಮಾಸ್ಕ್ ಅನ್ನು ಫಾರ್ವರ್ಡಿಂಗ್ ರಕ್ಷಿಸುವುದಿಲ್ಲ.

ಪಾರ್ಸರ್ ವಾಸ್ತವವಾಗಿ ಏನನ್ನು ದೂರುತ್ತಿದೆ

ವಿಳಾಸ ಜೊತೆಗೆ ಮಾಸ್ಕ್ ಎಂದು ಬರೆದ ಗಮ್ಯಸ್ಥಾನವು ನೆಟ್‌ವರ್ಕ್ ವಿವರಿಸಬೇಕು, ಮತ್ತು ನೆಟ್‌ವರ್ಕ್ ಸೊನ್ನೆ ಮಾಡಿದ ಹೋಸ್ಟ್ ಬಿಟ್‌ಗಳಿಂದ ಪ್ರಾರಂಭವಾಗುತ್ತದೆ. ನೀವು ನೀಡಿದ ವಿಳಾಸವು ಇನ್ನೂ ಹೋಸ್ಟ್ ಭಾಗದಲ್ಲಿ ಮೌಲ್ಯ ಹೊಂದಿದ್ದರೆ, ಜೋಡಿ ಆಂತರಿಕವಾಗಿ ಅಸಂಗತವಾಗಿದೆ: 172.20.130.0 ಸೊನ್ನೆಯಲ್ಲಿ ಕೊನೆಗೊಳ್ಳುವುದರಿಂದ ಅಚ್ಚುಕಟ್ಟಾಗಿ ಕಾಣುತ್ತದೆ, ಆದರೆ ನಾಲ್ಕನೇ ಆಕ್ಟೆಟ್‌ನಲ್ಲಿನ ಸೊನ್ನೆ ಮಾತ್ರ ಮುಖ್ಯವಾದದ್ದಲ್ಲ. ಇಲ್ಲಿ ಚದುರಿದ ಬಿಟ್‌ಗಳನ್ನು ಹೊಂದಿರುವುದು ಮೂರನೇ ಆಕ್ಟೆಟ್.

ಈ ಅಸಂಗತಿಯನ್ನು ಉಪಕರಣಗಳು ಬೇರೆ ಬೇರೆ ರೀತಿಯಲ್ಲಿ ನಿರ್ವಹಿಸುತ್ತವೆ. ಕಟ್ಟುನಿಟ್ಟಿನ ಪಾರ್ಸರ್‌ಗಳು ಸಾಲನ್ನು ತಿರಸ್ಕರಿಸಿ ಹೋಸ್ಟ್ ಬಿಟ್‌ಗಳನ್ನು ಹೆಸರಿಸುತ್ತವೆ. ಸಡಿಲ ಪಾರ್ಸರ್‌ಗಳು ವಿಳಾಸವನ್ನು ಮಾಸ್ಕ್ ಮಾಡಿ ನೀವು ಕೇಳದಿದ್ದನ್ನು ಸ್ಥಾಪಿಸುತ್ತವೆ, ಇದು ಕೆಟ್ಟದು, ಏಕೆಂದರೆ ಸಂರಚನೆ ಈಗ ನೀವು ಎಂದೂ ಉದ್ದೇಶಿಸದ ಶ್ರೇಣಿಯನ್ನು ರೂಟ್ ಮಾಡುತ್ತದೆ. Python ನ ipaddress ಮಾಡ್ಯೂಲ್ ಆಯ್ಕೆಯನ್ನು ನೇರವಾಗಿ ತೋರಿಸುತ್ತದೆ: ಕಟ್ಟುನಿಟ್ಟಿನ ನೆಟ್‌ವರ್ಕ್ ಪಾರ್ಸಿಂಗ್ ದೋಷ ಎಬ್ಬಿಸುತ್ತದೆ, ಮತ್ತು strict=False ಹೋಸ್ಟ್ ಬಿಟ್‌ಗಳನ್ನು ಮಾಸ್ಕ್ ಮಾಡುತ್ತದೆ. ನಿಮ್ಮ ಕ್ಲೈಂಟ್ ಆವೃತ್ತಿಗಳ ನಡುವೆ ಕಟ್ಟುನಿಟ್ಟು, ಸಡಿಲ ಅಥವಾ ಅಸಂಗತವಾಗಿರಬಹುದು, ಆದ್ದರಿಂದ ಅಭ್ಯಾಸವನ್ನು ನಂಬುವ ಬದಲು ಸಂದೇಶ ಓದಿ.

ಉದಾಹರಣೆಯನ್ನು ಕೈಯಿಂದ ಮಾಡಿ

/20 ಮಾಸ್ಕ್ ಜೊತೆ 172.20.130.0 ತಲುಪಬೇಕಾದ ಸುರಂಗ ತೆಗೆದುಕೊಳ್ಳಿ. /20 ಮೂರನೇ ಆಕ್ಟೆಟ್‌ನಿಂದ ನಾಲ್ಕು ಬಿಟ್ ಎರವಲು ಪಡೆಯುತ್ತದೆ, ಆದ್ದರಿಂದ ಆ ಆಕ್ಟೆಟ್ 16 ರ ಹೆಜ್ಜೆಗಳಲ್ಲಿ ಮಾತ್ರ ಎಣಿಸಲ್ಪಡುತ್ತದೆ: 0, 16, 32 ಮತ್ತು ಮುಂದೆ 240 ರವರೆಗೆ. ಮೌಲ್ಯ 130, 128 ಮತ್ತು 143 ನಡುವೆ ಬರುತ್ತದೆ, ಅಂದರೆ ಸುತ್ತುವರಿದ ನೆಟ್‌ವರ್ಕ್ 172.20.128.0 ನಿಂದ ಪ್ರಾರಂಭವಾಗುತ್ತದೆ, ಕೊನೆಯ ಆಕ್ಟೆಟ್ ಸೊನ್ನೆ ಮಾಡಿದ 172.20.130.0 ನಿಂದ ಅಲ್ಲ.

ಬರೆದ ರೂಪದಲ್ಲಿ ಬ್ಲಾಕ್ 172.20.128.0 ರಿಂದ 172.20.143.255 ರವರೆಗೆ ಚಲಿಸುತ್ತದೆ ಮತ್ತು 4,096 ವಿಳಾಸಗಳನ್ನು ಹೊಂದಿದೆ. ಅದೇ ಮೌಲ್ಯಗಳನ್ನು ಕಟ್ಟುನಿಟ್ಟಲ್ಲದ ಪಾರ್ಸರ್‌ಗೆ ನೀಡಿದರೆ ಅದು ನಿಮ್ಮ ಪರವಾಗಿ ಮಾಡುತ್ತಿದ್ದ ಬದಲಿಯನ್ನು ತೋರಿಸುತ್ತದೆ:

$ python3 -c "import ipaddress; n=ipaddress.ip_network('172.20.130.0/20', strict=False); print(n, n.num_addresses)"
172.20.128.0/20 4096

ನಿಜವಾಗಿ ಯಾವ ಗಮ್ಯಸ್ಥಾನ ಉದ್ದೇಶಿಸಿದ್ದೀರಿ ಎಂದು ನಿರ್ಧರಿಸಿ

ತಿರಸ್ಕೃತ ಸಾಲು ಸಾಮಾನ್ಯವಾಗಿ ಮೂರು ಉದ್ದೇಶಗಳಲ್ಲಿ ಒಂದನ್ನು ಮರೆಮಾಡುತ್ತದೆ, ಮತ್ತು ಆಯ್ಕೆ ಮಾಡಬಹುದಾದದ್ದು ನೀವೊಬ್ಬರೇ. ಸುರಂಗಕ್ಕೆ ಇಡೀ ಬ್ಲಾಕ್ ಬೇಕಿದ್ದರೆ, ಅಂಗೀಕೃತ ನೆಟ್‌ವರ್ಕ್ ವಿಳಾಸವಾದ 172.20.128.0/20 ಬರೆಯಿರಿ. ಸುರಂಗಕ್ಕೆ 130 ವಿಭಾಗ ಮಾತ್ರ ಬೇಕಿದ್ದರೆ, ಮಾಸ್ಕ್ ತಪ್ಪಾಗಿತ್ತು ಮತ್ತು 172.20.130.0/24 ಪ್ರಾಮಾಣಿಕ ರೂಪ. ಒಂದೇ ಯಂತ್ರ ಗುರಿಯಾಗಿದ್ದರೆ, IPv4 ಹೋಸ್ಟ್ ರೂಟ್ /32 ಆಗಿದೆ ಮತ್ತು ಯಾವುದೇ ಮಾಸ್ಕ್ ಅಂಕಗಣಿತ ಒಳಗೊಂಡಿಲ್ಲ.

ಅವುಗಳಲ್ಲಿ ಪ್ರತಿಯೊಂದು ಬೇರೆ ಪ್ರಮಾಣದ ಸಂಚಾರವನ್ನು ಅನುಮೋದಿಸುತ್ತದೆ, ಮತ್ತು ದೂರು ನಿಲ್ಲುವವರೆಗೆ ಮಾಸ್ಕ್ ಅಗಲಿಸದಿರುವ ನಿಜವಾದ ಕಾರಣ ಇದೇ. /16 ಸಾಲನ್ನು ಬಹುತೇಕ ಎಲ್ಲೆಡೆ ಸ್ವೀಕರಿಸಿ ಸಂಚಾರವನ್ನು ನೀವು ಎಂದೂ ಸುರಂಗದ ಮೂಲಕ ರೂಟ್ ಮಾಡಲು ಉದ್ದೇಶಿಸದ ಗಮ್ಯಸ್ಥಾನಗಳಿಗೆ ಕಳುಹಿಸುತ್ತದೆ. ಉದ್ದೇಶಕ್ಕೆ ಹೊಂದುವ ಅತ್ಯಂತ ಕಿರಿದಾದ ಪ್ರಿಫಿಕ್ಸ್ ಬರೆಯಿರಿ, ನಂತರ ನೀವು ನಿರೀಕ್ಷಿಸುವ ಮುಂದಿನ ಹಾಪ್ ವಿರುದ್ಧ ಅದನ್ನು ದೃಢೀಕರಿಸಿ, ಪಾರ್ಸರ್‌ನ ಮೌನದ ವಿರುದ್ಧವಲ್ಲ.

ಫಾರ್ವರ್ಡಿಂಗ್ ಎಂದೂ ಪರಿಹಾರವಾಗದ ಕಾರಣ

ತಿರಸ್ಕೃತ ರೂಟ್ ಎಂದೂ ಫಾರ್ವರ್ಡಿಂಗ್ ಮಾರ್ಗವನ್ನು ತಲುಪುವುದಿಲ್ಲ, ಆದ್ದರಿಂದ net.ipv4.ip_forward ಬದಲಿಸುವುದು ಫಲಿತಾಂಶವನ್ನು ಬದಲಿಸಲಾರದು. ಆ ಸೆಟ್ಟಿಂಗ್ ನಂತರ ಮುಖ್ಯ, ಹೋಸ್ಟ್ ಇಂಟರ್ಫೇಸ್‌ಗಳ ನಡುವೆ ಪ್ಯಾಕೆಟ್‌ಗಳನ್ನು ರವಾನಿಸಬೇಕಾದಾಗ, ಮತ್ತು ಕೋಷ್ಟಕ ಸರಿಯಾಗುವ ಮೊದಲು ಅದನ್ನು ಆನ್ ಮಾಡುವುದು ಮುಂದೆ ಯಾವ ಹಂತ ವಿಫಲವಾಗುತ್ತದೆ ಎಂಬುದನ್ನು ಮಾತ್ರ ಬದಲಿಸುತ್ತದೆ.

ಅದೇ ಹಂತದಲ್ಲಿ ಇನ್ನೆರಡು ವಿಷಯಗಳನ್ನು ಆಗಾಗ್ಗೆ ದೂಷಿಸಲಾಗುತ್ತದೆ. ರೂಟ್ ಸ್ವೀಕೃತವಾಗಿ ಇನ್ನೂ ಹೆಚ್ಚು ನಿರ್ದಿಷ್ಟ ರೂಟ್‌ಗೆ ಸೋಲಬಹುದು, ಮತ್ತು ಫೈರ್‌ವಾಲ್ ನಿಯಮ ಸರಿಯಾದ ಹುಡುಕಾಟದ ನಂತರ ಸಂಚಾರವನ್ನು ಕೈಬಿಡಬಹುದು. ಹಂತಗಳನ್ನು ಪ್ರತ್ಯೇಕವಾಗಿಡಿ: ವಾಕ್ಯರಚನೆ, ಸ್ಥಾಪನೆ, ಆಯ್ಕೆ, ಫಿಲ್ಟರಿಂಗ್. ತಪ್ಪು ಹಂತದಲ್ಲಿ ಕೆಲಸ ಮಾಡುವುದು ಉತ್ಪಾದಕವೆನಿಸುತ್ತದೆ ಏಕೆಂದರೆ ಪ್ರತಿ ಬದಲಾವಣೆಯೂ ಏನನ್ನೋ ಮರುಪ್ರಾರಂಭಿಸುತ್ತದೆ.

ಸ್ಥಾಪಿತ ರೂಟ್ ಮತ್ತು ಅದು ಗೆಲ್ಲುವ ಮಾರ್ಗ ಪರಿಶೀಲಿಸಿ

ಕ್ಲೈಂಟ್ ಸಾಲನ್ನು ಸ್ವೀಕರಿಸಿದ ನಂತರ, ಅದು ಏನನ್ನು ಸ್ಥಾಪಿಸಿದೆ ಮತ್ತು ಬ್ಲಾಕ್ ಒಳಗಿನ ಪ್ರತಿನಿಧಿ ವಿಳಾಸಕ್ಕೆ ಕರ್ನಲ್ ಯಾವ ರೂಟ್ ಆರಿಸುತ್ತದೆ ಎಂದು ನೋಡಿ. ಸ್ಥಾಪಿತ ಪ್ರಿಫಿಕ್ಸ್ ನೀವು ಬರೆದದ್ದಕ್ಕಿಂತ ಭಿನ್ನವಾಗಿದ್ದರೆ, ಒಂದು ಸಾಮಾನ್ಯೀಕರಣಕಾರ ನಿಮ್ಮ ಪರವಾಗಿ ಕಾರ್ಯನಿರ್ವಹಿಸಿದೆ.

ಬ್ಲಾಕ್ ಒಳಗಿನ ಸದಸ್ಯ ವಿಳಾಸ ಮತ್ತು ಹೊರಗಿನ ಒಂದನ್ನು ಕೇಳಿ, ಹೋಲಿಕೆ ಒಂದೇ ಸಮಾಧಾನಕರ ಸಾಲಿಗಿಂತ ಅರ್ಥಪೂರ್ಣವಾಗಲು:

ip -4 route show 172.20.128.0/20
ip -4 route get 172.20.140.10
ip -4 route get 172.20.200.10

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

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