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

ಎರಡು ಮಾರ್ಕ್‌ಗಳು ಬೇರೆ ಬೇರೆ ಸ್ಥಳಗಳಲ್ಲಿ ವಾಸಿಸುತ್ತವೆ ಮತ್ತು ಬೇರೆ ಬೇರೆ ವೇಳಾಪಟ್ಟಿಗಳಲ್ಲಿ ಮುಕ್ತಾಯಗೊಳ್ಳುತ್ತವೆ.

ಎರಡು ಮಾರ್ಕ್, ಎರಡು ಆಯುಷ್ಯ

ಪ್ಯಾಕೆಟ್ ಮಾರ್ಕ್ ಒಂದು skb ಗೆ ಸೇರಿದ್ದು, ಅದರೊಂದಿಗೆ ಹುಕ್ಗಳ ಮೂಲಕ ಸಾಗುತ್ತದೆ ಮತ್ತು ನೀತಿ ರೌಟಿಂಗ್‌ನ fwmark ಆಯ್ಕೆಗಾರ ಅದನ್ನು ಬಳಸುತ್ತದೆ. ಸಂಪರ್ಕ ಮಾರ್ಕ್ conntrack ನಮೂದಿಗೆ ಸೇರಿದ್ದು, ಆ ಹರಿವಿನ ಪ್ಯಾಕೆಟ್‌ಗಳ ಉದ್ದಕ್ಕೂ ಉಳಿಯುತ್ತದೆ ಮತ್ತು ಯಾವುದೋ ಅದನ್ನು ಹಿಂತಿರುಗಿ ನಕಲಿಸುವವರೆಗೆ ರೌಟಿಂಗ್ ನಿಯಮಕ್ಕೆ ಅದೃಶ್ಯವಾಗಿರುತ್ತದೆ. ಪ್ಯಾಕೆಟ್ ಮಾರ್ಕ್ ಅನ್ನು ಸಂಪರ್ಕದಲ್ಲಿ ಸಂಗ್ರಹಿಸುವುದು ಒಂದು ಸಂಗ್ರಹ; ಅದನ್ನು ಮರುಸ್ಥಾಪಿಸುವುದು ಪ್ರತ್ಯೇಕ ಕ್ರಿಯೆ. ಎರಡೂ ತಾವಾಗಿಯೇ ಸಂಭವಿಸುವುದಿಲ್ಲ.

ಆದ್ದರಿಂದ ನಿಯಮಗಳ ಗುಂಪು ಸುಸಂಗತವಾಗಿ ಕಾಣಬಹುದು, ಆದರೆ ರೌಟಿಂಗ್ ನಿರ್ಧಾರ ಶೂನ್ಯವನ್ನು ಕಾಣುತ್ತದೆ: ಮೌಲ್ಯವನ್ನು ಸಂಗ್ರಹಿಸಲಾಗಿತ್ತು ಮತ್ತು ಯಾವುದೂ ಅದನ್ನು ಮರುಸ್ಥಾಪಿಸಲಿಲ್ಲ.

ಎರಡರ ನಡುವೆ ನಕಲಿಸುವುದು ನೀವು ಬರೆಯುವ ಹಂತ

ಮುಖ್ಯವಾದ ಎರಡು ಹೇಳಿಕೆಗಳು ವಿರುದ್ಧ ದಿಕ್ಕಿನಲ್ಲಿ ಚಲಿಸುತ್ತವೆ: ಒಂದು ಪ್ಯಾಕೆಟ್‌ನ ಮಾರ್ಕ್ ಅನ್ನು ಸಂಪರ್ಕದಲ್ಲಿ ಸಂಗ್ರಹಿಸುತ್ತದೆ, ಇನ್ನೊಂದು ಸಂಪರ್ಕದ ಮಾರ್ಕ್ ಅನ್ನು ಪ್ಯಾಕೆಟ್‌ಗೆ ಲೋಡ್ ಮಾಡುತ್ತದೆ. ನಿಮಗೆ ಯಾವುದು ಬೇಕು ಎಂಬುದು ಹರಿವಿನ ಸಂಬಂಧದಲ್ಲಿ ವರ್ಗೀಕರಣ ಯಾವಾಗ ನಡೆಯುತ್ತದೆ ಎಂಬುದನ್ನು ಅವಲಂಬಿಸಿದೆ. ವಿನ್ಯಾಸಕ್ಕೆ ಪ್ಯಾಕೆಟ್ ಮಾರ್ಕ್ ಮಾತ್ರ ಬೇಕಾಗಬಹುದು, ಮತ್ತು ಯಾವುದೋ ತಾತ್ಕಾಲಿಕ ಪರಿಹಾರ ಎರಡನ್ನೂ ಬಳಸಿದ್ದರಿಂದ conntrack ಗುರುತು ಸೇರಿಸುವುದು ಸರಳ ನೀತಿಯು ಎರಡನೇ ವೈಫಲ್ಯ ವಿಧಾನವನ್ನು ಪಡೆಯುವ ದಾರಿ.

ct mark set meta mark
meta mark set ct mark

ನಿಯಮದ ಪಕ್ಕದಲ್ಲಿ ದಿಕ್ಕನ್ನು ಬರೆಯಿರಿ, ಏಕೆಂದರೆ ಮೊದಲ ನೋಟದಲ್ಲಿ ವಾಕ್ಯರಚನೆಯಿಂದ ಅದು ಸ್ಪಷ್ಟವಾಗಿಲ್ಲ. ಮೊದಲ ಸಾಲು ಸಂಗ್ರಹಿಸುತ್ತದೆ, ಎರಡನೇ ಸಾಲು ಮರುಸ್ಥಾಪಿಸುತ್ತದೆ, ಮತ್ತು ಯಾವುದೂ ಇನ್ನೊಂದನ್ನು ಸೂಚಿಸುವುದಿಲ್ಲ.

ಅದನ್ನು ಬಳಸುವ ಹುಡುಕಾಟಕ್ಕಿಂತ ಮೊದಲು ವರ್ಗೀಕರಿಸಿ

ಸ್ಥಳೀಯವಾಗಿ ಉತ್ಪತ್ತಿಯಾದ ಟ್ರಾಫಿಕ್ ಮತ್ತು LAN ನಿಂದ ಮುಂದಕ್ಕೆ ಕಳುಹಿಸಲಾದ ಟ್ರಾಫಿಕ್ ಬೇರೆ ಬೇರೆ ಹುಕ್ಗಳ ಮೂಲಕ ಹಾದು ಬೇರೆ ಬೇರೆ ಕ್ಷಣಗಳಲ್ಲಿ ರೌಟಿಂಗ್ ನಿರ್ಧಾರಗಳನ್ನು ತಲುಪುತ್ತವೆ. ರೌಟರ್‌ನ ಸ್ವಂತ ಸಂಪರ್ಕಗಳಿಗೆ ಕೆಲಸ ಮಾಡುವ ಔಟ್ಪುಟ್ ನಿಯಮವು ಮುಂದಕ್ಕೆ ಕಳುಹಿಸಲಾದ ಕ್ಲೈಂಟ್‌ನ ಪ್ಯಾಕೆಟ್ ತನ್ನ ಹುಡುಕಾಟಕ್ಕಿಂತ ಮೊದಲು ಗುರುತಿಸಲ್ಪಟ್ಟಿತು ಎಂಬುದನ್ನು ಸಾಬೀತುಪಡಿಸುವುದಿಲ್ಲ. ಅದನ್ನು ಬಳಸುವ ಹುಡುಕಾಟ ಇನ್ನೂ ನಡೆದಿಲ್ಲದ ಸ್ಥಳದಲ್ಲಿ ವರ್ಗೀಕರಣವನ್ನು ಇರಿಸಿ, ಮತ್ತು ಅದೇ ಸರಪಳಿಯ ನಂತರದ ನಿಯಮಗಳು ಮೌಲ್ಯವನ್ನು ಮೇಲೆ ಬರೆಯುತ್ತವೆಯೇ ಎಂದು ಪರಿಶೀಲಿಸಿ. ಸರಪಳಿಯೊಳಗಿನ ಕ್ರಮ ಸಂರಚನೆಯ ಭಾಗ, ಅನುಷ್ಠಾನದ ವಿವರವಲ್ಲ.

ಸಂಪರ್ಕ-ಸ್ಥಿತಿಯ ನಿರಂತರತೆಗೂ ಸ್ಪಷ್ಟ ಯೋಜನೆ ಬೇಕು. ಹರಿವಿನ ಮೊದಲ ಪ್ಯಾಕೆಟ್ ಮಾತ್ರ ವರ್ಗೀಕರಿಸಲ್ಪಟ್ಟರೆ, ನಂತರದ ಪ್ಯಾಕೆಟ್‌ಗಳಿಗೆ ಸಂಗ್ರಹಿಸಿದ ಮಾರ್ಕ್ ಮರುಸ್ಥಾಪನೆ ಬೇಕು, ಇಲ್ಲದಿದ್ದರೆ ಅವು ಮಾರ್ಕ್ ಇಲ್ಲದ ಮಾರ್ಗವನ್ನು ತೆಗೆದುಕೊಳ್ಳುತ್ತವೆ. ಸಂಪರ್ಕವನ್ನು ವಿವರಿಸುವ ಮಾರ್ಕ್ ಮತ್ತು ಪ್ಯಾಕೆಟ್ ಅನ್ನು ವಿವರಿಸುವ ಮಾರ್ಕ್ ನಡುವಿನ ವ್ಯತ್ಯಾಸ ಇದೇ.

ಮಾರ್ಗಕ್ಕೆ ಮಾರ್ಕ್ ಇರುವ ಪ್ರಶ್ನೆ ಕೇಳಿ

ip route get 10.77.0.10 mark 0x2

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

ಹೆಚ್ಚಾಗುವ ಕೌಂಟರ್ ಕೆಲವು ನಿಯಮ ಕೆಲವು ಪ್ಯಾಕೆಟ್‌ಗೆ ಹೊಂದಿಕೆಯಾಯಿತು ಎಂಬುದಕ್ಕೆ ಸಾಕ್ಷಿ. ಅಂತಿಮ ಪ್ಯಾಕೆಟ್ ಸರಿಯಾದ ನಿರ್ಧಾರ ಬಿಂದುವಿನಲ್ಲಿ ಉದ್ದೇಶಿತ ಮಾರ್ಕ್ ಅನ್ನು ಹೊತ್ತಿತ್ತು ಎಂಬುದಕ್ಕೆ ಅದು ಸಾಕ್ಷಿಯಲ್ಲ.

ಮಾರ್ಕ್, ದಿಕ್ಕು, ಸಮಯ ಮತ್ತು ಮಾಸ್ಕ್ ಓದಿ. ನಾಲ್ಕು ಪರಿಶೀಲನೆಗಳು, ಮತ್ತು ಮಾರ್ಗವು ರಹಸ್ಯವಾಗಿರುವುದನ್ನು ನಿಲ್ಲಿಸುತ್ತದೆ.

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