ಲಿನಕ್ಸ್ನಲ್ಲಿ Tailscale ಕ್ಲೈಂಟ್ ಘೋಷಿತ ಸಬ್ನೆಟ್ ರೂಟ್ಗಳನ್ನು ಏಕೆ ನಿರ್ಲಕ್ಷಿಸುತ್ತದೆ
ಕೋಷ್ಟಕ 52 ಸೂಚನೆ: ಲಿನಕ್ಸ್ನಲ್ಲಿ Tailscale ಕ್ಲೈಂಟ್ ಘೋಷಿತ ಸಬ್ನೆಟ್ ರೂಟ್ ಅನ್ನು --accept-routes ನಂತರವೇ ಸ್ಥಾಪಿಸುತ್ತದೆ, ಮತ್ತು ಸಾಧನದ ಅನುಮೋದನೆ ಪ್ರತ್ಯೇಕ ದ್ವಾರ.
ನೀವು ಲಿನಕ್ಸ್ ಲ್ಯಾಪ್ಟಾಪ್ನಲ್ಲಿದ್ದೀರಿ, tailscale status ಇತರ ಯಂತ್ರಗಳನ್ನು ಪಟ್ಟಿ ಮಾಡುತ್ತದೆ, ಮತ್ತು 10.80.0.25 ನಲ್ಲಿನ NAS ಇನ್ನೂ ಸಮಯ ಮೀರಿಕೆಯಾಗುತ್ತದೆ. tailnet ಆರೋಗ್ಯಕರವಾಗಿದೆ, ಸಬ್ನೆಟ್ ರೌಟರ್ ಆನ್ಲೈನ್ನಲ್ಲಿದೆ, ಮತ್ತು ಕ್ಲೈಂಟ್ನ ಔಟ್ಪುಟ್ನಲ್ಲಿ ಅದರ ಹಿಂದಿನ LAN ಏಕೆ ತಲುಪಲಾಗದು ಎಂದು ಏನೂ ಹೇಳುತ್ತಿಲ್ಲ. ಕೆಳಗಿನ ವಿವರಣೆ ಆ ಲಕ್ಷಣದಿಂದ ಹೊರಕ್ಕೆ ಸಾಗುತ್ತದೆ: ಈ ಕ್ಲೈಂಟ್ನಲ್ಲಿನ ಫ್ಲ್ಯಾಗ್, ನಂತರ ರೌಟರ್ನಲ್ಲಿ ಘೋಷಣೆ, ನಂತರ ಅನುಮೋದನೆ, ನಂತರ ನೀತಿ, ಮತ್ತು ನಂತರವೇ ಗಮ್ಯಸ್ಥಾನ ಸ್ವತಃ. ಪ್ರತಿ ದ್ವಾರವೂ ಅದೇ ಸಮಯ ಮೀರಿಕೆಯಿಂದ ವಿಫಲವಾಗುತ್ತದೆ, ಆದ್ದರಿಂದ ಕ್ರಮವು ಆದೇಶಗಳಿಗಿಂತ ಹೆಚ್ಚು ಮುಖ್ಯ.
ಲಿನಕ್ಸ್ ಕ್ಲೈಂಟ್ ಸ್ಥಾಪಿಸಲು ನಿರಾಕರಿಸುವುದು
ಲಿನಕ್ಸ್ನಲ್ಲಿ Tailscale ಕ್ಲೈಂಟ್ಗಳು ನೀವು ಕೇಳದಿದ್ದರೆ ಘೋಷಿತ ಸಬ್ನೆಟ್ ರೂಟ್ಗಳನ್ನು ಸ್ವೀಕರಿಸುವುದಿಲ್ಲ. ಆ ಸೆಟ್ಟಿಂಗ್ ಇಲ್ಲದೆ ಕ್ಲೈಂಟ್ tailnet ಸೇರಿ ಪೀರ್ ವಿಳಾಸಗಳನ್ನು ತಲುಪುತ್ತದೆ, ಆದರೆ ರೌಟರ್ ಘೋಷಿಸುವ ಪ್ರತಿ ಪ್ರಿಫಿಕ್ಸ್ ಬಳಕೆಯಾಗದೆ ಉಳಿಯುತ್ತದೆ. ಡೀಫಾಲ್ಟ್ ಉದ್ದೇಶಪೂರ್ವಕವಾಗಿದೆ, ಮತ್ತು ಆದ್ದರಿಂದ ಲಕ್ಷಣವು ಸ್ಥಳೀಯ ನಿರ್ಣಯದಂತೆ ಅಲ್ಲದೆ ಮುರಿದ ರೌಟರ್ನಂತೆ ಕಾಣುತ್ತದೆ.
ಇಲ್ಲಿ ಎರಡು ವಿಭಿನ್ನ ವಿಷಯಗಳನ್ನು ರೂಟಿಂಗ್ ಎಂದು ಕರೆಯಲಾಗುತ್ತದೆ, ಮತ್ತು ಅವುಗಳಲ್ಲಿ ಒಂದೇ ನಿಮ್ಮದು. ರೌಟರ್ tailnet ಗೆ ಪ್ರಿಫಿಕ್ಸ್ ಘೋಷಿಸುತ್ತದೆ; ನಿಮ್ಮ ಯಂತ್ರ ಅದನ್ನು ಸ್ಥಾಪಿಸಬೇಕೇ ಎಂದು ನಿರ್ಧರಿಸುತ್ತದೆ. ಯಾವುದರಲ್ಲಾದರೂ ವೈಫಲ್ಯ ಅದೇ ಸಮಯ ಮೀರಿಕೆಯನ್ನು ನೀಡುತ್ತದೆ, ಆದ್ದರಿಂದ ಊಹೆ ಅರ್ಧ ದಿನವನ್ನು ವ್ಯರ್ಥ ಮಾಡುತ್ತದೆ. ಏನನ್ನಾದರೂ ಸಂಪಾದಿಸುವ ಮೊದಲು ಯಾವ ಬದಿ ನಿರಾಕರಿಸುತ್ತಿದೆ ಎಂದು ಕಂಡುಹಿಡಿಯಿರಿ.
ಈ ಯಂತ್ರಕ್ಕೆ ರೂಟ್ ಸ್ವೀಕೃತಿ ಆನ್ ಮಾಡಿ
ಕ್ಲೈಂಟ್ನಲ್ಲಿ ಆದ್ಯತೆಯನ್ನು ಸೆಟ್ ಮಾಡಿ, ನಂತರ ಆದೇಶ ಕೆಲಸ ಮಾಡಿದೆ ಎಂದು ಭಾವಿಸುವ ಬದಲು ಏನು ಬದಲಾಯಿತು ಎಂದು ನೋಡಿ. ಪ್ರಸ್ತುತ ರೂಪವು ಲಾಗಿನ್ ಹರಿವನ್ನು ಪುನರಾವರ್ತಿಸದೆ ಸೆಟ್ಟಿಂಗ್ ಅನ್ನು ಅನ್ವಯಿಸುತ್ತದೆ, ಇದು ಸೆಷನ್ ಮಧ್ಯದಲ್ಲಿದ್ದಾಗ ಮುಖ್ಯ.
sudo tailscale set --accept-routes
tailscale status
ip route show table 52
Tailscale ಲಿನಕ್ಸ್ನಲ್ಲಿ ಸ್ವೀಕರಿಸಿದ ರೂಟ್ಗಳನ್ನು ತನ್ನದೇ ಕೋಷ್ಟಕದಲ್ಲಿ ಸ್ಥಾಪಿಸುತ್ತದೆ, ಆದ್ದರಿಂದ ಕೋಷ್ಟಕ 52 ರಲ್ಲಿ ಪ್ರಿಫಿಕ್ಸ್ ಕಾಣಿಸಿಕೊಳ್ಳುವುದು ಈ ಕ್ಲೈಂಟ್ ಘೋಷಣೆಯನ್ನು ಸ್ಥಾಪಿಸಿದುದಕ್ಕೆ ನೇರ ಸಾಕ್ಷ್ಯ. ನಿಮ್ಮ ಶ್ರೇಣಿ ಆ ಕೋಷ್ಟಕದಲ್ಲಿಲ್ಲದಿದ್ದರೆ ನಿಲ್ಲಿಸಿ: ಸಮಸ್ಯೆ ಸ್ಥಳೀಯವಾಗಿದೆ ಮತ್ತು ರೌಟರ್ನಲ್ಲಿ ಎಷ್ಟೇ ಕೆಲಸ ಮಾಡಿದರೂ ಅದು ಬದಲಾಗುವುದಿಲ್ಲ.
ಹಳೆಯ ಕ್ಲೈಂಟ್ಗಳು ಅದೇ ಆದ್ಯತೆಯನ್ನು ಲಾಗಿನ್ ಆದೇಶದ ಫ್ಲ್ಯಾಗ್ ಆಗಿ ಒದಗಿಸುತ್ತವೆ, ಆದ್ದರಿಂದ tailscale set ಇಲ್ಲದಿದ್ದಾಗ sudo tailscale up --accept-routes ಪರ್ಯಾಯ. ರೂಟ್ಗಳನ್ನು ಕೈಯಿಂದ ಸಂಪಾದಿಸುವ ಬದಲು ಅದನ್ನು ಬಳಸಿ, ಏಕೆಂದರೆ ಡೀಮನ್ ತನ್ನ ಕೋಷ್ಟಕವನ್ನು ಮತ್ತೆ ಬರೆಯುತ್ತದೆ ಮತ್ತು ನಿಮ್ಮ ಸಂಪಾದನೆ ಮುಂದಿನ ಮರುಸಂಪರ್ಕದಲ್ಲಿ ಮಾಯವಾಗುತ್ತದೆ. ಹಳೆಯ ಪೋಸ್ಟ್ನಿಂದ ಆದೇಶವನ್ನು ನಕಲಿಸುವ ಮೊದಲು ಆವೃತ್ತಿ ಪರಿಶೀಲಿಸಿ.
ಘೋಷಣೆ ಮತ್ತು ಅನುಮೋದನೆಯನ್ನು ಪ್ರತ್ಯೇಕವಾಗಿ ಪರಿಶೀಲಿಸಿ
ಸಬ್ನೆಟ್ ರೌಟರ್ನಲ್ಲಿ ಪ್ರಿಫಿಕ್ಸ್ ಘೋಷಿಸಬೇಕು, ಮತ್ತು ಕರ್ನಲ್ ಇಂಟರ್ಫೇಸ್ಗಳ ನಡುವೆ ಪ್ಯಾಕೆಟ್ಗಳನ್ನು ಫಾರ್ವರ್ಡ್ ಮಾಡಬೇಕು. ಫಾರ್ವರ್ಡಿಂಗ್ ಇಲ್ಲದೆ ಘೋಷಣೆ ನಿಮಗೆ ಅನುಮೋದಿತ ರೂಟ್ ನೀಡುತ್ತದೆ, ಅದು ಸಂಚಾರವನ್ನು ಮೌನವಾಗಿ ಬಿಡುತ್ತದೆ, ಮತ್ತು ಇದು ಅತ್ಯಂತ ಸಾಮಾನ್ಯ ಅರ್ಧಪೂರ್ಣ ಸೆಟಪ್.
sudo tailscale up --advertise-routes=10.80.0.0/24
sysctl net.ipv4.ip_forward
ip -br addr
ಘೋಷಿತ ಪ್ರಿಫಿಕ್ಸ್ ಅನ್ನು ನೀವು ನಿಜವಾಗಿ ತಲುಪಲು ಪ್ರಯತ್ನಿಸುತ್ತಿರುವ ವಿಳಾಸದೊಂದಿಗೆ ಅಕ್ಷರದಿಂದ ಅಕ್ಷರ ಹೋಲಿಸಿ. 10.70.0.0/24 ಘೋಷಿಸುವ ರೌಟರ್ 10.80.0.25 ನಲ್ಲಿನ NAS ಬಗ್ಗೆ ಏನನ್ನೂ ಹೇಳುವುದಿಲ್ಲ, ಮತ್ತು ಎರಡೂ ಸಂಖ್ಯೆಗಳು ಸಮಾನವಾಗಿ ನಂಬಲರ್ಹವಾಗಿ ಕಾಣುವುದರಿಂದ ಈಹೊಂದಾಣಿಕೆ ಯಾವುದೇ ಸ್ಥಿತಿ ಔಟ್ಪುಟ್ನಲ್ಲಿ ಕಾಣುವುದಿಲ್ಲ. ಮುರಿದ ರೂಟ್ನ ಹೆಚ್ಚಿನ ವರದಿಗಳು ಇಲ್ಲಿಯೇ ಕೊನೆಗೊಳ್ಳುತ್ತವೆ. ಕೆಳಗೆ ಏನನ್ನೂ ಸ್ಪರ್ಶಿಸುವ ಮೊದಲು ಘೋಷಣೆಯನ್ನು ಸರಿಪಡಿಸಿ.
ಅನುಮೋದನೆ ಮುಂದಿನ ದ್ವಾರ, ಮತ್ತು ರೌಟರ್ ಶೆಲ್ನಿಂದ ಸಂರಚಿಸಲ್ಪಟ್ಟಾಗ ಅದನ್ನು ಬಿಟ್ಟುಬಿಡುವುದು ಸುಲಭ. ಇತರ ಯಂತ್ರಗಳು ಬಳಸುವ ಮೊದಲು ನಿರ್ವಾಹಕ ಕನ್ಸೋಲ್ನಲ್ಲಿ ಆ ಸಾಧನಕ್ಕೆ ಘೋಷಣೆ ಸಕ್ರಿಯಗೊಳಿಸಬೇಕು. ಕ್ಲೈಂಟ್ನಲ್ಲಿ ರೂಟ್ಗಳನ್ನು ಸ್ವೀಕರಿಸುವುದು ಏನನ್ನೂ ಅನುಮೋದಿಸುವುದಿಲ್ಲ ಮತ್ತು ಯಾವುದೇ ಪ್ರವೇಶ ನಿಯಮ ಅನ್ನು ಅತಿಕ್ರಮಿಸುವುದಿಲ್ಲ.
ಹೋಸ್ಟ್ನಾಮ್ಗಿಂತ ಮೊದಲು ಖಾಸಗಿ ವಿಳಾಸ ಪರೀಕ್ಷಿಸಿ
ರೌಟರ್ನ ಸ್ವಂತ tailnet ವಿಳಾಸಕ್ಕೆ ಯಶಸ್ವಿ ಸಂಪರ್ಕ tailnet ಕೆಲಸ ಮಾಡುತ್ತದೆ ಎಂದು ಸಾಬೀತುಪಡಿಸುತ್ತದೆ, ಅದು ನಿಮಗೆ ಈಗಾಗಲೇ ತಿಳಿದಿತ್ತು. ಉಪಯುಕ್ತ ಪರೀಕ್ಷೆ ಎಂದರೆ ನಿಮಗೆ ನಿಜವಾಗಿ ಬೇಕಾದ ಸೇವೆ, ಮೊದಲು ಖಾಸಗಿ ವಿಳಾಸದ ವಿರುದ್ಧ, ಇದರಿಂದ DNS ವೈಫಲ್ಯ ರೂಟಿಂಗ್ ವೈಫಲ್ಯದಂತೆ ಕಾಣಲಾಗದು.
tailscale ping 10.80.0.1
ping -c 2 10.80.0.25
nc -vz 10.80.0.25 445
getent hosts nas.internal.example
ವಿಳಾಸ ಉತ್ತರಿಸಿ ಹೋಸ್ಟ್ನಾಮ್ ಉತ್ತರಿಸದಿದ್ದರೆ, ನಿಮಗೆ ಹೆಸರು ವಿಭಜನೆ ಸಮಸ್ಯೆ ಇದೆ ಮತ್ತು ಅದನ್ನು ರೂಟ್ ಸಮಸ್ಯೆ ಎಂದು ಪರಿಗಣಿಸುವುದನ್ನು ನಿಲ್ಲಿಸಿ. ಎರಡೂ ಉತ್ತರಿಸದಿದ್ದರೆ, ಒಂದು ವಿಭಾಗ ಹಿಂದಕ್ಕೆ ಹೋಗಿ ಘೋಷಣೆ ವಿಳಾಸವನ್ನು ಆವರಿಸುತ್ತದೆ ಎಂದು ಖಚಿತಪಡಿಸಿ. ಎರಡೂ ವೈಫಲ್ಯಗಳು ಅಪ್ಲಿಕೇಶನ್ನಿಂದ ಒಂದೇ ರೀತಿ ಕಾಣುತ್ತವೆ ಮತ್ತು ಬೇರೆ ಬೇರೆ ಕಡೆ ಸರಿಪಡಿಸಲಾಗುತ್ತದೆ.
tailnet ಅನ್ನು ದೂಷಿಸುವ ಮೊದಲು ಒಂದು ಸ್ಥಳೀಯ ಪರಿಶೀಲನೆ ಯೋಗ್ಯವಾಗಿದೆ. ನಿಮ್ಮ ಪ್ರಸ್ತುತ LAN ದೂರದ ಸಬ್ನೆಟ್ನಂತೆಯೇ ಅದೇ ಪ್ರಿಫಿಕ್ಸ್ ಬಳಸಿದಾಗ, ಕರ್ನಲ್ ನೇರವಾಗಿ ಸಂಪರ್ಕಿತ ರೂಟ್ಗೆ ಆದ್ಯತೆ ನೀಡುತ್ತದೆ ಮತ್ತು ಸಂಚಾರ ಎಂದಿಗೂ ಯಂತ್ರವನ್ನು ಬಿಡುವುದಿಲ್ಲ; ಮನೆ ಮತ್ತು ಕಚೇರಿ ಎರಡೂ 192.168.1.0/24 ಆರಿಸಿದಾಗ ಇದೇ ಸಂಭವಿಸುತ್ತದೆ.
ಕ್ಲೈಂಟ್ ಫ್ಲ್ಯಾಗ್ ರೌಟರ್ ಸೆಟ್ಟಿಂಗ್ ಏಕೆ ಅಲ್ಲ
ಇವು ವಿಭಿನ್ನ ಅವಶ್ಯಕತೆಗಳಿರುವ ವಿಭಿನ್ನ ಪಾತ್ರಗಳು, ಮತ್ತು ಕ್ಲೈಂಟ್ ಫ್ಲ್ಯಾಗ್ ಅನ್ನು ರೌಟರ್ಗೆ ನಕಲಿಸುವುದು ಕೆಲಸ ಮಾಡುವ tailnet ಲೂಪ್ ಪಡೆಯುವ ವಿಧಾನ. ರೂಟ್ಗಳನ್ನು ಘೋಷಿಸುವ ಯಂತ್ರಕ್ಕೆ ಫಾರ್ವರ್ಡಿಂಗ್, ಫಾರ್ವರ್ಡ್ ಆದ ಸಂಚಾರವನ್ನು ಅನುಮತಿಸುವ ಫೈರ್ವಾಲ್ ನಿಯಮಗಳು ಮತ್ತು ಯಾವ ಪ್ರಿಫಿಕ್ಸ್ಗಳನ್ನು ಘೋಷಿಸಬೇಕು ಎಂಬ ನಿರ್ಣಯ ಬೇಕು. ಇವುಗಳಲ್ಲಿ ಯಾವುದೂ --accept-routes ನಿಂದ ಸೂಚಿಸಲ್ಪಟ್ಟಿಲ್ಲ.
ಸಬ್ನೆಟ್ ರೌಟರ್ ದಾಖಲೆಗಳು ಒಂದೇ ಪ್ರಿಫಿಕ್ಸ್ ಘೋಷಿಸುವ ಹೆಚ್ಚುವರಿ ರೌಟರ್ಗಳಲ್ಲಿ ರೂಟ್ ಸ್ವೀಕೃತಿಯನ್ನು ಆನ್ ಮಾಡಬೇಡಿ ಎಂದು ಎಚ್ಚರಿಸುತ್ತವೆ, ಏಕೆಂದರೆ ಸ್ಟ್ಯಾಂಡ್ಬೈ ನೋಡ್ ಈಗಾಗಲೇ ಸ್ಥಳೀಯವಾದ ಸಂಚಾರವನ್ನು ಸಕ್ರಿಯ ನೋಡ್ ಮೂಲಕ ಹೊರಕ್ಕೆ ತಳ್ಳಬಹುದು. ನೀವು HA ಜೋಡಿ ನಡೆಸುತ್ತಿದ್ದರೆ, ಅದನ್ನು ಪಾದಟಿಪ್ಪಣಿಯಲ್ಲದೆ ವಿನ್ಯಾಸ ಮಿತಿ ಎಂದು ಪರಿಗಣಿಸಿ, ಮತ್ತು ಎರಡಕ್ಕೂ ಅನುಮೋದಿಸುವ ಮೊದಲು ಯಾವ ನೋಡ್ ಪ್ರಿಫಿಕ್ಸ್ ಮಾಲೀಕ ಎಂದು ನಿರ್ಧರಿಸಿ. ಒಂದೇ ರೌಟರ್ನಲ್ಲಿ ಅದೇ ಎಚ್ಚರಿಕೆ ಸ್ವೀಕೃತಿ ಕ್ಲೈಂಟ್ಗಳಿಗೆ ಸೇರಿದ್ದು, ಘೋಷಿಸುವ ಯಂತ್ರಕ್ಕಲ್ಲ ಎಂದು ನೆನಪಿಸುತ್ತದೆ. ಯಾವ ದ್ವಾರ ಮುಚ್ಚಿತ್ತು ಎಂದು ಬರೆಯಿರಿ.
ಸಾಮಾನ್ಯ ಕ್ಲೈಂಟ್ಗೆ ಕ್ರಮವು ಆರಂಭದಲ್ಲಿ ವಿಫಲವಾದ ಅಪ್ಲಿಕೇಶನ್ ಪರೀಕ್ಷೆಯೊಂದಿಗೆ ಕೊನೆಗೊಳ್ಳುತ್ತದೆ. ರೌಟರ್ಗೆ ಫಾರ್ವರ್ಡಿಂಗ್, ಘೋಷಣೆ, ಅನುಮೋದನೆ ಮತ್ತು ಫೈರ್ವಾಲ್ ಅನ್ನು ಆ ಕ್ರಮದಲ್ಲಿ ಪರಿಶೀಲಿಸಿ, ಏಕೆಂದರೆ ಮೊದಲ ಕಾಣೆಯಾದದ್ದು ನೀವು ಪ್ರಾರಂಭಿಸಿದ ಅದೇ ಸಮಯ ಮೀರಿಕೆಯನ್ನು ಉಂಟುಮಾಡುತ್ತದೆ.