ನಿಮ್ಮ ಸ್ಪ್ಲಿಟ್-ಟನೆಲ್ ನಿಯಮವು ಸೇವೆಯೊಂದಿಗೆ ಹೊಂದಿಕೆಯಾಗುವುದನ್ನು ಏಕೆ ನಿಲ್ಲಿಸಿತು
ನಿಯಮವು ಪೂರ್ವಪ್ರತ್ಯಯವನ್ನು ಪಿನ್ ಮಾಡುತ್ತದೆ ಮತ್ತು ಸೇವೆ ಸ್ಥಳಾಂತರಗೊಂಡಿದೆ. ಅಪ್ಲಿಕೇಶನ್ ನಿಜವಾಗಿ ಬಳಸುವ ಗಮ್ಯಸ್ಥಾನವನ್ನು ಓದಿ, ನಂತರ ವಿನಾಯಿತಿಯನ್ನು ವಿಸ್ತರಿಸುವ ಬದಲು ಕಾರ್ಯವಿಧಾನವನ್ನು ಸರಿಪಡಿಸಿ.
ಸ್ಪ್ಲಿಟ್ ಟನೆಲಿಂಗ್ ಸಾಮಾನ್ಯವಾಗಿ ಎರಡು ವಿಧಾನಗಳಲ್ಲಿ ಒಂದರಲ್ಲಿ ವಿಫಲವಾಗುತ್ತದೆ. ಟನೆಲ್ ಒಳಗೆ ಇರಬೇಕಾದ ಸಂಚಾರವು ಅದನ್ನು ಸುತ್ತಿಕೊಂಡು ಹೋಗುತ್ತದೆ, ಅಥವಾ ಹೊರಗೆ ಉಳಿಯಬೇಕಾದ ಸಂಚಾರವು ಒಳಗೆ ಎಳೆಯಲ್ಪಡುತ್ತದೆ. ಹಳೆಯ ನಿಯಮದ ವೈಫಲ್ಯವು ಮೊದಲ ಬಗೆಯದು, ಮತ್ತು ಅದು ಹೆಚ್ಚು ಗೊಂದಲಕಾರಿ, ಏಕೆಂದರೆ ನಿಯಮವನ್ನು ಬರೆದಂತೆಯೇ ಅನುಸರಿಸಲಾಗುತ್ತದೆ. ಬದಲಾದದ್ದು ಗಮ್ಯಸ್ಥಾನ: ಸೇವೆಯು ಈಗ ನಿಯಮವು ಎಂದಿಗೂ ಹೆಸರಿಸದ ವಿಳಾಸದಲ್ಲಿ ಉತ್ತರಿಸುತ್ತದೆ, ಮತ್ತು ಟನೆಲ್ನಲ್ಲಿ ಏನೂ ತಪ್ಪಿಲ್ಲ.
ನಿಯಮವು ಏನನ್ನು ಪಿನ್ ಮಾಡುತ್ತದೆ ಮತ್ತು DNS ಏನನ್ನು ಹಿಂತಿರುಗಿಸುತ್ತದೆ
ಸ್ಪ್ಲಿಟ್-ಟನೆಲ್ ನಿಯಮವು ಗಮ್ಯಸ್ಥಾನಗಳ ಬಗ್ಗೆ ಸ್ಥಿರ ಹೇಳಿಕೆಯಾಗಿದೆ, ಸಾಮಾನ್ಯವಾಗಿ ಪೂರ್ವಪ್ರತ್ಯಯ, ಮಾರ್ಗ ಅಥವಾ ವಿಳಾಸಗಳ ಪಟ್ಟಿಯಾಗಿ ವ್ಯಕ್ತಪಡಿಸಲಾಗಿದೆ. ಕಳುಹಿಸುವ ಸಮಯದಲ್ಲಿ ಪ್ಯಾಕೆಟ್ನ ಗಮ್ಯಸ್ಥಾನದ ವಿರುದ್ಧ ಅದನ್ನು ಮೌಲ್ಯಮಾಪನ ಮಾಡಲಾಗುತ್ತದೆ. ಹೋಸ್ಟ್ಹೆಸರು ಜೀವಿತಾವಧಿ ಮತ್ತು ಕ್ಯಾಶ್ನೊಂದಿಗೆ ವಿಳಾಸಗಳ ಗುಂಪನ್ನು ಹಿಂತಿರುಗಿಸುವ ಹುಡುಕಾಟವಾಗಿದೆ, ಮತ್ತು ಉತ್ತರವು ರಿಸಾಲ್ವರ್, ಪ್ರಶ್ನೆಯ ಪ್ರಕಾರ ಮತ್ತು ನಿಮಿಷದ ಪ್ರಕಾರ ಬದಲಾಗಬಹುದು.
ಆ ಎರಡು ವಸ್ತುಗಳು ಎಂದಿಗೂ ಪರಸ್ಪರ ಮಾತುಕತೆ ನಡೆಸುವುದಿಲ್ಲ. ನಿಯಮವು ತನಗೆ ನೀಡಿದ ಪೂರ್ವಪ್ರತ್ಯಯದೊಂದಿಗೆ ಹೊಂದಿಕೆಯಾಗುತ್ತಲೇ ಇರುತ್ತದೆ, ಸೇವೆಯು ನೀಡುವ ವಿಳಾಸವನ್ನು ಬದಲಿಸುತ್ತಲೇ ಇರುತ್ತದೆ, ಮತ್ತು ಅವುಗಳ ನಡುವಿನ ಅಂತರವು ಮೌನವಾಗಿ ವಿಸ್ತರಿಸುತ್ತದೆ. ಆದ್ದರಿಂದ ರೋಗಲಕ್ಷಣವು ಕಾನ್ಫಿಗರೇಶನ್ ಬದಲಾವಣೆಯ ನಂತರವಲ್ಲ, ಪೂರೈಕೆದಾರರ ಸ್ಥಳಾಂತರ ಅಥವಾ ಪ್ರಮಾಣಪತ್ರ ನವೀಕರಣದ ನಂತರ ಕಾಣಿಸಿಕೊಳ್ಳುತ್ತದೆ. ಯಾರೂ ಟನೆಲ್ ಅನ್ನು ಸಂಪಾದಿಸಲಿಲ್ಲ, ಆದ್ದರಿಂದ ಯಾರೂ ಟನೆಲ್ ಅನ್ನು ನೋಡುವುದಿಲ್ಲ, ಮತ್ತು ರೋಗನಿರ್ಣಯವು ನೀತಿಯ ಬದಲು ಅಪ್ಲಿಕೇಶನ್ನ ಕಡೆಗೆ ಜಾರುತ್ತದೆ.
ಹೊಂದಾಣಿಕೆ ಮುರಿಯುವ ಮೂರು ವಿಧಾನಗಳು
ಸ್ಪಷ್ಟ ಪ್ರಕರಣ ಸ್ಥಳಾಂತರಗೊಂಡ ಸೇವೆ: ಆಪರೇಟರ್ ಅದಕ್ಕೆ ಹೊಸ ವಿಳಾಸ ನೀಡಿದರು, DNS ಅನುಸರಿಸಿತು, ವಿನಾಯಿತಿ ಅನುಸರಿಸಲಿಲ್ಲ. ಎರಡನೆಯದು ನಿಯಮವು ಎಂದಿಗೂ ಆವರಿಸದ ವಿಳಾಸ ಕುಟುಂಬ, ಇದು ಹೆಸರೊಂದು IPv4 ಗಾಗಿ ಮಾತ್ರ ಇರುವ ವಿನಾಯಿತಿಯು ನಿರ್ಲಕ್ಷಿಸುವ AAAA ದಾಖಲೆಗಳನ್ನು ಹಿಂತಿರುಗಿಸಲು ಪ್ರಾರಂಭಿಸಿದಾಗ ಸಂಭವಿಸುತ್ತದೆ. ಮೂರನೆಯದು ರಿಸಾಲ್ವರ್ ವ್ಯತ್ಯಾಸ: ಒಳ ಮತ್ತು ಸಾರ್ವಜನಿಕ ನೋಟವು ಒಂದೇ ಹೆಸರಿಗೆ ಬೇರೆ ಬೇರೆ ವಿಳಾಸಗಳನ್ನು ಹಿಂತಿರುಗಿಸಬಹುದು, ಆದ್ದರಿಂದ ನಿಮ್ಮ ಅಪ್ಲಿಕೇಶನ್ ಬಳಸುವ ವಿಳಾಸವು ನೀವು ಪರೀಕ್ಷಿಸಿದ ವಿಳಾಸವಲ್ಲ.
ಕ್ಯಾಶ್ ಮಾಡಿದ ಸಂಪರ್ಕವು ನಾಲ್ಕನೇ ರೂಪಾಂತರ ಮತ್ತು ಅದನ್ನು ತಪ್ಪಿಸುವುದು ಸುಲಭ. ಅಪ್ಲಿಕೇಶನ್ ಒಂದು ಗಂಟೆ ಹಿಂದೆ ಪರಿಹರಿಸಿದ ವಿಳಾಸದೊಂದಿಗೆ ಇನ್ನೂ ಮಾತನಾಡುತ್ತಿರಬಹುದು, ಅಂದರೆ ನಿಮ್ಮ ಹೊಸ ಹುಡುಕಾಟ ಮತ್ತು ಅದರ ತೆರೆದ ಸಾಕೆಟ್ ಸೇವೆ ಎಲ್ಲಿದೆ ಎಂಬುದರ ಬಗ್ಗೆ ಒಪ್ಪುವುದಿಲ್ಲ.
ಅಪ್ಲಿಕೇಶನ್ ನಿಜವಾಗಿ ಬಳಸುವ ಗಮ್ಯಸ್ಥಾನವನ್ನು ಓದಿ
ಬ್ರೌಸರ್ ಟ್ಯಾಬ್ಗಲ್ಲ, ಆಪರೇಟಿಂಗ್ ಸಿಸ್ಟಮ್ ಮತ್ತು ಸಾಕೆಟ್ ಕೋಷ್ಟಕಕ್ಕೆ ಕೇಳಿ. ಹುಡುಕಾಟವು ಹೆಸರು ಈಗ ಯಾವುದಕ್ಕೆ ಪರಿಹರಿಸುತ್ತದೆ ಎಂದು ಉತ್ತರಿಸುತ್ತದೆ, ಮತ್ತು ಸಾಕೆಟ್ ಕೋಷ್ಟಕವು ಪ್ರಕ್ರಿಯೆ ಸಂಪರ್ಕಗೊಂಡಿರುವ ವಿಳಾಸವನ್ನು ತೋರಿಸುತ್ತದೆ, ಅದು ಹಳೆಯದಾಗಿರಬಹುದು. ಸಿದ್ಧಾಂತ ರೂಪಿಸುವ ಮೊದಲು ಎರಡನ್ನೂ ಚಲಾಯಿಸಿ, ಏಕೆಂದರೆ ಅವುಗಳ ನಡುವಿನ ವ್ಯತ್ಯಾಸವೇ ಸುಮಾರು ಅರ್ಧದಷ್ಟು ಪ್ರಕರಣಗಳಲ್ಲಿ ಉತ್ತರವಾಗಿದೆ.
getent ahosts api.example.com
dig +short api.example.com A
dig +short api.example.com AAAA
ss -tnp | grep -F api
ip route get 203.0.113.40
ನಂತರ ನಿಯಮವು ಏನನ್ನು ಆವರಿಸುತ್ತದೆ ಎಂಬುದರೊಂದಿಗೆ ಹೋಲಿಸಿ. ಪ್ರಸ್ತುತ ವಿಳಾಸವು ವಿನಾಯಿತಿಯ ಹೊರಗೆ ಬಿದ್ದರೆ ಮತ್ತು ವಿನಂತಿ ಇನ್ನೂ ವಿಫಲವಾದರೆ, ಟನೆಲ್ ಕಾನ್ಫಿಗರೇಶನ್ ಮುಟ್ಟದೆಯೇ ನೀವು ಕಾರಣವನ್ನು ಕಂಡುಕೊಂಡಿದ್ದೀರಿ. ಅಪ್ಲಿಕೇಶನ್ ನಿಯಮಕ್ಕೆ ಹೊಂದಿಕೆಯಾಗುವ ವಿಳಾಸಕ್ಕೆ ಸಂಪರ್ಕಗೊಂಡಿದ್ದರೆ ಮತ್ತು ವಿನಂತಿ ಇನ್ನೂ ವಿಫಲವಾದರೆ, ಸಮಸ್ಯೆ ಟನೆಲ್ನ ಆಚೆ ಇದೆ ಮತ್ತು ಇದು ತಪ್ಪು ತನಿಖೆ.
ರೋಗಲಕ್ಷಣವಲ್ಲ, ಕಾರ್ಯವಿಧಾನವನ್ನು ಸರಿಪಡಿಸಿ
ಉತ್ಪನ್ನವು ನಿರ್ವಹಿತ ಡೊಮೇನ್ ಆಧಾರಿತ ಸ್ಟೀರಿಂಗ್ ಅನ್ನು ಬೆಂಬಲಿಸಿದರೆ, ಅದನ್ನು ಬಳಸಿ ಮತ್ತು ಅದರ ದಾಖಲಿತ ರಿಫ್ರೆಶ್ ಮತ್ತು ವ್ಯಾಪ್ತಿಯ ನಡವಳಿಕೆಯನ್ನು ಅನುಸರಿಸಿ. ಅದು ಸ್ಥಿರ ಊಹೆಯನ್ನು ನಿರ್ವಹಿತ ಉತ್ತರದಿಂದ ಬದಲಾಯಿಸುತ್ತದೆ, ವೈಶಿಷ್ಟ್ಯವು ದಾಖಲೆಯಂತೆ ಕೆಲಸ ಮಾಡುವ ಅವಲಂಬನೆಯ ವೆಚ್ಚದಲ್ಲಿ.
ವಿನ್ಯಾಸವು ಸ್ಥಿರ ಪಟ್ಟಿಯನ್ನು ಅವಲಂಬಿಸಿದರೆ, ಅದಕ್ಕೆ ಮಾಲೀಕ ಮತ್ತು ನವೀಕರಣ ಯೋಜನೆಯನ್ನು ನೀಡಿ. ಯೋಜನೆಯು ವಿಳಾಸವನ್ನು ಹೇಗೆ ಕಂಡುಹಿಡಿಯಲಾಗುತ್ತದೆ, ಬದಲಾವಣೆಯನ್ನು ಯಾರು ಅನುಮೋದಿಸುತ್ತಾರೆ ಮತ್ತು ಪಟ್ಟಿಯು ಪೂರೈಕೆದಾರರ ಸ್ಥಳಾಂತರವನ್ನು ಎಷ್ಟು ಬೇಗ ಅನುಸರಿಸುತ್ತದೆ ಎಂದು ನಿರೀಕ್ಷಿಸಲಾಗಿದೆ ಎಂದು ಹೇಳಬೇಕು. ಮಾಲೀಕರಿಲ್ಲದ ಪಟ್ಟಿ ತಿಳಿದಿರುವ ಕಾರಣದ ಭವಿಷ್ಯದ ಅಡ್ಡಿ.
ಸಣ್ಣ ಪರೀಕ್ಷೆಯಲ್ಲಿ ನೋಡಿದ ಪ್ರತಿ ವಿಳಾಸವನ್ನೂ ಹಿಡಿಯಲು ಮಾತ್ರ ವಿನಾಯಿತಿಯನ್ನು ದೊಡ್ಡ ನೆರೆಯ ನೆಟ್ವರ್ಕ್ಗೆ ವಿಸ್ತರಿಸಬೇಡಿ. ಅದು ಸರಿಪಡಿಸುವಿಕೆಯಲ್ಲ; ಅದು ಭದ್ರತಾ ಗಡಿಯ ಶಾಶ್ವತ ಬದಲಾವಣೆ, ಮತ್ತು ನಿಯಮವು ಇರುವವರೆಗೆ ಸಂಬಂಧವಿಲ್ಲದ ಸೇವೆಗಳು ಟನೆಲ್ ಅನ್ನು ಮೌನವಾಗಿ ಬೈಪಾಸ್ ಮಾಡಲು ಅನುಮತಿಸುತ್ತದೆ.
ಉದ್ದೇಶದ ಎರಡೂ ಭಾಗಗಳನ್ನು ಪರಿಶೀಲಿಸಿ
ಸ್ಪ್ಲಿಟ್-ಟನೆಲ್ ವಿನ್ಯಾಸಕ್ಕೆ ಎರಡು ಉದ್ದೇಶಗಳಿವೆ, ಮತ್ತು ಸರಿಪಡಿಸುವಿಕೆ ಎರಡನ್ನೂ ಉಳಿಸಬೇಕು. ಸಂರಕ್ಷಿತ ಸೇವೆಯು ಟನೆಲ್ ಮೂಲಕ ಹೋಗಬೇಕು, ಮತ್ತು ಹೊರಗಿಡಲಾದ ವರ್ಗಗಳು ಅದನ್ನು ಸುತ್ತಿಕೊಂಡು ಹೋಗುವುದನ್ನು ಮುಂದುವರಿಸಬೇಕು. ಸರಿಪಡಿಸಿದ ಗಮ್ಯಸ್ಥಾನಕ್ಕೆ ಹೊಸ ಸಂಪರ್ಕವನ್ನು ಪರೀಕ್ಷಿಸಿ, ನಂತರ ಹೊರಗೆ ಉಳಿಯಬೇಕಾದದ್ದನ್ನು ಪರೀಕ್ಷಿಸಿ.
curl -sv --max-time 5 https://api.example.com/ -o /dev/null 2>&1 | grep -E 'Trying|Connected to'
curl -sS --max-time 5 https://public.example/ -o /dev/null -w '%{http_code}\n'
ಹೊಸ ವಿಳಾಸ, ಆಯ್ಕೆ ಮಾಡಿದ ಕಾರ್ಯವಿಧಾನ ಮತ್ತು ದಿನಾಂಕವನ್ನು ದಾಖಲಿಸಿ. ಆ ಟಿಪ್ಪಣಿಯೇ VPN ತನ್ನದೇ ಸಂರಚನೆಯನ್ನು ಯದೃಚ್ಛಿಕವಾಗಿ ನಿರ್ಲಕ್ಷಿಸಿತು ಎಂಬ ತೀರ್ಮಾನಕ್ಕೆ ಮುಂದಿನ ವ್ಯಕ್ತಿ ಬರದಂತೆ ತಡೆಯುತ್ತದೆ.