SSD Nodes Learn Hosting plans →
మార్గదర్శకాలు Matt Connorద్వారా Matt Connor · అప్‌డేట్ చేయబడింది 2026-08-31

Tailscale serve మరియు funnel మధ్య తేడాలు ఏమిటి?

Tailscale serve మీ సేవను కేవలం tailnetకే పరిమితం చేస్తుంది, కానీ funnel దానిని పబ్లిక్ ఇంటర్నెట్‌కు తెరుస్తుంది. వీటిని ఎప్పుడు వాడాలి మరియు ఏ పాలసీలు వీటిని అడ్డుకుంటాయో తెలుసుకోండి.

tailscale serve మరియు funnel: URLని ఎవరు యాక్సెస్ చేయగలరు

tailscale serve మరియు tailscale funnel మధ్య ఉన్న వ్యత్యాసం కేవలం వినియోగదారుల పరిధి మాత్రమే. serve ఒక లోకల్ పోర్ట్‌పై HTTPS (hypertext transfer protocol secure) ఫ్రంట్ ఎండ్‌ను ఏర్పాటు చేసి, దానిని మీ tailnetకి మాత్రమే అందుబాటులోకి తెస్తుంది. funnel అదే లోకల్ పోర్ట్‌ను Tailscale నిర్వహించే రిలే సర్వర్ల ద్వారా మొత్తం పబ్లిక్ ఇంటర్నెట్‌కు అందుబాటులోకి తెస్తుంది. ఈ రెండు కమాండ్‌లు ఒకే రకమైన ఫ్లాగ్‌లను మరియు టార్గెట్‌లను తీసుకుంటాయి. ఒక ప్రైవేట్ డాష్‌బోర్డ్‌కు మరియు ప్రపంచవ్యాప్తంగా అందుబాటులో ఉండే డాష్‌బోర్డ్‌కు మధ్య ఉన్న తేడా కేవలం ఒక్క పదం మాత్రమే.

రెండూ కూడా బ్రౌజర్‌లు ఇప్పటికే నమ్మే ఒక సర్టిఫికేట్‌ను మీకు అందిస్తాయి, ఇది ts.net తో ముగిసే పేరుతో ఉంటుంది. వీటిలో దేనికీ మీ VPS ఫైర్‌వాల్‌లో ఇన్‌బౌండ్ పోర్ట్ తెరవాల్సిన అవసరం లేదు. మీ tailscaled డెమోన్ ఇప్పటికే tailnetకి కనెక్షన్‌ను కలిగి ఉంటుంది, కాబట్టి ట్రాఫిక్ దాని ద్వారానే వస్తుంది. ఒక సర్వర్‌ను tailnetలోకి తీసుకురావడం ఒక పని అయితే, VPSను Tailscale exit nodeగా రన్ చేయడం లేదా ప్రైవేట్ నెట్‌వర్క్ కోసం subnet routerను అడ్వర్టైజ్ చేయడం వంటివి ఆ పనిని పూర్తి చేస్తాయి. ఇప్పటికే tailnetలో ఉన్న ఒక సేవను పబ్లిష్ చేయడం అనేది ఈ కమాండ్ల పని.

ఏదైనా కమాండ్ పనిచేయడానికి ముందు మీకు కావాల్సినవి

  • VPSలో Tailscale 1.38.3 లేదా అంతకంటే కొత్త వెర్షన్ ఉండాలి, మరియు మీరు మీ tailnet లో లాగిన్ అయి ఉండాలి. దీనిని tailscale version మరియు tailscale status ద్వారా తనిఖీ చేయండి.
  • MagicDNS ఎనేబుల్ చేయబడి ఉండాలి. MagicDNS అనేది Tailscale యొక్క అంతర్నిర్మిత DNS (domain name system), ఇది మెషీన్‌కు కేవలం 100.x అడ్రస్ మాత్రమే కాకుండా blog-vps.your-tailnet.ts.net వంటి పేరును ఇస్తుంది.
  • అడ్మిన్ కన్సోల్‌లోని DNS పేజీలో tailnet కోసం HTTPS సర్టిఫికెట్లు ఎనేబుల్ చేయబడి ఉండాలి. అది లేకపోతే, మీ పోర్ట్ ముందు ఉంచడానికి సర్టిఫికెట్ ఉండదు.
  • కేవలం funnel కోసం, tailnet పాలసీ ఫైల్‌లో funnel నోడ్ అట్రిబ్యూట్ ఉండాలి. చాలా మంది మొదటి ప్రయత్నంలో ఇక్కడే ఆగిపోతారు, దీని గురించి కింద వివరించబడింది.

ఇక్కడ ప్రతి కమాండ్ sudo తో మొదలవుతుంది, ఎందుకంటే CLI అనేది tailscaled తో ఒక సాకెట్ ద్వారా మాట్లాడుతుంది, దీనికి కేవలం root మాత్రమే రాయగలదు. ఆ పరిమితిని దాటడానికి ఒక యూజర్‌కు అనుమతి ఇవ్వండి:

sudo tailscale set --operator=$USER

tailscale serve తో మీ tailnet లోకి ప్రచురించండి

serve ని ఒక లోకల్ పోర్ట్‌కు పాయింట్ చేయండి, మిగిలిన పని అదే చూసుకుంటుంది.

sudo tailscale serve 3000
Available within your tailnet:
https://amelie-workstation.pango-lin.ts.net

 |-- / proxy http://127.0.0.1:3000

Press Ctrl+C to exit.

కేవలం 3000 అని వాడటం అనేది http://127.0.0.1:3000 కి సంక్షిప్త రూపం. Tailscale మీ మెషీన్ యొక్క tailnet అడ్రస్‌లో 443 పోర్ట్‌పై వింటుంది (listen), ts.net సర్టిఫికేట్‌తో TLS (transport layer security) ను ముగిస్తుంది, మరియు plain HTTP ని మీ లోకల్ పోర్ట్‌కు ఫార్వర్డ్ చేస్తుంది. మీ అప్లికేషన్‌కు సర్టిఫికేట్ ఉందనే విషయం కూడా తెలియాల్సిన అవసరం లేదు; సాధారణంగా plain HTTP పై వదిలేసే అడ్మిన్ ప్యానెల్స్ ముందు దీనిని వాడటానికి ఇదే ప్రధాన కారణం. కేవలం 127.0.0.1 కి మాత్రమే బైండ్ అయ్యే వెబ్ UI దీనికి సరైన ఉదాహరణ, మరియు port 3080 లోని dsh Web UI ఒక మంచి ఉదాహరణ: ప్రతిసారీ SSH టన్నెల్ ఓపెన్ చేసే బదులు, ఒక్కసారి serve ని 3080 కి పాయింట్ చేయండి, చాలు. ఇకపై tailnet లోని ఏ పరికరం నుంచైనా దానిని యాక్సెస్ చేయవచ్చు.

ఇప్పుడు చివరి లైన్ చదవండి: Press Ctrl+C to exit. ఈ కమాండ్ ఫోర్‌గ్రౌండ్‌లో రన్ అవుతుంది, మరియు మ్యాపింగ్ ఆ ప్రాసెస్ లోపలే ఉంటుంది. టెర్మినల్‌ను క్లోజ్ చేస్తే URL పనిచేయడం ఆగిపోతుంది, ఎందుకంటే ఏదీ డిస్క్‌లో రాయబడలేదు. --bg ని జోడిస్తే, ఆ మ్యాపింగ్ నోడ్ యొక్క serve కాన్ఫిగరేషన్‌లో సేవ్ అవుతుంది, ఇది టెర్మినల్ క్లోజ్ చేసినా లేదా రీబూట్ చేసినా అలాగే ఉంటుంది.

sudo tailscale serve --bg 3000

Serve కేవలం పోర్ట్ నంబర్‌నే కాకుండా మరిన్ని ఆప్షన్లను తీసుకుంటుంది. --set-path ఒక సేవను సబ్-పాత్ (subpath) కింద మౌంట్ చేస్తుంది, తద్వారా అనేక అప్లికేషన్లు ఒకే హోస్ట్‌నేమ్‌ను పంచుకోగలవు:

sudo tailscale serve --bg --set-path=/grafana 3000
sudo tailscale serve --bg --set-path=/metrics 9090

ఒక టార్గెట్ అనేది స్టాటిక్ ఫైల్స్ ఉన్న డైరెక్టరీ కావచ్చు, లేదా మీరు చెక్ చేయకూడదనుకునే సర్టిఫికేట్‌తో ఇప్పటికే TLS మాట్లాడే బ్యాకెండ్ కావచ్చు:

sudo tailscale serve --bg /srv/reports
sudo tailscale serve --bg https+insecure://localhost:8443

ఇది కేవలం HTTP కి మాత్రమే పరిమితం కాదు. --tcp=<port> ఒక raw TCP (transmission control protocol) స్ట్రీమ్‌ను ఫార్వర్డ్ చేస్తుంది, మరియు --tls-terminated-tcp=<port> మీ నోడ్ వద్ద TLS ను ముగించి ప్లెయిన్ టెక్స్ట్‌ను పంపుతుంది. ఇది HTTP ని అస్సలు మాట్లాడని ఒక సేవ ముందు నమ్మకమైన సర్టిఫికేట్‌ను ఉంచుతుంది:

sudo tailscale serve --bg --tls-terminated-tcp=443 tcp://127.0.0.1:9899

Funnel ఎందుకు node attribute సెట్ కాలేదని చెబుతోంది?

డిఫాల్ట్‌గా మొత్తం tailnet కోసం Funnel ఆఫ్‌లో ఉంటుంది. మొదటిసారి రన్ చేసినప్పుడు ఇది ఈ సందేశాన్ని చూపి ఆగిపోతుంది:

Funnel not available; "funnel" node attribute not set. See https://tailscale.com/kb/1223/tailscale-funnel/.

కమాండ్ సరైనదే. Tailnet పాలసీ ఈ నోడ్‌కు పబ్లిష్ చేయడానికి అనుమతి ఇవ్వలేదు, కాబట్టి relayని సంప్రదించకముందే క్లయింట్ తిరస్కరిస్తుంది. అడ్మిన్ కన్సోల్‌లోని Access Controls కింద ఉన్న tailnet పాలసీ ఫైల్‌ను ఎడిట్ చేసి, ఈ attributeని జోడించండి:

"nodeAttrs": [
  {
    "target": ["autogroup:member"],
    "attr":   ["funnel"],
  },
],

autogroup:member అనేది tailnetలోని ప్రతి సభ్యునికి అనుమతిని ఇస్తుంది. ఒకవేళ ఒకే ఒక మెషీన్ మాత్రమే పబ్లిష్ చేయాలంటే, ఆ మెషీన్‌కు tag కేటాయించి, దానికి బదులుగా ఆ tagని లక్ష్యంగా చేసుకోండి, ఉదాహరణకు tag:public. పాలసీని సేవ్ చేసి, ఆపై funnel కమాండ్‌ను మళ్లీ రన్ చేయండి.

ఒకవేళ మీ ఖాతా tailnet అడ్మిన్ అయితే, కొత్త క్లయింట్లు ఒక షార్ట్‌కట్‌ను అందిస్తాయి: CLI అనేది login.tailscale.com వద్ద ఒక consent URLని ప్రింట్ చేస్తుంది, దానిని అనుసరించడం ద్వారా HTTPS certificates ఎనేబుల్ అవుతాయి మరియు మీ కోసం attribute ఆటోమేటిక్‌గా యాడ్ అవుతుంది. మీరు అడ్మిన్ కాకపోతే, ఆ URL మీకు ఉపయోగపడదు. పాలసీ యాక్సెస్ ఉన్న వ్యక్తి మాత్రమే ఈ మార్పును చేయగలరు.

Tailscale funnel ఉపయోగించి ఇంటర్నెట్‌కు పబ్లిష్ చేయడం

ఒకసారి attribute సెట్ చేసిన తర్వాత, మీరు ఇప్పటికే తెలిసిన కమాండ్‌నే వేరొక verb తో ఉపయోగించాల్సి ఉంటుంది.

sudo tailscale funnel --bg 3000
Available on the internet:
https://amelie-workstation.pango-lin.ts.net

 |-- / proxy http://127.0.0.1:3000

Press Ctrl+C to exit.

ప్రతిసారీ ఆ మొదటి లైన్‌ను చదవండి. ప్రైవేట్ సర్వీస్‌కు మరియు పబ్లిక్ సర్వీస్‌కు మధ్య ఉన్న ఏకైక కనిపించే వ్యత్యాసం Available within your tailnet మరియు Available on the internet మాత్రమే, మరియు వాటిని రూపొందించే కమాండ్‌లు ఒకే ఒక పదం తేడాతో ఉంటాయి.

ఆగస్టు 2026 నాటికి, funnel అనేది 443, 8443 లేదా 10000 పోర్టులపై మాత్రమే వింటుంది (listen), వేరే దేనిపైనా కాదు. డిఫాల్ట్ పోర్ట్ 443, మరియు --https=8443 లేదా --https=10000 అనేవి ప్రత్యామ్నాయాలు. funnel రిలేలు కేవలం ఆ పోర్టులపై మాత్రమే కనెక్షన్‌లను అంగీకరిస్తాయి కాబట్టి, వేరే ఏ ఇతర పోర్ట్ అయినా తిరస్కరించబడుతుంది. అందుకే funnel URL ఎల్లప్పుడూ కేవలం hostname గా లేదా చివరన :8443 జోడించిన hostname గా ఉంటుంది.

ప్రస్తుతం ఏమి పబ్లిష్ చేయబడిందో ఎలా చూడాలి?

ఊహించడం వల్లనే ఒక డ్యాష్‌బోర్డ్ నెలల తరబడి పబ్లిక్‌గా ఉండిపోతుంది. దానికి బదులుగా నేరుగా నోడ్‌ను అడగండి.

tailscale serve status
tailscale funnel status
tailscale serve status --json

రెండు status కమాండ్‌లు ఒకే కాన్ఫిగరేషన్‌ను చదువుతాయి, కాబట్టి ఏది వాడినా మీకు పూర్తి వివరాలు కనిపిస్తాయి. స్క్రిప్ట్‌లలో లేదా షెడ్యూల్ చేసిన చెక్‌లలో --json ఫార్మాట్‌ను ఉపయోగించండి, ఎందుకంటే సాధారణ అవుట్‌పుట్ మనుషులు చదవడానికి అనువుగా ఉంటుంది. ఏమీ కాన్ఫిగర్ చేయనప్పుడు మీకు ఒకే లైన్ కనిపిస్తుంది:

No serve config

సెటప్ చేసిన తర్వాత కూడా అది కనిపిస్తుందంటే, ఆ మ్యాపింగ్ ఫోర్‌గ్రౌండ్‌లో క్రియేట్ చేయబడిందని మరియు ఆ ప్రాసెస్ ఇప్పుడు లేదని అర్థం. --bg ఉపయోగించి దానిని తిరిగి క్రియేట్ చేయండి.

ఒక మ్యాపింగ్‌ను తొలగించడానికి, దానిని క్రియేట్ చేసిన కమాండ్‌నే మళ్ళీ టైప్ చేసి చివరన off చేర్చండి. నోడ్‌పై ఉన్న అన్ని serve మరియు funnel మ్యాపింగ్‌లను తుడిచివేయడానికి reset ఉపయోగించండి.

sudo tailscale funnel --https=443 3000 off
sudo tailscale serve reset

ఏదైనా కమాండ్ రన్ చేసిన తర్వాత, మీరు ఆశించినది జరిగిందని ఊహించుకోకుండా, tailscale serve status మళ్ళీ రన్ చేసి మిగిలి ఉన్న వివరాలను చదవండి.

మీకు లభించేవి మరియు మీరు వదులుకునేవి

ప్రయోజనాలు వాస్తవమైనవి, అందుకే ప్రజలు రివర్స్ ప్రాక్సీ కంటే దీనిని ఎంచుకుంటారు.

  • బ్రౌజర్‌లు నమ్మే సర్టిఫికేట్, మీ కోసం ఆటోమేటిక్‌గా రెన్యూ అవుతుంది. ఇన్‌స్టాల్ చేయడానికి ACME (automatic certificate management environment) క్లయింట్ అవసరం లేదు, రెన్యూవల్ జాబ్ గురించి మర్చిపోయే అవకాశం లేదు.
  • VPS ఫైర్‌వాల్‌లో ఇన్‌బౌండ్ పోర్ట్ అవసరం లేదు. tailscaled బయటకు కనెక్ట్ అవుతుంది, కాబట్టి మీ VPSలోని డిఫాల్ట్-deny ufw ఫైర్‌వాల్ ఎంత కఠినంగా ఉందో అలాగే ఉంటుంది.
  • DNS రికార్డును కొనడం, పాయింట్ చేయడం లేదా దాని కోసం వేచి ఉండాల్సిన అవసరం లేదు.
  • పోర్ట్ ఫార్వార్డింగ్ అవసరం లేదు, పబ్లిక్ IP ఉన్న VPS కంటే NAT (network address translation) వెనుక ఉన్న మెషీన్‌కు ఇది చాలా ముఖ్యం.

నష్టాలు కూడా అంతే వాస్తవం, వీటన్నింటికీ Funnel కారణం.

  • పేరు మీది కాదు. పబ్లిక్ విజిటర్లు host.your-tailnet.ts.netని చూస్తారు. Funnel కి కస్టమ్ డొమైన్ సపోర్ట్ లేదు, కాబట్టి మీరు దీని ముందు app.example.comని ఉంచలేరు.
  • పాత్ మీది కాదు. ట్రాఫిక్ మొదట Tailscale రిలేకు చేరుతుంది, ఆ రిలే tailnet ద్వారా మీ నోడ్‌కు స్ట్రీమ్‌ను ప్రాక్సీ చేస్తుంది. Funnel ట్రాఫిక్ ప్రచురించబడని మరియు కాన్ఫిగర్ చేయలేని బ్యాండ్‌విడ్త్ పరిమితులకు లోబడి ఉంటుందని Tailscale పేర్కొంది, కాబట్టి మీరు ఒక నంబర్‌పై ఆధారపడే ముందు మీ స్వంత త్రూపుట్‌ను కొలవండి.
  • నియంత్రణలు లేవు. మీరు రన్ చేసే రివర్స్ ప్రాక్సీ మీకు యాక్సెస్ లాగ్‌లు, రేట్ లిమిట్స్, రిక్వెస్ట్ సైజ్ క్యాప్స్ మరియు అథెంటికేషన్ ఉంచడానికి స్థలాన్ని ఇస్తుంది. Funnel మీకు ఒక URLని మాత్రమే ఇస్తుంది. మిగిలినవన్నీ మీ అప్లికేషన్ లోపలే ఉండాలి.
  • పైన పేర్కొన్నట్లుగా, పోర్ట్ జాబితా స్థిరంగా ఉంటుంది.

ఈ రెండు ఫీచర్లు Tailscale నిర్వహించే ఇన్‌ఫ్రాస్ట్రక్చర్‌పై ఆధారపడి ఉంటాయి: ts.net పేరు కోసం సర్టిఫికేట్ జారీ చేయడం మరియు Funnel రిలేలు. ఆ సర్వర్లు మీ ట్రాఫిక్‌తో ఏమి చేయగలవు మరియు ఏమి చేయలేవు అనే దానిపై ఆ డిపెండెన్సీ మిమ్మల్ని ఇబ్బంది పెట్టాలా వద్దా అనేది Tailscale యొక్క ట్రస్ట్ మోడల్ స్పష్టం చేస్తుంది. వీటిని ఉపయోగించడానికి ఎటువంటి ఖర్చు లేదు, ఎందుకంటే ఉచిత ప్లాన్ ఆరుగురు వినియోగదారుల వరకు, ఒక్కొక్కరికి అపరిమిత పరికరాలను కవర్ చేస్తుంది, మరియు ఫీచర్ జాబితా కంటే సీట్ల సంఖ్యే tailnetని పెయిడ్ ప్లాన్‌లోకి నెడుతుంది. ఆ తర్వాత బిల్లు మెషీన్ల కంటే వినియోగదారులను బట్టి ఉంటుంది, కాబట్టి serve లేదా funnel కీలకమైనవిగా మారే ముందు పెయిడ్ ప్లాన్‌లో tailnetకి అయ్యే ఖర్చు గురించి తెలుసుకోవడం మంచిది. మీరు self-hosted Headscale కంట్రోల్ సర్వర్ గురించి ఆలోచిస్తుంటే, ఈ ఫీచర్లు అందులో కూడా ఉంటాయని అనుకోవద్దు. మీరు రన్ చేయాలనుకుంటున్న Headscale వెర్షన్ యొక్క రిలీజ్ నోట్స్‌ను తనిఖీ చేయండి.

నేను దేనిని ఉపయోగించాలి?

దీని నియమం చాలా చిన్నది.

అంతర్గత అవసరాల కోసం serveని ఉపయోగించండి: అడ్మిన్ ఇంటర్‌ఫేస్‌లు, డాష్‌బోర్డ్‌లు, ఇండెక్స్ చేయకూడదనుకునే మెట్రిక్స్ UI, లేదా సైట్ యొక్క స్టేజింగ్ కాపీ. Tailnet లో సభ్యత్వం ఉండటమే దీనికి ప్రామాణికమైన యాక్సెస్ కంట్రోల్, ఇది చాలా సురక్షితమైనది. Tailnet లో లేని పరికరం కనీసం ఆ పేరును కూడా రిజాల్వ్ చేయలేదు.

డెమో లింక్ కోసం, థర్డ్ పార్టీ వారు POST చేయాల్సిన వెబ్‌హుక్ రిసీవర్ కోసం, లేదా డెవలప్‌మెంట్ సమయంలో OAuth కాల్‌బ్యాక్ కోసం funnelని ఉపయోగించండి. పబ్లిక్ HTTPS URL పొందడానికి ఇది అత్యంత వేగవంతమైన మార్గం, మరియు ఒకే ఒక్క off కమాండ్‌తో దీనిని ముగించవచ్చు. అయితే, పబ్లిక్ అంటే పబ్లిక్ అని గుర్తుంచుకోండి: హోస్ట్‌నేమ్ రహస్యమేమీ కాదు, మరియు లాగిన్ లేని యాప్ ముందు ఉండే ఫన్నెల్ ఒక ఓపెన్ సర్వీస్ అవుతుంది. దీని వెనుక ఏది ఉన్నా, అది తన అభ్యర్థనలను స్వయంగా ప్రామాణీకరించుకోవాలి; ఎక్స్‌పోజ్ అయిన Ollama API ఎండ్‌పాయింట్ కు ఎంత జాగ్రత్త అవసరమో, దీనికి కూడా అంతే అవసరం.

ప్రొడక్షన్ అని మీరు పిలిచే దేనికైనా నిజమైన రివర్స్ ప్రాక్సీని ఉపయోగించండి. మీ డొమైన్, మీ సర్టిఫికేట్, మీ లాగ్‌లు, మీ రేట్ లిమిట్స్ ఉండాలి, మరియు అభ్యర్థన మార్గంలో మరెవరూ ఉండకూడదు. రివర్స్ ప్రాక్సీగా nginx, Caddy మరియు Traefik ల పోలిక ఒక దానిని ఎంచుకోవడంలో మీకు సహాయపడుతుంది.

వైఫల్య రీతులు మరియు మీరు చూసే సందేశాలు

Funnel ప్రారంభం కావడం లేదు. Funnel not available; "funnel" node attribute not set. అనేది పాలసీకి సంబంధించిన సమస్య, కమాండ్ సమస్య కాదు. tailnet పాలసీ ఫైల్‌కు funnel అట్రిబ్యూట్‌ను జోడించి, సేవ్ చేసి, మళ్లీ ప్రయత్నించండి.

ఇది పనిచేసింది, కానీ ఇప్పుడు tailscale serve status లో No serve config అని కనిపిస్తోంది. మ్యాపింగ్ ఫోర్‌గ్రౌండ్‌లో సృష్టించబడింది మరియు ఆ ప్రాసెస్ ముగిసింది. అదే కమాండ్‌ను --bg తో మళ్లీ రన్ చేయండి.

పేరు రిజాల్వ్ అవుతోంది కానీ ఏ సమాధానం రావడం లేదు. సర్వ్ ప్రాక్సీలు మీరు పేర్కొన్న టార్గెట్‌కు పంపుతాయి, కాబట్టి అక్కడ ఏ సేవ వినడం (listening) లేకపోతే, ప్రాక్సీ చేయడానికి ఏమీ ఉండదు. tailscaled రన్ అవుతున్న అదే మెషీన్‌లో ss -ltnp | grep 3000 తో దీన్ని నిర్ధారించుకోండి. తరచుగా వచ్చే సమస్య ఏమిటంటే, కంటైనర్ తన పోర్ట్‌ను 127.0.0.1 కి బదులుగా Docker బ్రిడ్జ్ అడ్రస్‌పై పబ్లిష్ చేయడం; దీనివల్ల మీరు ఆశించిన చోట హోస్ట్‌కు ఏ లిజనర్ కనిపించదు. Docker Compose నెట్‌వర్కింగ్ ఎలా పనిచేస్తుంది అనే విభాగం పబ్లిష్ చేసిన పోర్ట్ వాస్తవానికి ఎక్కడ ల్యాండ్ అవుతుందో చూపుతుంది.

ts.net పేరుపై సర్టిఫికేట్ లోపాలు. tailnet కోసం HTTPS సర్టిఫికేట్లు ఎనేబుల్ చేయబడకపోవడమే దీనికి ప్రధాన కారణం. అడ్మిన్ కన్సోల్‌లో వాటిని ఆన్ చేయండి, ఆపై సర్టిఫికేట్ స్టెప్‌ను విడిగా రన్ చేయండి, తద్వారా దాని లోపాలు సర్వ్ అవుట్‌పుట్‌తో కలిసిపోకుండా ఉంటాయి:

sudo tailscale cert your-host.your-tailnet.ts.net

Funnel మొబైల్ డేటాపై లోడ్ అవుతోంది కానీ మీ ల్యాప్‌టాప్‌లో భిన్నంగా ప్రవర్తిస్తోంది. మీ ల్యాప్‌టాప్ tailnetలో ఉంది, కాబట్టి MagicDNS ఆ పేరును 100.x అడ్రస్‌కు రిజాల్వ్ చేస్తుంది మరియు మీరు రిలేను తాకకుండానే నేరుగా సేవను చేరుకుంటారు. ఇది సరైన ప్రవర్తనే, మరియు దీని అర్థం మీ ల్యాప్‌టాప్ పబ్లిక్ రీచబిలిటీని అస్సలు పరీక్షించలేదు అని. tailnetలో లేని మెషీన్ నుండి curl ఉపయోగించండి.

FAQ

tailscale serve మరియు tailscale funnel మధ్య తేడా ఏమిటి?

ఫలితాన్ని ఎవరు యాక్సెస్ చేయగలరు అనేదే ప్రధాన తేడా. tailscale serve ఒక లోకల్ పోర్ట్‌ను HTTPS URL ద్వారా ప్రచురిస్తుంది, దీనిని మీ tailnet లోని పరికరాలు మాత్రమే యాక్సెస్ చేయగలవు. tailscale funnel అదే పోర్ట్‌ను ఇంటర్నెట్‌లోని ఎవరైనా యాక్సెస్ చేయగల URL ద్వారా ప్రచురిస్తుంది, ఇది Tailscale నిర్వహించే రిలే సర్వర్ల ద్వారా రూట్ చేయబడుతుంది. వీటి రెండింటికీ ఫ్లాగ్‌లు మరియు టార్గెట్‌లు ఒకేలా ఉంటాయి. మీరు దేనిని ఉపయోగిస్తున్నారో మొదటి అవుట్‌పుట్ లైన్ తెలియజేస్తుంది: Available within your tailnet లేదా Available on the internet.

tailscale funnel లో node attribute సెట్ చేయలేదని ఎందుకు వస్తుంది?

ఎవరైనా అనుమతించే వరకు tailnet లో funnel నిలిపివేయబడుతుంది కాబట్టి ఈ సందేశం వస్తుంది. ఈ సందేశం Funnel not available; "funnel" node attribute not set., ఇది ఏ రిలేను సంప్రదించకముందే మీ క్లయింట్ నుండి వస్తుంది. Access Controls లోని tailnet పాలసీ ఫైల్‌లో nodeAttrs ఎంట్రీని జోడించి, funnel ఆట్రిబ్యూట్‌ను autogroup:member కి లేదా ఒక నిర్దిష్ట మెషీన్ మాత్రమే ప్రచురించాలంటే ఒక ట్యాగ్‌కు కేటాయించండి. tailnet అడ్మిన్ CLI ప్రింట్ చేసే కన్సెంట్ URLని అనుసరించడం ద్వారా కూడా దీనిని అనుమతించవచ్చు.

Tailscale Funnel ఏ పోర్ట్‌లను ఉపయోగించగలదు?

కేవలం 443, 8443 మరియు 10000 పోర్ట్‌లను మాత్రమే ఉపయోగించగలదు. డిఫాల్ట్‌గా 443 ఉంటుంది, మీరు --https=8443 లేదా --https=10000 ద్వారా మరొక దానిని ఎంచుకోవచ్చు. ఇది మీ సర్వర్ పరిమితి కాదు, funnel రిలేల పరిమితి; కాబట్టి VPSలో ఫైర్‌వాల్ మార్పులు చేసినా ఈ పరిమితి మారదు. tailscale serve కి ఇటువంటి పరిమితి లేదు, ఎందుకంటే ఇది మీ tailnet దాటి బయటకు వెళ్లదు.

రీబూట్ తర్వాత serve లేదా funnel URL అలాగే ఉంటుందా?

మీరు --bg ఉపయోగిస్తేనే ఇది సాధ్యమవుతుంది. అది లేకుండా కమాండ్ రన్ చేస్తే, అది ఫోర్‌గ్రౌండ్‌లో నడుస్తుంది, Press Ctrl+C to exit. అని ప్రింట్ చేస్తుంది, మరియు ప్రాసెస్ ముగియగానే మ్యాపింగ్ తొలగిపోతుంది. --bg తో మ్యాపింగ్ నోడ్ యొక్క serve కాన్ఫిగరేషన్‌లో వ్రాయబడుతుంది మరియు రీబూట్ తర్వాత tailscaled తో తిరిగి వస్తుంది. దీనిని tailscale serve status తో తనిఖీ చేయవచ్చు, ఏమీ సెట్ చేయనప్పుడు ఇది No serve config అని ప్రింట్ చేస్తుంది.

funnel ని రన్ అవుతూ వదిలేయడం సురక్షితమేనా?

ట్రాన్స్‌పోర్ట్ పరంగా ఇది సురక్షితం: కనెక్షన్ HTTPS లో ఉంటుంది మరియు మీ ఫైర్‌వాల్‌లో ఎటువంటి పోర్ట్ ఓపెన్ చేయబడదు. కానీ సాధారణ అర్థంలో ఇది సురక్షితం కాదు, ఎందుకంటే URL పబ్లిక్‌గా ఉంటుంది, తద్వారా దాని వెనుక ఉన్న అప్లికేషన్ కూడా పబ్లిక్ అవుతుంది. సొంతంగా అథెంటికేషన్ ఉన్న అప్లికేషన్ల ముందు మాత్రమే funnel ని ఉంచండి. డెమో లేదా వెబ్‌హుక్ టెస్ట్ పూర్తయిన తర్వాత, దానిని సృష్టించిన కమాండ్‌కు చివరన off జోడించి దానిని తొలగించండి.

పైన పేర్కొన్న కమాండ్ ప్రవర్తనకు మూలాలు: Tailscale Serve మరియు Funnel డాక్యుమెంటేషన్ మరియు tailscale.com/docs లోని CLI రిఫరెన్స్.