SSD Nodes Learn Hosting plans →
गाइड Matt Connorलेखक: Matt Connor · अपडेट किया गया: 2026-08-27

VPS को Tailscale exit node कैसे बनाएं

अपने VPS को Tailscale exit node के रूप में सेटअप करने का पूरा तरीका जानें। इसमें IP forwarding इनेबल करना, रूट अप्रूव करना और DNS व IPv6 की समस्याओं को ठीक करना शामिल है।

Tailscale exit node क्या करता है

Tailscale exit node आपके tailnet पर मौजूद एक ऐसी मशीन है जो आपके अन्य सभी डिवाइसों के लिए इंटरनेट ट्रैफ़िक को ले जाती है। एक VPS (virtual private server) इसके लिए एक अच्छा विकल्प है क्योंकि इसका एक फिक्स्ड पब्लिक एड्रेस होता है और यह हमेशा ऑनलाइन रहता है। इसे सेटअप करने के लिए पाँच चरण हैं: सर्वर पर Tailscale इंस्टॉल करें, exit node को advertise करें, IP forwarding को इनेबल करें, एडमिन कंसोल में रूट को अप्रूव करें, और फिर अपने लैपटॉप पर नोड को चुनें। चौथा चरण एक वेब पेज पर मौजूद टॉगल है, न कि कोई कमांड, और यहीं पर अधिकतर लोग अटक जाते हैं।

एक बार जब यह चालू हो जाता है, तो आपका लैपटॉप हर पैकेट को एन्क्रिप्ट करता है और उसे VPS पर भेज देता है। VPS सोर्स NAT (network address translation) लागू करता है और पैकेट को अपने स्वयं के पब्लिक IP एड्रेस के साथ आगे भेज देता है। वेबसाइटें VPS को देखती हैं। कैफ़े का Wi-Fi केवल VPS के लिए एक एन्क्रिप्टेड UDP फ्लो देखता है और इसके अलावा कुछ नहीं।

Tailscale डेटा पाथ के लिए WireGuard है, साथ ही एक कोऑर्डिनेशन सर्वर है जो कुंजियों (keys) को वितरित करता है और NAT के माध्यम से दो मशीनों को एक-दूसरे को खोजने में मदद करता है। वह कोऑर्डिनेशन सर्वर ही कारण है कि नीचे कहीं भी की-कॉपी करने की आवश्यकता नहीं है। ट्रेड-ऑफ़ के बारे में विस्तार से जानने के लिए, Tailscale और साधारण WireGuard की तुलना कैसे करें पढ़ें। यदि आप टनल के हर हिस्से को स्वयं नियंत्रित करना चाहते हैं, तो इसके बजाय अपने VPS पर एक साधारण WireGuard VPN को self-host करें।

नीचे दिए गए चरण यह मानकर चलते हैं कि Tailscale पहले से ही आपके लैपटॉप पर चल रहा है, और दोनों मशीनें एक ही tailnet में साइन इन हैं। एक tailnet आपका निजी Tailscale नेटवर्क है, और इसमें मौजूद प्रत्येक डिवाइस को 100.64.0.0/10 के भीतर एक स्थिर एड्रेस मिलता है।

अपने VPS पर Tailscale इंस्टॉल करें

curl -fsSL https://tailscale.com/install.sh | sh
sudo tailscale up

इंस्टॉल स्क्रिप्ट आपके Linux distribution के लिए उपयुक्त package repository चुनती है और tailscaled daemon को इंस्टॉल करती है। इसके बाद tailscale up एक authentication URL प्रिंट करता है। इसे ब्राउज़र में खोलें और उसी अकाउंट से साइन इन करें जिसका उपयोग आपका लैपटॉप करता है, क्योंकि किसी अलग tailnet में साइन इन किया गया VPS आपके लैपटॉप को एक्सेस नहीं दे पाएगा।

tailscale status
tailscale ip -4

tailscale status में अब दोनों मशीनें दिखनी चाहिए। tailscale ip -4 VPS का tailnet एड्रेस प्रिंट करता है, जिसे आप बाद में क्लाइंट को प्रदान करेंगे।

Tunnel बनाने के लिए Tailscale को एक TUN device की आवश्यकता होती है। KVM VPS पर यह device पहले से मौजूद होता है। कंटेनर वर्चुअलाइजेशन पर आधारित प्लान्स में, जो host kernel साझा करते हैं, /dev/net/tun कभी-कभी अनुपस्थित होता है और tailscaled, tailscale0 interface नहीं बना पाता है। आगे बढ़ने से पहले ls -l /dev/net/tun चलाएं।

IP forwarding सक्षम करें, अन्यथा VPS हर पैकेट को ड्रॉप कर देगा

एक Linux मशीन उन सभी पैकेटों को ड्रॉप कर देती है जो स्वयं उसके लिए नहीं होते, क्योंकि net.ipv4.ip_forward डिफ़ॉल्ट रूप से 0 होता है। Exit node आपके ट्रैफ़िक को स्वीकार तो करेगा, उसे डिक्रिप्ट करेगा, लेकिन फिर उसे हटा देगा। इस सेटिंग को एक फ़ाइल में लिखें ताकि यह रीबूट के बाद भी बनी रहे।

echo 'net.ipv4.ip_forward = 1' | sudo tee -a /etc/sysctl.d/99-tailscale.conf
echo 'net.ipv6.conf.all.forwarding = 1' | sudo tee -a /etc/sysctl.d/99-tailscale.conf
sudo sysctl -p /etc/sysctl.d/99-tailscale.conf

tee -a डेटा को अंत में जोड़ता है (append), इसलिए इन लाइनों को दूसरी बार चलाने पर दोनों सेटिंग्स दो बार लिखी जाएंगी। परिणाम तब भी काम करेगा, लेकिन cat /etc/sysctl.d/99-tailscale.conf अजीब दिखेगा। फ़ाइल पर भरोसा करने के बजाय लाइव वैल्यू की पुष्टि करें:

sysctl net.ipv4.ip_forward

इसे net.ipv4.ip_forward = 1 प्रिंट करना चाहिए। यदि आप इसे छोड़ देते हैं और tailscale up --advertise-exit-node का उपयोग करते हैं, तो क्लाइंट आपको यह बताएगा:

Warning: IP forwarding is disabled, subnet routing/exit nodes will not work.

tailscale set --advertise-exit-node उस चेक को रन नहीं करता है, इसलिए set की तरफ से कोई प्रतिक्रिया न मिलना इस बात का प्रमाण नहीं है कि फ़ॉरवर्डिंग चालू है। sysctl वैल्यू को स्वयं पढ़ें।

आपको मैन्युअल रूप से masquerade नियम लिखने की आवश्यकता नहीं है। tailscaled अपनी खुद की फ़ायरवॉल चेन इंस्टॉल करता है, जिनका नाम ts-input, ts-forward और ts-postrouting है, और exit node ट्रैफ़िक के लिए NAT नियम ts-postrouting में रहता है। उन्हें sudo iptables-save | grep ts- के साथ देखें, या nftables वाले बॉक्स पर sudo nft list ruleset का उपयोग करें।

VPS को exit node के रूप में advertise करें

sudo tailscale set --advertise-exit-node

tailscale set एक preference को बदलता है और बाकी को वैसा ही रहने देता है। tailscale up --advertise-exit-node नोड को भी advertise करता है, और इसका एक side effect होता है: up अपने command line पर दिए गए flags को non-default सेटिंग्स के पूर्ण सेट के रूप में मानता है, इसलिए बाद में चलाया गया एक साधारण sudo tailscale up चलने से मना कर देता है और यह प्रिंट करता है:

changing settings via 'tailscale up' requires mentioning all
non-default flags. To proceed, either re-run your command with --reset or
use the command below to explicitly mention the current value of
all non-default settings:

निरंतर बदलावों के लिए set का उपयोग करें और आपको कभी भी वह संदेश नहीं मिलेगा।

Advertising एक प्रस्ताव है। VPS अब coordination server को बता रहा है कि वह एक exit node बनने के लिए तैयार है। अभी कोई भी client इसका उपयोग नहीं कर सकता है।

Admin console में Tailscale exit node को approve करें

यह वह चरण है जिसमें कोई command नहीं है। Admin console में Machines page खोलें, VPS को ढूँढें, उसकी पंक्ति के अंत में स्थित तीन-बिंदु वाले menu को खोलें, Edit route settings चुनें, और Use as exit node को चालू करें।

जब तक वह toggle चालू नहीं होता, control plane इस प्रस्ताव को रोक कर रखता है और इसे किसी को नहीं देता है। आपके laptop पर tailscale exit-node list कुछ नहीं दिखाता है, और आपका traffic अपने सामान्य मार्ग पर ही चलता रहता है। किसी भी machine पर कोई error message नहीं आता है। Exit node बस कभी दिखाई ही नहीं देता है।

आप tailnet policy file में एक entry के साथ exit nodes को स्वचालित रूप से approve कर सकते हैं:

"autoApprovers": {
  "exitNode": ["tag:exit"],
}

--advertise-tags=tag:exit के साथ शुरू की गई device अपने आप approve हो जाती है, बशर्ते उसी policy file में tagOwners के अंतर्गत tag:exit परिभाषित हो। Tagging स्वामित्व बदल देती है: एक tagged device आपके user account के बजाय tailnet की हो जाती है, और उस पर लागू होने वाले access rules भी उसके साथ बदल जाते हैं। एक अकेले VPS के लिए, toggle का उपयोग करना अधिक सरल है।

अपने लैपटॉप पर exit node चुनें

Linux client पर:

tailscale exit-node list
sudo tailscale set --exit-node=vps.your-tailnet.ts.net

exit-node list आपके tailnet में स्वीकृत exit nodes को उनके पतों के साथ दिखाता है। यदि सूची खाली है, तो इसका अर्थ है कि approval चरण पूरा नहीं हुआ है। macOS, Windows, iOS और Android पर यही विकल्प Tailscale ऐप में Exit Node के अंतर्गत एक मेनू आइटम के रूप में उपलब्ध होता है।

Client से पुष्टि करें, सर्वर से कभी नहीं:

curl -4 https://ifconfig.me

Exit node चुनने से पहले और चुनने के बाद इसे एक बार चलाएं। पता आपके स्थानीय पते से बदलकर VPS के public IP में बदल जाना चाहिए। Exit node का उपयोग बंद करने के लिए:

sudo tailscale set --exit-node=

पहले दिन एक और flag महत्वपूर्ण है। Exit node चुने होने पर, client सब कुछ tunnel के अंदर भेज देता है, जिसमें 192.168.1.50 को संबोधित packets भी शामिल हैं, इसलिए आपका printer और network storage जवाब देना बंद कर देते हैं। स्थानीय network को local route पर रखने के लिए:

sudo tailscale set --exit-node=<name> --exit-node-allow-lan-access=true

एग्जिट नोड चालू होने पर आपका DNS क्यों बदल जाता है

डिफ़ॉल्ट रूप से, एग्जिट नोड का उपयोग करने वाला डिवाइस हर डोमेन के लिए उस एग्जिट नोड को ही अपने DNS (डोमेन नेम सिस्टम) रिज़ॉल्वर के रूप में उपयोग करता है, और यह आपके tailnet के लिए कॉन्फ़िगर किए गए ग्लोबल और स्प्लिट DNS नेमसर्वर को ओवरराइड कर देता है। यह व्यवहार जानबूझकर रखा गया है। यदि क्वेरीज़ स्थानीय नेटवर्क के रिज़ॉल्वर पर जाती रहतीं, तो कैफ़े का राउटर अभी भी उन सभी साइटों के नाम देख पाता जिन पर आप जाते हैं, भले ही ट्रैफ़िक निजी रहता। नाम और पैकेट एक ही जगह से बाहर जाने चाहिए।

इसका एक परिणाम उन लोगों को भुगतना पड़ता है जो इंटरनल रिज़ॉल्वर चला रहे हैं: जिस tailnet नेमसर्वर पर आप निर्भर हैं, एग्जिट नोड चालू होने पर उसका उपयोग बंद हो जाता है। इसे वापस लाने के लिए एडमिन कंसोल के DNS पेज पर उस नेमसर्वर के लिए Use with exit node को चालू करें।

MagicDNS नाम काम करना जारी रखते हैं, क्योंकि Tailscale क्लाइंट एग्जिट नोड तक कुछ भी पहुँचने से पहले ही 100.100.100.100 पर स्थानीय रूप से उनका उत्तर दे देता है। इसे dig @100.100.100.100 your-vps.your-tailnet.ts.net के साथ, या systemd-resolved क्लाइंट पर resolvectl status के साथ जांचें, जहाँ Tailscale इंटरफ़ेस 100.100.100.100 को अपने DNS सर्वर के रूप में सूचीबद्ध करता है।

यदि आप --accept-dns=false के साथ Tailscale की DNS हैंडलिंग को अक्षम (disable) करते हैं, तो क्लाइंट स्थानीय नेटवर्क से प्राप्त रिज़ॉल्वर को ही बनाए रखता है। ट्रैफ़िक टनल हो जाता है लेकिन क्वेरीज़ नहीं होतीं, जो कि वही DNS लीक है जो मैन्युअल रूप से बनाए गए WireGuard टनल में होती है। जब तक आपके पास इसे बदलने का कोई विशिष्ट कारण न हो, --accept-dns को न बदलें।

Exit node के माध्यम से IPv6

एक exit node डिफ़ॉल्ट routes, 0.0.0.0/0 और ::/0 दोनों को advertise करता है। यदि VPS के पास इंटरनेट के लिए कोई कार्यशील IPv6 path नहीं है, तो IPv6 packets tunnel के माध्यम से आते हैं और वहीं रुक जाते हैं। भरोसा करने से पहले VPS पर परीक्षण करें:

ip -6 addr show
curl -6 https://ifconfig.me

एक विफल request का अर्थ है कि VPS के पास कोई IPv6 upstream नहीं है। Dual stack वेबसाइटें आमतौर पर फिर भी load हो जाती हैं, क्योंकि client IPv6 को छोड़ देता है और IPv4 पर पुनः प्रयास करता है, हालाँकि वह पुनः प्रयास प्रत्येक साइट के पहले connection पर देरी जोड़ता है। केवल IPv6 वाले गंतव्य unreachable बने रहते हैं।

दूसरा भाग forwarding है। net.ipv6.conf.all.forwarding को 0 पर छोड़ने के साथ net.ipv4.ip_forward = 1 आपको एक कार्यशील IPv4 path देता है और IPv6 के लिए एक black hole, जिसे उपयोगकर्ता "कुछ साइटें धीमी हैं" के रूप में अनुभव करता है, न कि ऐसी त्रुटि के रूप में जिसे कोई खोज सके। दोनों पंक्तियाँ sysctl फ़ाइल में होनी चाहिए।

क्या VPS को subnet routes का विज्ञापन भी करना चाहिए?

एक exit node सारा इंटरनेट ट्रैफिक ले जाता है। एक subnet route उस private range को ले जाता है जो उस मशीन के पीछे स्थित है जो इसका विज्ञापन कर रही है। ये अलग-अलग फीचर्स हैं जिन्हें अलग-अलग मंजूरी की आवश्यकता होती है, और एक मशीन दोनों काम कर सकती है। इनमें से कोई भी VPS पर चल रही किसी सर्विस को expose नहीं करता है, इसलिए यदि आप वास्तव में उस सर्वर पर किसी ऐप के लिए HTTPS URL चाहते हैं, तो serve और funnel वे फीचर्स हैं जिनका उपयोग करना चाहिए।

sudo tailscale set --advertise-routes=10.0.0.0/24

जब VPS किसी ऐसे private network को अन्य सर्वरों के साथ साझा करता है जिन्हें आप उनके private addresses के माध्यम से एक्सेस करना चाहते हैं, तो एक subnet का विज्ञापन करें। इसे उसी Edit route settings पैनल में, अपने स्वयं के टॉगल पर स्वीकृत करें। Linux clients तब तक विज्ञापित रूट को अनदेखा करते हैं जब तक आप --accept-routes पास नहीं करते, जो उन अंतरों में से एक है जिन्हें subnet router वॉकथ्रू पूरी तरह से कवर करता है।

रेंज का चयन सावधानीपूर्वक करें। एक विज्ञापित रूट आपके लैपटॉप के डिफ़ॉल्ट रूट से अधिक विशिष्ट होता है, इसलिए VPS से 192.168.1.0/24 का विज्ञापन करने से उस होम नेटवर्क के पते प्रभावित हो सकते हैं जो उसी रेंज का उपयोग करता है, और आपके डेस्क पर मौजूद डिवाइस काम करना बंद कर सकते हैं। उस रेंज का उपयोग करें जिसे आपने चुना है, न कि उस रेंज का जिसे आपके होम राउटर ने आपके लिए चुना है।

UDP GRO forwarding का उपयोग करके exit node को तेज़ बनाना

Tailscale 1.54 और उसके बाद के वर्ज़न, Linux 6.2 या उसके बाद के kernel पर, एक receive offload का उपयोग कर सकते हैं जो forwarded traffic के लिए throughput को बढ़ाता है। GRO (generic receive offload) incoming packets को kernel द्वारा एक-एक करके प्रोसेस करने से पहले ही merge कर देता है। अगस्त 2026 तक, exit node पर यह अभी भी एक manual प्रक्रिया है।

sudo apt install -y ethtool
NETDEV=$(ip -o route get 8.8.8.8 | cut -f 5 -d " ")
sudo ethtool -K $NETDEV rx-udp-gro-forwarding on rx-gro-list off

ip -o route get 8.8.8.8 उस interface की रिपोर्ट करता है जो वास्तव में internet तक पहुँचता है, इसलिए आपको eth0, ens3 और enp1s0 के बीच कभी भी अनुमान लगाने की आवश्यकता नहीं होती है। ethtool -k $NETDEV | grep udp-gro-forwarding के साथ पुष्टि करें, जिसे अब on पढ़ा जाना चाहिए। GRO केवल उसी path में मदद करता है जो अन्यथा ठीक काम कर रहा हो, इसलिए यदि इसके बाद भी exit node धीमा है, तो path को उसी तरह मापें जैसे आप एक साधारण WireGuard tunnel जो अपने नीचे के link से धीमी चलती है के लिए करते हैं।

Reboot करने पर यह setting हट जाती है। networkd-dispatcher चलाने वाले system पर, इसे automatic बनाएँ:

printf '#!/bin/sh\n\nethtool -K %s rx-udp-gro-forwarding on rx-gro-list off \n' "$(ip -o route get 8.8.8.8 | cut -f 5 -d " ")" | sudo tee /etc/networkd-dispatcher/routable.d/50-tailscale
sudo chmod 755 /etc/networkd-dispatcher/routable.d/50-tailscale

सबसे पहले जाँचें कि /etc/networkd-dispatcher/routable.d/ मौजूद है या नहीं। यदि यह मौजूद नहीं है, तो machine networkd-dispatcher नहीं चला रही है, और एक छोटी systemd unit जो boot के समय ethtool line को run करती है, वही काम करेगी।

आपके प्रदाता की स्वीकार्य उपयोग नीति (AUP) का एग्जिट ट्रैफिक के लिए क्या अर्थ है

एक क्लाइंट एग्जिट नोड के माध्यम से जो भी पैकेट भेजता है, वह VPS के पब्लिक IP एड्रेस के साथ बाहर जाता है, इसलिए इसे आपके अकाउंट से जोड़ा जाता है। दुरुपयोग की रिपोर्ट आपके इनबॉक्स में आती हैं: जैसे कॉपीराइट नोटिस या पोर्ट स्कैन की शिकायतें। किसी घर या टीम के ट्रैफिक को एक सर्वर के माध्यम से रूट करने से पहले अपने प्रदाता की AUP (स्वीकार्य उपयोग नीति) को पढ़ें, और किसी ऐसे व्यक्ति के लिए एग्जिट नोड न खोलें जिसकी आप जिम्मेदारी नहीं ले सकते।

बैंडविड्थ की गणना दो बार होती है। ट्रैफिक टनल के माध्यम से VPS पर आता है और फिर इंटरनेट के लिए बाहर जाता है, और दोनों दिशाएं आमतौर पर आपके प्लान की ट्रांसफर सीमा में गिनी जाती हैं। एग्जिट नोड के माध्यम से देखा गया वीडियो स्ट्रीम अधिकांश लोगों की अपेक्षा से कहीं अधिक डेटा खर्च करता है।

डेटासेंटर एड्रेस रेंज की एक प्रतिष्ठा भी होती है। कुछ वेबसाइटें उन पर अधिक CAPTCHA दिखाती हैं, और कुछ स्ट्रीमिंग सेवाएं उन्हें पूरी तरह से ब्लॉक कर देती हैं। आपके कॉन्फ़िगरेशन में कुछ भी बदलने से यह नहीं बदलेगा, क्योंकि यह उस एड्रेस ब्लॉक की विशेषता है जिसका स्वामित्व आपके प्रदाता के पास है।

ट्रैफिक अभी भी आपके लोकल कनेक्शन से क्यों बाहर जा रहा है

एग्जिट नोड एडवर्टाइज तो है लेकिन स्वीकृत (approved) नहीं है। क्लाइंट पर tailscale exit-node list कुछ भी प्रिंट नहीं करता है, और न ही किसी मशीन पर कोई एरर लॉग होता है। Machines पेज पर जाएं और Use as exit node को ऑन करें।

क्लाइंट ने इसे कभी चुना ही नहीं। अप्रूवल नोड को tailnet के लिए उपलब्ध कराता है। चयन प्रत्येक डिवाइस पर की जाने वाली एक अलग प्रक्रिया है। sudo tailscale set --exit-node=<name> को फिर से चलाएं, और फिर curl -4 https://ifconfig.me को दोबारा चेक करें।

फॉरवर्डिंग बंद है। इसके लक्षण स्पष्ट हैं: tailscale ping <vps> सफल होता है, टनल स्पष्ट रूप से चालू है, और हर बाहरी एड्रेस टाइम-आउट हो जाता है। sysctl net.ipv4.ip_forward का मान 0 पढ़ा जाता है। sysctl फाइल को ठीक करें, फिर sudo sysctl -p /etc/sysctl.d/99-tailscale.conf चलाएं।

एक फायरवॉल फॉरवर्ड किए गए पैकेट्स को ड्रॉप कर रहा है। tailscaled अपनी खुद की ts-forward चेन इन्सर्ट करता है, और एक क्लीन VPS पर यह पर्याप्त होता है। जो बॉक्स पहले से ufw या Docker चला रहे हैं, उनमें FORWARD पॉलिसी DROP पर हो सकती है और नियम Tailscale के नियमों से पहले आ सकते हैं। अनुमान न लगाएं कि कौन सा नियम समस्या कर रहा है: जब क्लाइंट पेज लोड करने की कोशिश करे तो sudo iptables -L FORWARD -n -v चलाएं, और देखें कि कौन से काउंटर बढ़ रहे हैं। ufw वाले बॉक्स पर सामान्य समाधान /etc/default/ufw में DEFAULT_FORWARD_POLICY="ACCEPT" करना है, जिसके बाद sudo ufw reload चलाना होता है। अपने प्रोवाइडर के कंट्रोल पैनल में नेटवर्क फायरवॉल को भी चेक करें, क्योंकि यह सर्वर पर चल रही किसी भी चीज़ से अलग एक कंट्रोल है।

यह काम तो कर रहा है, लेकिन धीमा है। दोनों मशीनों पर tailscale netcheck चलाएं। यदि यह रिपोर्ट करता है कि UDP ब्लॉक है, तो दोनों डिवाइस सीधा रास्ता (direct path) नहीं बना पा रहे हैं और DERP रिले पर निर्भर हो रहे हैं, जो हर कनेक्शन में लेटेंसी बढ़ा देता है। प्रोवाइडर के नेटवर्क फायरवॉल में VPS के लिए पोर्ट 41641 पर इनबाउंड UDP की अनुमति देने से आमतौर पर सीधा रास्ता बहाल हो जाता है।

Tailscale के coordination server को कब छोड़ें

यह सब key exchange और आपके द्वारा की गई approval के लिए Tailscale के hosted coordination server पर निर्भर करता है। आपका traffic फिर भी सीधे laptop से VPS तक जाता है। Coordination server इसे कभी carry नहीं करता। हालांकि, वही तय करता है कि tailnet में कौन join कर सकता है और प्रत्येक device किन resources तक पहुँच सकता है। कीमत आम तौर पर स्थानांतरण का कारण नहीं होती, क्योंकि free plan छह users को उनके अपने unlimited devices के साथ cover करता है। इसलिए bill के बजाय स्वयं इस dependency का मूल्यांकन करें। सातवाँ व्यक्ति जुड़ने पर स्थिति बदलती है। Tailscale per device के बजाय per user billing करता है। इसलिए cost के आधार पर कोई निर्णय लेने से पहले वास्तव में household या five person team कितना भुगतान करती है, यह calculate करें। ईमानदार मूल्यांकन के लिए यह जानना जरूरी है कि compromised coordination server या stolen identity account वास्तव में किन resources तक पहुँच सकता है। यही बात Tailscale का trust model स्पष्ट करता है। यदि आप इसी dependency को हटाना चाहते हैं, तो Headscale को अपने Tailscale control server के रूप में चलाएँ और दोनों clients को उसी पर point करें। इसके बाद exit node के steps समान रहते हैं। Route approval hosted console के बजाय Headscale के command line से किया जाता है। Headscale control plane को बदल देता है, लेकिन आप Tailscale clients का उपयोग जारी रखते हैं। यदि आप पूरा stack स्वयं चलाना चाहते हैं, तो NetBird अपना coordination server और ऐसे clients release करता है जिन्हें आप एक VPS पर host करते हैं।

FAQ

Exit node चुनने के बाद भी मेरा traffic मेरे local connection का उपयोग क्यों करता है?

इसके दो सामान्य कारण हैं। Exit node को advertise तो किया गया लेकिन उसे कभी approve नहीं किया गया: admin console में Machines पेज खोलें, VPS ढूँढें, Edit route settings चुनें, और Use as exit node को चालू करें। Approval एक console toggle है, और सर्वर पर कोई भी command इसे पूरा नहीं कर सकती। दूसरा कारण अलग दिखता है: IP forwarding बंद है, इसलिए tunnel तो बन जाती है, VPS तक tailscale ping काम करता है, लेकिन हर बाहरी address time out हो जाता है। sysctl net.ipv4.ip_forward के साथ जाँचें, जिसका मान 1 होना चाहिए।

क्या मुझे हर बार exit node को मैन्युअल रूप से approve करना होगा?

यह toggle प्रत्येक machine के लिए एक बार की जाने वाली क्रिया है। यदि आप अक्सर VPS को rebuild करते हैं, तो अपनी tailnet policy file में एक autoApprovers block जोड़ें जिसमें "exitNode": ["tag:exit"] हो, tagOwners के अंतर्गत tag:exit को परिभाषित करें, और node को --advertise-tags=tag:exit के साथ start करें। एक tagged device आपके user account के बजाय tailnet के स्वामित्व में होता है, इसलिए उस पर लागू होने वाले access rules भी बदल जाते हैं।

Exit node चालू रहने पर मेरा laptop किस DNS server का उपयोग करता है?

स्वयं exit node का। Exit node का उपयोग करने वाला device सभी DNS queries वहीं भेजता है, और यह tailnet के लिए सेट किए गए global और split DNS nameservers को override कर देता है। यह local network को आपके द्वारा खोजे गए names देखने से रोकता है। किसी एक tailnet nameserver को लागू रखने के लिए, admin console के DNS पेज पर उसके लिए Use with exit node को enable करें। MagicDNS names अभी भी resolve होते हैं, क्योंकि Tailscale client उन्हें स्थानीय रूप से 100.100.100.100 पर हल करता है।

क्या एक VPS एक ही समय में exit node और subnet router दोनों हो सकता है?

हाँ। sudo tailscale set --advertise-exit-node और sudo tailscale set --advertise-routes=10.0.0.0/24 स्वतंत्र हैं, और प्रत्येक को Edit route settings के अंतर्गत अपना अलग approval toggle मिलता है। दोनों के लिए VPS पर IP forwarding का enable होना आवश्यक है। ऐसी range को advertise करने से बचें जो आपके laptop के home network से मेल खाती हो, क्योंकि advertised route default route से अधिक विशिष्ट होता है और आपके local devices तक पहुँचना असंभव हो जाता है।

क्या exit node मेरे traffic को मेरे VPS provider से छिपाता है?

नहीं। Tunnel VPS पर समाप्त होती है, इसलिए traffic सर्वर से उस रूप में निकलता है जिसकी destination अपेक्षा करती है, और जहाँ site स्वयं encrypted नहीं है, वहाँ आपका provider उसे clear text में ले जाता है। Exit node उस स्थान को बदल देता है जहाँ से आपका traffic internet में प्रवेश करता है, यानी जिस network पर आप बैठे हैं, उससे हटकर आपके द्वारा किराए पर लिए गए सर्वर पर। यह आपके browsing को café Wi-Fi और आपके home ISP से तो छिपाता है, लेकिन वही browsing आपके VPS provider को आपके account name के साथ दिखाई देती है।