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

ನಿಯಮಗಳು ಕೋಷ್ಟಕವನ್ನು ಆಯ್ಕೆ ಮಾಡುತ್ತವೆ, ನಂತರ ಕೋಷ್ಟಕ ಮಾರ್ಗವನ್ನು ಆಯ್ಕೆ ಮಾಡುತ್ತದೆ

ಪ್ರತಿ ನಿಯಮವೂ ಆದ್ಯತೆ, ಹೊಂದಾಣಿಕೆಯ ಷರತ್ತು ಮತ್ತು ಗುರಿ ಕೋಷ್ಟಕವನ್ನು ಹೊಂದಿರುತ್ತದೆ. ಕರ್ನಲ್ ನಿಯಮಗಳನ್ನು ಆದ್ಯತೆಯ ಕ್ರಮದಲ್ಲಿ ಸಾಗಿಸುತ್ತದೆ ಮತ್ತು ಮೊದಲ ಹೊಂದಾಣಿಕೆಯಲ್ಲಿ ನಿಲ್ಲುತ್ತದೆ, ನಂತರ ಆ ಕೋಷ್ಟಕದಲ್ಲಿ ಸಾಮಾನ್ಯ ದೀರ್ಘತಮ ಪೂರ್ವಪ್ರತ್ಯಯ ಹುಡುಕಾಟ ನಡೆಸುತ್ತದೆ. ಖಾಲಿ ಕೋಷ್ಟಕಕ್ಕೆ ತೋರಿಸುವ ನಿಯಮವು ಮುಂದಿನ ನಿಯಮ ಆಯ್ಕೆ ಮಾಡುವುದಕ್ಕೆ ಬೀಳುತ್ತದೆ, ಮತ್ತು ಎಚ್ಚರಿಕೆಯಿಂದ ಬರೆದ ನಿಯಮವು ಏನನ್ನೂ ಮಾಡದಂತೆ ಕಾಣುವುದು ಹೀಗೆಯೇ.

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

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

ನಿಯಮ ಸಮೂಹವನ್ನು ಪಟ್ಟಿಯಾಗಿ ಅಲ್ಲ, ಅನುಕ್ರಮವಾಗಿ ಓದಿ

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

ip rule show
ip route show table all | sed -n '1,60p'
ip route get 198.51.100.20 from 10.8.0.2
ip route get 198.51.100.20 from 10.8.0.2 mark 0x1

ಕೊನೆಯ ಎರಡು ಆಜ್ಞೆಗಳು ಸಿದ್ಧಾಂತವನ್ನು ವೀಕ್ಷಣೆಯಾಗಿ ಬದಲಿಸುವಂಥವು, ಏಕೆಂದರೆ ಅವು ಕೇಳುತ್ತವೆ ಕರ್ನಲ್ ಆ ಮೂಲ ಮತ್ತು ಆ ಗುರುತಿಗೆ ಏನು ಮಾಡುತ್ತಿತ್ತು. ಗುರುತು ಬದಲಾದಾಗ ಉತ್ತರ ಬದಲಾದರೆ, ಗುರುತು ಆಧಾರಿತ ನಿಯಮ ಕಾರ್ಯನಿರ್ವಹಿಸುತ್ತಿದೆ ಮತ್ತು ಗುರುತನ್ನು ಬಿಟ್ಟುಬಿಡುವ ಯಾವುದೇ ಪರೀಕ್ಷೆ ಬೇರೆ ಪ್ಯಾಕೆಟ್ ಅನ್ನು ಪರೀಕ್ಷಿಸುತ್ತಿದೆ. ಹೊರಗಿನ ಸಂಪರ್ಕವು ತನ್ನದೇ ನಿಯಮಕ್ಕೆ ಅರ್ಹವಾಗಿದೆ. ಎಲ್ಲಾ ಸಂಚಾರವನ್ನು ತನ್ನ ಮೂಲಕ ರೂಟ್ ಮಾಡುವ ಸುರಂಗವು ತಾನು ಸಂಪರ್ಕಿಸುವ ಅಂತ್ಯಬಿಂದು ವಿಳಾಸವನ್ನು ಹೊರಗಿಡಬೇಕು, ಇಲ್ಲದಿದ್ದರೆ ಎನ್ಕ್ರಿಪ್ಟ್ ಆದ ಪ್ಯಾಕೆಟ್ಗಳು ತಾವು ಈಗಷ್ಟೇ ಬಿಟ್ಟ ಸುರಂಗಕ್ಕೆ ಹಿಂತಿರುಗಿ ಕಳುಹಿಸಲ್ಪಡುತ್ತವೆ. ಬಹುಪಾಲು ಕ್ಲೈಂಟ್ಗಳು ಆ ಹೊರಗಿಡುವಿಕೆಯನ್ನು ಸ್ವಯಂಚಾಲಿತವಾಗಿ ಸೇರಿಸುತ್ತವೆ, ಮತ್ತು ಕೈಯಿಂದ ಸಂಪಾದಿಸಿದ ನಿಯಮ ಸಮೂಹವೇ ಅದು ಕಾಣೆಯಾಗುವ ಸ್ಥಳ.

ಗುರುತುಗಳು ಮತ್ತು ಸಾಕೆಟ್ಗಳು: ಕ್ಲೈಂಟ್ಗಳು ಸಂಚಾರವನ್ನು ವಿಭಜಿಸುವ ಎರಡು ವಿಧಾನಗಳು

ಕೆಲವು ಕ್ಲೈಂಟ್ಗಳು ಫೈರ್ವಾಲ್ನಲ್ಲಿ ಪ್ಯಾಕೆಟ್ಗಳನ್ನು ಗುರುತಿಸಿ ಗುರುತಿಗೆ ಹೊಂದುವ ನಿಯಮವನ್ನು ಸೇರಿಸುತ್ತವೆ. ಇತರರು ಸಾಕೆಟ್ ಮಟ್ಟದ ರೂಟಿಂಗ್ ಬಳಸಿ, ಸಂಪರ್ಕಿಸುವ ಮೊದಲು ಸಾಕೆಟ್ಗೆ ಮಾರ್ಗವನ್ನು ಇಡುತ್ತವೆ. ಮೊದಲನೆಯದು ip rule ನಲ್ಲಿ ಕಾಣುತ್ತದೆ; ಎರಡನೆಯದು ಕಾಣುವುದಿಲ್ಲ, ಮತ್ತು ಸಾಮಾನ್ಯ ಹುಡುಕಾಟದಲ್ಲಿ ಕಾಣಿಸುವುದಿಲ್ಲ.

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

ಇನ್ನೊಂದು ನಿಯಮ ಸೇರಿಸುವ ಮೊದಲು ಮಾಲೀಕತ್ವವನ್ನು ಕಂಡುಹಿಡಿಯಿರಿ

ನಿಯಮಗಳನ್ನು ಯಾವುದೋ ಒಂದು ಸ್ಥಾಪಿಸುತ್ತದೆ. VPN ಕ್ಲೈಂಟ್, ನೆಟ್ವರ್ಕ್ ಮ್ಯಾನೇಜರ್ ಮತ್ತು ಕೈಯಿಂದ ಬರೆದ ಸ್ಕ್ರಿಪ್ಟ್ ಪ್ರತಿಯೊಂದೂ ಪ್ರಾರಂಭದಲ್ಲಿ ನಿಯಮಗಳನ್ನು ಸೇರಿಸಬಹುದು, ಮತ್ತು ಮರುಸಂಪರ್ಕ ತರ್ಕವು ಹಿಂದಿನ ಸಮೂಹವನ್ನು ಬಿಟ್ಟುಬಿಡಬಹುದು. ಹಿಂದಿನ ಪ್ರೊಫೈಲ್ನಿಂದ ಎರಡು ಹಳೆಯ ನಿಯಮಗಳು ಪ್ರೊಫೈಲ್ ಅಳಿಸಿದ ಬಹಳ ಸಮಯದ ನಂತರವೂ ಸಂಚಾರವನ್ನು ನಿರ್ದೇಶಿಸುತ್ತಲೇ ಇರುತ್ತವೆ.

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

ಒಂದಲ್ಲ, ಎರಡು ಹರಿವುಗಳಿಂದ ವ್ಯಾಪ್ತಿಯನ್ನು ಸಾಬೀತುಪಡಿಸಿ

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

ip route get 198.51.100.20 from 192.0.2.44
ip route get 198.51.100.21 from 192.0.2.44
tcpdump -ni any host 198.51.100.21 and port 443

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

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

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