Tailscale Serve vs Funnel: ಲಿಂಕ್ ಅನ್ನು ನಿಜವಾಗಿ ಯಾರು ತೆರೆಯಬಹುದು?
Serve ಸೇವೆಯನ್ನು ನಿಮ್ಮ tailnet ಜೊತೆ ಹಂಚಿಕೊಳ್ಳುತ್ತದೆ, Funnel ಅದನ್ನು ಮುಕ್ತ ಇಂಟರ್ನೆಟ್ಗೆ ಒಡ್ಡುತ್ತದೆ. ಪ್ರೇಕ್ಷಕರು, ಗುರುತಿನ ಹೆಡರ್ಗಳು ಮತ್ತು Funnel ಅನುಮತಿಸುವ ಪೋರ್ಟ್ಗಳನ್ನು ಹೋಲಿಸಿ.
ಎರಡೂ ಆಜ್ಞೆಗಳು ಸ್ಥಳೀಯ ಸೇವೆಯನ್ನು Tailscale HTTPS ಹೆಸರಿನ ಮೂಲಕ ಪ್ರಕಟಿಸುತ್ತವೆ, ಮತ್ತು ಅವನ್ನು ಚಲಾಯಿಸುವ ಯಂತ್ರದಿಂದ ಅವು ಬಹುತೇಕ ಒಂದೇ ರೀತಿ ಕಾಣುತ್ತವೆ. ವ್ಯತ್ಯಾಸವೆಂದರೆ ನಂತರ URL ತಲುಪಬಲ್ಲವರು ಯಾರು, ಮತ್ತು ಆ ವ್ಯತ್ಯಾಸವೇ ನಿಮ್ಮ ಅಪ್ಲಿಕೇಶನ್ಗೆ ಇನ್ನೂ ಯಾವ ನಿಯಂತ್ರಣಗಳು ಬೇಕು ಎಂಬುದನ್ನು ನಿರ್ಧರಿಸುತ್ತದೆ. Serve ಪ್ರೇಕ್ಷಕರನ್ನು tailnet ಒಳಗೆ ಇಡುತ್ತದೆ, Funnel ಅವರನ್ನು ಮುಕ್ತ ಇಂಟರ್ನೆಟ್ಗೆ ಸಾಗಿಸುತ್ತದೆ. ಮೊದಲು ಪ್ರೇಕ್ಷಕರನ್ನು ಆಯ್ಕೆಮಾಡಿ, ನಂತರ ಅವರಿಗೆ ಹೊಂದುವ ಆಜ್ಞೆಯನ್ನು ಆಯ್ಕೆಮಾಡಿ.
Serve ನಿಮ್ಮ tailnet ಒಳಗಿನ ಪ್ರಶ್ನೆಗೆ ಉತ್ತರಿಸುತ್ತದೆ
Serve ಸ್ಥಳೀಯ ಪೋರ್ಟ್ ಅನ್ನು ಪ್ರಾಕ್ಸಿ ಮಾಡುತ್ತದೆ ಅಥವಾ ನಿಮ್ಮ tailnetನ ಸಾಧನಗಳಿಗೆ ಸ್ಥಳೀಯ ವಿಷಯವನ್ನು ನೀಡುತ್ತದೆ, ಮತ್ತು tailnetನ ಪ್ರವೇಶ ನಿಯಮಗಳು ಪ್ರತಿ ವಿನಂತಿಗೂ ಅನ್ವಯವಾಗುತ್ತವೆ. ಪೋರ್ಟ್ 3000 ನಲ್ಲಿನ ಡ್ಯಾಶ್ಬೋರ್ಡ್ ನಿಮ್ಮ ಸಾಧನಗಳು ಮಾತ್ರ ಪರಿಹರಿಸಿ ಸಂಪರ್ಕಿಸಬಹುದಾದ HTTPS ಹೆಸರಿನಲ್ಲಿ ತಲುಪಬಹುದಾಗುತ್ತದೆ. ಆಂತರಿಕ ಉಪಕರಣಗಳಿಗೆ ಇದು ಸರಿಯಾದ ಡೀಫಾಲ್ಟ್, ಏಕೆಂದರೆ ಪ್ರೇಕ್ಷಕರು ಈಗಾಗಲೇ tailnetನಿಂದ ದೃಢೀಕರಿಸಲ್ಪಟ್ಟಿದ್ದಾರೆ ಮತ್ತು ನೀವು ಸಾರ್ವಜನಿಕ ಮೇಲ್ಮೈ ಸೇರಿಸುತ್ತಿಲ್ಲ. URL ಸಾಮಾನ್ಯ ವೆಬ್ಸೈಟ್ನಂತೆ ಕಾಣುತ್ತದೆ, ಮತ್ತು ಅದಕ್ಕಾಗಿಯೇ ಜನರು ಅದನ್ನು ಹಾಗೆಯೇ ತಿಳಿಯುತ್ತಾರೆ.
Serve ತಾನು ಮುಂದಕ್ಕೆ ಕಳುಹಿಸುವ ವಿನಂತಿಗಳಿಗೆ tailnet ಬಳಕೆದಾರರನ್ನು ವಿವರಿಸುವ ಗುರುತಿನ ಹೆಡರ್ಗಳನ್ನು ಸಹ ಲಗತ್ತಿಸಬಹುದು. ನಿಮ್ಮ ಅಪ್ಲಿಕೇಶನ್ ಆ ಹೆಡರ್ಗಳನ್ನು ದೃಢೀಕರಣವಾಗಿ ನಂಬಿದರೆ, ಬ್ಯಾಕೆಂಡ್ ಅನ್ನು localhostಗೆ ಬಿಗಿಯಿರಿ, ಇದರಿಂದ ಬೇರೆ ಯಾವುದೂ ನೇರವಾಗಿ ಅದನ್ನು ತಲುಪಲಾಗದು; ಮಾರ್ಗನಿರ್ದೇಶಿಸಬಹುದಾದ ವಿಳಾಸದಲ್ಲಿ ಕೇಳುವ ಬ್ಯಾಕೆಂಡ್ ಪ್ರಾಕ್ಸಿಯ ಮೂಲಕ ಎಂದೂ ಹಾದುಹೋಗದ ವಿನಂತಿಗಳನ್ನು ಸ್ವೀಕರಿಸಬಹುದು.
Funnel ಪ್ರೇಕ್ಷಕರನ್ನು ಮುಕ್ತ ಇಂಟರ್ನೆಟ್ಗೆ ಬದಲಾಯಿಸುತ್ತದೆ
Funnel ಆಯ್ದ ಸೇವೆಯನ್ನು URL ಇರುವ ಯಾರಿಗೂ ಪ್ರಕಟಿಸುತ್ತದೆ, ಮತ್ತು ಸಂದರ್ಶಕರಿಗೆ ಕ್ಲೈಂಟ್, ಖಾತೆ ಅಥವಾ ನಿಮ್ಮ tailnet ಸದಸ್ಯತ್ವ ಬೇಕಿಲ್ಲ. ಆದ್ದರಿಂದ ಸಂಪನ್ಮೂಲಕ್ಕೆ ಯಾವುದೇ ಸಾರ್ವಜನಿಕ ಸೇವೆಗೆ ಅನ್ವಯಿಸುವ ದೃಢೀಕರಣ, ದರ ಮಿತಿ ಮತ್ತು ಪ್ಯಾಚ್ಗಳು ಬೇಕು. ಸಾರ್ವಜನಿಕ ವಿನಂತಿಗಳು Serve ನ tailnet ಗುರುತಿನ ಹೆಡರ್ಗಳನ್ನು ಹೊತ್ತಿರುವುದಿಲ್ಲ, ಆದ್ದರಿಂದ ಅವನ್ನು ಅವಲಂಬಿಸಿದ್ದ ಅಪ್ಲಿಕೇಶನ್ಗೆ Funnel ಅಡಿಯಲ್ಲಿ ಬಳಕೆದಾರ ಗುರುತೇ ಇರುವುದಿಲ್ಲ. ಬೇರೆ ಪ್ರಕಟಣೆ ಆಜ್ಞೆಯನ್ನು ಆಯ್ಕೆಮಾಡುವುದರಿಂದ ದೃಢೀಕರಣದ ಪ್ರಶ್ನೆ ನಿಮ್ಮ ಪರವಾಗಿ ಉತ್ತರಿಸುವುದಿಲ್ಲ.
Funnelಗೆ ಹಳೆಯ ಬಿಡುಗಡೆಯ ಟ್ಯುಟೋರಿಯಲ್ ಉಲ್ಲೇಖಿಸದಿರಬಹುದಾದ ಮಿತಿಗಳೂ ಇವೆ. ಅದು ಹೆಸರಿಗಾಗಿ Tailscale ಪಡೆಯುವ ಪ್ರಮಾಣಪತ್ರದೊಂದಿಗೆ TLS ಅನ್ನು ಮುಗಿಸುತ್ತದೆ, ಮತ್ತು ನಿರ್ದಿಷ್ಟ ಕೇಳುವ ಪೋರ್ಟ್ಗಳನ್ನು ಮಾತ್ರ ಬೆಂಬಲಿಸುತ್ತದೆ, ಎಂದು Funnel ದಸ್ತಾವೇಜು ವಿವರಿಸುತ್ತದೆ. ನಿಮ್ಮ ಸೇವೆ ಆ ಪೋರ್ಟ್ಗಳಲ್ಲಿ ಒಂದರಲ್ಲಿ HTTPS ಅಲ್ಲದ ಪ್ರೋಟೋಕಾಲ್ ನಿರೀಕ್ಷಿಸಿದರೆ, Funnel ಕಾನ್ಫಿಗರೇಶನ್ ಒಗಟಲ್ಲ, ತಪ್ಪು ಉಪಕರಣ.
ಮೋಡ್ ಅನ್ನು ಪೋರ್ಟ್ನಿಂದ ಅಲ್ಲ, ಕ್ಲೈಂಟ್ನಿಂದ ಓದಿ
ಏನನ್ನಾದರೂ ಹಂಚಿಕೊಳ್ಳುವ ಮೊದಲು ಪ್ರಸ್ತುತ ಸ್ಥಿತಿಯನ್ನು ಪರಿಶೀಲಿಸಿ, ಏಕೆಂದರೆ ಎರಡೂ ಮೋಡ್ಗಳನ್ನು ಒಂದೇ ಸ್ಥಳೀಯ ಪೋರ್ಟ್ಗೆ ಬೇರೆ ಬೇರೆ ಸಮಯದಲ್ಲಿ ಕಾನ್ಫಿಗರ್ ಮಾಡಬಹುದು. ಸ್ಥಿತಿ ಆಜ್ಞೆಗಳು ನಿಜವಾಗಿ ಏನು ಪ್ರಕಟವಾಗಿದೆ ಮತ್ತು ಯಾರಿಗೆ ಎಂದು ವರದಿ ಮಾಡುತ್ತವೆ. URL ಪ್ರತಿಕ್ರಿಯಿಸುತ್ತದೆ ಎಂಬ ಅಂಶದಿಂದ ಪ್ರೇಕ್ಷಕರನ್ನು ಊಹಿಸಬೇಡಿ.
tailscale serve status
tailscale funnel status
tailscale status --json | head -40
ಆಜ್ಞೆಯ ವಾಕ್ಯರಚನೆ ಕ್ಲೈಂಟ್ ಆವೃತ್ತಿಗಳ ನಡುವೆ ಬದಲಾಗಿದೆ, ಆದ್ದರಿಂದ ನಕಲಿಸಿದ ಕರೆ ನೀವು ಉದ್ದೇಶಿಸಿದ್ದಕ್ಕಿಂತ ಬೇರೆ ಮೋಡ್ ಆಯ್ಕೆಮಾಡಬಹುದು. ನೀವು ಚಲಾಯಿಸುವ ಆವೃತ್ತಿಗೆ ದಸ್ತಾವೇಜಿತ ರೂಪವನ್ನು ಆದ್ಯತೆ ನೀಡಿ, ಮತ್ತು ಊಹಿಸುವ ಬದಲು ಕ್ಲೈಂಟ್ ಮುದ್ರಿಸುವ ದೃಢೀಕರಣವನ್ನು ಓದಿ. Serve ಮತ್ತು Funnel ಎರಡರ ಕಾನ್ಫಿಗರೇಶನ್ ಇದ್ದರೆ, ಒಡ್ಡುವಿಕೆಗೆ ಮುಖ್ಯವಾದದ್ದು ಸಾರ್ವಜನಿಕವಾದದ್ದು. ನೀವು ಉದ್ದೇಶಿಸದ ಕಾನ್ಫಿಗರೇಶನ್ ಮೇಲೆ ಇನ್ನೊಂದನ್ನು ಜೋಡಿಸುವ ಬದಲು ಅದನ್ನು ಮರುಹೊಂದಿಸಿ.
ಔಟ್ಪುಟ್ ಪ್ರೇಕ್ಷಕರನ್ನು ಹೆಸರಿಸದಿದ್ದರೆ ನಿಲ್ಲಿಸಿ ಸ್ಥಿತಿಯನ್ನು ಮತ್ತೆ ಓದಿ. ಘೋಷಿತ ಪ್ರೇಕ್ಷಕರಿಲ್ಲದೆ ಪ್ರಕಟವಾದ URL ಒಂದು ಊಹೆ, ಮತ್ತು ಊಹೆಗಳೇ ಆಂತರಿಕ ಡ್ಯಾಶ್ಬೋರ್ಡ್ಗಳು ಮುಕ್ತ ಇಂಟರ್ನೆಟ್ಗೆ ತಲುಪುವ ದಾರಿ.
ನೀವು ನಿಜವಾಗಿ ಉದ್ದೇಶಿಸಿದ ಪ್ರೇಕ್ಷಕರೊಂದಿಗೆ ಪರೀಕ್ಷಿಸಿ
tailnet ಹೊರಗಿನಿಂದ ಪರೀಕ್ಷಿಸಿ, ಸೇವೆಯನ್ನು ಪ್ರಕಟಿಸಿದ ಯಂತ್ರದಿಂದ ಅಲ್ಲ. tailnet ಸಾಧನದಿಂದ ಬಂದ ವಿನಂತಿ ಪ್ರಾಕ್ಸಿ ಕೆಲಸ ಮಾಡುತ್ತದೆ ಎಂದು ಸಾಬೀತುಪಡಿಸುತ್ತದೆ, ಆದರೆ ಅಪರಿಚಿತರು ಹೊರಗಿಡಲ್ಪಟ್ಟಿದ್ದಾರೆ ಎಂದು ಸಾಬೀತುಪಡಿಸುವುದಿಲ್ಲ. Tailscale ಕ್ಲೈಂಟ್ ಇಲ್ಲದ ಮತ್ತು tailnetಗೆ ಮಾರ್ಗವಿಲ್ಲದ ನೆಟ್ವರ್ಕ್ ಬಳಸಿ.
curl -sI https://host.tailnet-name.ts.net
curl -sI https://host.tailnet-name.ts.net --resolve host.tailnet-name.ts.net:443:203.0.113.10
ಆಂತರಿಕ ಡ್ಯಾಶ್ಬೋರ್ಡ್ಗೆ ಹೊರಗಿನ ವಿನಂತಿ ಸಂಪರ್ಕದಲ್ಲಿ ವಿಫಲವಾಗಬೇಕು ಅಥವಾ ಅಧಿಕಾರದಲ್ಲಿ ವಿಫಲವಾಗಬೇಕು, ಮತ್ತು ಒಳಗಿನ ವಿನಂತಿ ನೀವು ನಿರೀಕ್ಷಿಸುವ ಗುರುತಿನೊಂದಿಗೆ ಯಶಸ್ವಿಯಾಗಬೇಕು. ಸಾರ್ವಜನಿಕ ಸೇವೆಗೆ ಹೊರಗಿನ ವಿನಂತಿ ಯಶಸ್ವಿಯಾಗಬೇಕು ಮತ್ತು ಅಪ್ಲಿಕೇಶನ್ ತನ್ನದೇ ರುಜುವಾತುಗಳನ್ನು ಕೇಳಬೇಕು. ಈ ಎರಡು ಫಲಿತಾಂಶಗಳಲ್ಲಿ ಯಾವುದನ್ನು ನೀವು ಗಮನಿಸಿದಿರಿ ಎಂದು ದಾಖಲಿಸಿ, ಏಕೆಂದರೆ URL ಮಾತ್ರ ಅದನ್ನು ಹೇಳುವುದಿಲ್ಲ. ಫಲಿತಾಂಶ ಉದ್ದೇಶಕ್ಕೆ ವಿರುದ್ಧವಾಗಿದ್ದರೆ, ಮೊದಲು ಸಾರ್ವಜನಿಕ ಕಾನ್ಫಿಗರೇಶನ್ ತೆಗೆದುಹಾಕಿ, ನಂತರ ತನಿಖೆ ಮಾಡಿ.
ಸೇವೆಯನ್ನು ಪ್ರಕಟಿಸುವುದು ನಿಮ್ಮ ಹೊರಹೋಗುವ ಟ್ರಾಫಿಕ್ ಎಲ್ಲಿಂದ ಹೊರಡುತ್ತದೆ ಎಂಬುದನ್ನು ನಿಯಂತ್ರಿಸುವ ನಿರ್ಗಮನ ನೋಡ್ ಆಯ್ಕೆಮಾಡುವ ಅದೇ ನಿರ್ಧಾರವಲ್ಲ. Serve ಮತ್ತು Funnel ನೀವು ಚಲಾಯಿಸುವ ಯಾವುದನ್ನಾದರೂ ಯಾರು ತಲುಪಬಹುದು ಎಂದು ಉತ್ತರಿಸುತ್ತವೆ, ನಿರ್ಗಮನ ನೋಡ್ ನಿಮ್ಮ ಸ್ವಂತ ಸಂಪರ್ಕಗಳು ಎಲ್ಲಿಂದ ಬರುತ್ತಿರುವಂತೆ ಕಾಣುತ್ತವೆ ಎಂದು ಉತ್ತರಿಸುತ್ತದೆ. ಎರಡೂ ಪ್ರಶ್ನೆಗಳನ್ನು ಪ್ರತ್ಯೇಕವಾಗಿ ಇರಿಸಿ, ಹೋಲಿಕೆ ಸರಳವಾಗಿ ಉಳಿಯುತ್ತದೆ.