SSD Nodes Learn 🎉 VPS $5.50/माह से
गाइड Matt Connorलेखक: Matt Connor · अपडेट किया गया: 2026-08-12

Linux VPS पर Tor relay कैसे सेटअप करें

Linux VPS पर Tor relay सेटअप करने की पूरी प्रक्रिया जानें। इसमें torrc कॉन्फ़िगरेशन, बैंडविड्थ लिमिटिंग, Nyx मॉनिटरिंग और नए रिले के लिए consensus वेटिंग टाइम की जानकारी दी गई है।

VPS पर Tor relay क्या करता है

Tor relay एक ऐसी मशीन पर चलने वाला Tor daemon है जिसका public IP address होता है। यह अन्य लोगों के लिए encrypted traffic को आगे भेजता है (forward करता है)। Directory authorities इसे प्रकाशित करती हैं और Tor clients इसके माध्यम से circuits बनाते हैं। एक guard या middle relay हमेशा traffic को केवल किसी अन्य relay को ही सौंपता है, इसलिए यह कभी भी किसी अनजान व्यक्ति की ओर से किसी website के लिए connection नहीं खोलता है। यही एकमात्र कारण है कि इस पर कभी abuse mail नहीं आती है, और यही कारण है कि यह एक साधारण VPS के लिए सबसे उपयुक्त योगदान है।

इसका काम बहुत कम है: एक package, पंद्रह lines की config, एक firewall rule, और एक restart। इस guide का बाकी हिस्सा वह भाग है जहाँ चीजें गलत हो सकती हैं। इसमें metered plan पर bandwidth की गणना, और वह कारण शामिल है कि क्यों एक पूरी तरह से स्वस्थ नया relay एक सप्ताह तक मृत (dead) दिखाई देता है।

Guard, middle, bridge या exit: install करने से पहले चुनें

एक daemon चारों भूमिकाएं निभा सकता है। आपकी config और directory authorities यह तय करते हैं कि आप कौन सी भूमिका में हैं।

  • Middle relay: यह guard से traffic प्राप्त करता है और उसे दूसरे relay को भेजता है। यह कभी भी destination site से संपर्क नहीं करता। हर नया relay यहीं से शुरू होता है।
  • Guard relay: यह वही configuration है, बस ऊपर एक flag लगा होता है। Directory authorities उन relays को Guard flag देते हैं जो काफी समय से fast और stable रहे हों। आप इसे चुनते नहीं हैं। आप इसे अर्जित करते हैं, और नीचे दी गई config ही इसे अर्जित करने में मदद करती है।
  • Bridge: एक ऐसा relay जिसे जानबूझकर public directory से बाहर रखा जाता है और उन जगहों पर users को निजी तौर पर दिया जाता है जहाँ Tor block है। चारों में से यह सबसे कम जिम्मेदारी वाला काम है: कम bandwidth, कोई public listing नहीं, और यदि आपकी योजना छोटी है तो यह पहला सही कदम है।
  • Exit relay: यह अंतिम hop है, जो destination site के लिए connection खोलता है। user द्वारा किया गया हर अनुरोध आपके IP address से निकलता है, इसलिए abuse reports और police inquiries उस व्यक्ति के पास पहुँचती हैं जिसके पास वह address है।

Exit वह भूमिका है जो general-purpose VPS पर नहीं होनी चाहिए। Exit केवल उस provider पर चलाएं जिसने पहले से ही उस mail को प्राप्त करने के लिए सहमति दी हो, जिसका अपना IP address हो और एक published abuse contact हो। अधिकांश standard hosting terms इसे मना करती हैं, और इसे अनदेखा करने का सामान्य परिणाम server का suspend होना और IP address का खो जाना है। एक guard या middle relay उसी user traffic को ले जाता है, लेकिन इसमें ऐसा कोई जोखिम नहीं होता।

नीचे दी गई हर चीज़ एक guard/middle relay बनाती है। ExitRelay 0 वह line है जो इसे उसी भूमिका में रखती है।

शुरू करने से पहले VPS की आवश्यकताएं

Tor Project relays के लिए सख्त आवश्यकताएं प्रकाशित करता है। अगस्त 2026 तक ये इस प्रकार हैं: relay के लिए एक public IPv4 address, प्रत्येक दिशा में कम से कम 10 Mbit/s bandwidth (16 Mbit/s की अनुशंसा की जाती है), प्रति माह कम से कम 100 GB outbound traffic, और 40 Mbit/s से कम गति के लिए 512 MB RAM या उससे अधिक के लिए 1 GB RAM। uptime का कोई निश्चित नियम नहीं है, लेकिन जो relay दिन में दो घंटे से कम चलता है, वह network के लिए बहुत कम उपयोगी होता है।

10 Mbit/s का आंकड़ा line की क्षमता को दर्शाता है, न कि setting को। आपको एक ऐसे port की आवश्यकता है जो यह गति प्रदान कर सके। आप relay को उस line का कितना उपयोग करने देते हैं, यह एक अलग निर्णय है, जो मासिक transfer allowance के आधार पर लिया जाता है। configuration को छूने से पहले अपनी plan को पढ़ें। यदि आप अभी भी एक box चुन रहे हैं, तो VPS की वास्तविक मासिक लागत में यह बताया गया है कि transfer allowances कैसे बेचे जाते हैं, और VPS के वास्तविक network throughput को मापना यह दर्शाता है कि sales page पर भरोसा करने के बजाय iperf3 के साथ line की वास्तविक क्षमता का पता कैसे लगाया जाए।

सबसे पहले machine को harden करें। एक relay public address पर चलने वाली एक public service है, और प्रकाशित होने के कुछ ही मिनटों के भीतर address scan होने लगता है। SSH को keys और hardened sshd config तक सीमित करना में दस मिनट लगते हैं और इसे relay के live होने से पहले किया जाना चाहिए, बाद में नहीं।

Tor Project repository से Tor इंस्टॉल करें

Distribution package के बजाय Tor Project के अपने apt repository का उपयोग करें। Relay code, stable release की तुलना में तेजी से अपडेट होता है, इसलिए सुधार सबसे पहले इसी repository में आते हैं, जबकि distribution package के release के बीच में काफी अंतराल हो सकता है।

sudo apt update
sudo apt install -y apt-transport-https gnupg wget

Signing key जोड़ें, और फिर repository जोड़ें। Codename को मशीन से पढ़ा जाता है, इसलिए यही block Ubuntu 24.04 (noble) और Debian 13 (trixie) दोनों पर काम करता है।

wget -qO- https://deb.torproject.org/torproject.org/A3C4F0F979CAA22CDBA8F512EE8CBC9E886DDD89.asc \
  | gpg --dearmor \
  | sudo tee /usr/share/keyrings/deb.torproject.org-keyring.gpg >/dev/null

CODENAME=$(. /etc/os-release && echo "$VERSION_CODENAME")
echo "$CODENAME"

sudo tee /etc/apt/sources.list.d/tor.sources >/dev/null <<EOF
Types: deb deb-src
URIs: https://deb.torproject.org/torproject.org/
Suites: $CODENAME
Components: main
Signed-By: /usr/share/keyrings/deb.torproject.org-keyring.gpg
EOF

sudo apt update
sudo apt install -y tor deb.torproject.org-keyring
tor --version

tor --version आपके द्वारा अभी इंस्टॉल किए गए version को print करता है। यदि apt update ने इसके बजाय NO_PUBKEY error print किया है, तो इसका मतलब है कि dearmored key, Signed-By: line में दिए गए path पर मौजूद नहीं है, इसलिए apt के पास release file की जाँच करने के लिए कोई key नहीं है। deb.torproject.org-keyring package बाद के लिए महत्वपूर्ण है: यह signing key को एक सामान्य package के रूप में प्रदान करता है, जिससे key rotate होने पर भी apt काम करता रहता है।

Automatic upgrades को चालू करें, और फिर उन्हें नए origin के बारे में सूचित करें।

sudo apt install -y unattended-upgrades apt-listchanges

Ubuntu पर, /etc/apt/apt.conf.d/50unattended-upgrades में Allowed-Origins block में Tor origin जोड़ें:

Unattended-Upgrade::Allowed-Origins {
        "${distro_id}:${distro_codename}-security";
        "TorProject:${distro_codename}";
};

Debian पर वही file Origins-Pattern का उपयोग करती है, जहाँ जोड़ने वाली line "origin=TorProject"; है। परिणाम की जाँच sudo unattended-upgrade --debug --dry-run के साथ करें, जो उन origins को print करता है जिन पर यह काम करेगा और कुछ भी write नहीं करता है।

वह torrc जो मायने रखता है

यह पैकेज एक लंबी, अत्यधिक टिप्पणी वाली /etc/tor/torrc फाइल इंस्टॉल करता है। एक relay के लिए केवल कुछ ही पंक्तियाँ मायने रखती हैं। उन्हें फाइल के अंत में जोड़ें।

Nickname mynicerelay
ContactInfo relay-ops[at]example.com
ORPort 9001
ExitRelay 0
SocksPort 0

Nickname 1 से 19 वर्णों का होता है, जिसमें केवल अक्षर और अंक हो सकते हैं। यह नेटवर्क पर अद्वितीय नहीं होता है और यह आपकी पहचान नहीं है, पहचान fingerprint होती है। सर्च बॉक्स में अपने relay को खोजने के लिए इसका उपयोग किया जाता है, इसलिए ऐसा नाम चुनें जिसे आप फोन पर आसानी से बता सकें।

ContactInfo को relay descriptor के अंदर प्रकाशित किया जाता है, जो एक सार्वजनिक दस्तावेज़ है जिसे कोई भी डाउनलोड कर सकता है, इसलिए इस पते को स्क्रैप किया जाएगा। ऐसा ईमेल पता उपयोग करें जिसे आप दो साल बाद भी पढ़ सकें, और यदि आप चाहें तो इसे obfuscate कर सकते हैं। Tor Project के पास आपके relay के साथ किसी समस्या के बारे में आपको चेतावनी देने का यही एकमात्र माध्यम है।

ORPort 9001 वह पोर्ट है जिससे अन्य relays और clients जुड़ते हैं। 9001 एक पारंपरिक पोर्ट है। पोर्ट 443 दूसरा सामान्य विकल्प है, क्योंकि कुछ प्रतिबंधित नेटवर्क केवल आउटबाउंड 443 की अनुमति देते हैं, इसलिए वहां listening करने वाला relay अधिक clients के लिए सुलभ होता है। 443 केवल तभी चुनें यदि सर्वर पर किसी अन्य चीज़ को इसकी आवश्यकता न हो।

SocksPort 0 स्थानीय SOCKS proxy को बंद कर देता है, जिसका उपयोग relay नहीं करता है, और मशीन से एक listening socket को हटा देता है। ExitRelay 0 इस इरादे को फाइल में लिखता है: यह relay कभी भी उपयोगकर्ता की ओर से किसी गंतव्य से नहीं जुड़ेगा, और बाद में कॉन्फ़िगरेशन पढ़ने वाले किसी भी व्यक्ति को डिफ़ॉल्ट सेटिंग्स से इसका अनुमान नहीं लगाना पड़ेगा।

यदि VPS में IPv6 पता है, तो दूसरी ORPort पंक्ति जोड़ें। Tor IPv4 की तरह किसी भी IPv6 पते पर bind नहीं हो सकता है, इसलिए पते को वर्गाकार कोष्ठक (square brackets) में लिखें।

ORPort 9001
ORPort [2001:db8::1]:9001

1 GB के VPS पर, MaxMemInQueues 512 MB जोड़ें। Tor मशीन पर उपलब्ध मेमोरी के आधार पर अपनी queue सीमा तय करता है, जो एक छोटी shared मशीन पर आपकी आवश्यकता से अधिक हो सकती है। सीमा को स्वयं सेट करने से दबाव पड़ने पर tor queued cells को हटा देता है, जिससे relay सुरक्षित रहता है, बजाय इसके कि वह तब तक बढ़ता रहे जब तक kernel प्रक्रिया को समाप्त न कर दे।

Firewall में ORPort खोलें

Inbound, ORPort को इंटरनेट पर कहीं से भी पहुँचा जा सकने योग्य होना चाहिए। Outbound, relay को unrestricted छोड़ दें: यह कई अलग-अलग ports पर हजारों अन्य relays के साथ connections खोलता है, और एक outbound allowlist इसे चुपचाप अक्षम कर देगी।

sudo ufw allow 9001/tcp comment 'tor ORPort'
sudo ufw status verbose

इसके बाद provider के स्वयं के network firewall की जाँच करें। कई control panels virtual machine के सामने एक packet filter चलाते हैं, और ufw के साथ आपके द्वारा जोड़ा गया rule वहाँ प्रभावी नहीं होता है, इसलिए port box पर open दिखता है और बाहर से closed। यदि आप ufw के लिए नए हैं, तो हर VPS पर आवश्यक ufw rules default policy और उन नियमों के क्रम के बारे में बताता है जिनमें वे match किए जाते हैं।

अपने प्लान के अनुसार बैंडविड्थ निर्धारित करें

मैनुअल RelayBandwidthRate को एक अलग टोकन बकेट के रूप में वर्णित करता है। यह "इस नोड पर रिले किए गए ट्रैफ़िक के लिए औसत इनकमिंग बैंडविड्थ उपयोग को निर्दिष्ट बाइट्स प्रति सेकंड तक, और औसत आउटगोइंग बैंडविड्थ उपयोग को उसी मान तक सीमित करता है"। इसे दो बार पढ़ें। यह सीमा प्रत्येक दिशा पर अलग-अलग लागू होती है। 1 Mbit/s पर सेट किया गया रिले एक ही समय में 1 Mbit/s इन और 1 Mbit/s आउट ट्रैफ़िक ले जा सकता है, और जो प्रदाता दोनों दिशाओं को मापता है, वह इनका योग बिल करता है।

ChartMonthly traffic at a sustained relay rate, both directions, 30 days
The data behind this chart
[
  {
    "label": "1 Mbit/s",
    "torrc_rate": "125 KBytes",
    "gb_per_day": 21.6,
    "gb_per_month": "648"
  },
  {
    "label": "2 Mbit/s",
    "torrc_rate": "250 KBytes",
    "gb_per_day": 43.2,
    "gb_per_month": "1,296"
  },
  {
    "label": "5 Mbit/s",
    "torrc_rate": "625 KBytes",
    "gb_per_day": 108,
    "gb_per_month": "3,240"
  },
  {
    "label": "10 Mbit/s",
    "torrc_rate": "1250 KBytes",
    "gb_per_day": 216,
    "gb_per_month": "6,480"
  },
  {
    "label": "20 Mbit/s",
    "torrc_rate": "2500 KBytes",
    "gb_per_day": 432,
    "gb_per_month": "12,960"
  }
]

ये 5 पंक्तियाँ गणितीय हैं, माप नहीं: ये दिखाती हैं कि यदि रिले इसे दोनों दिशाओं में पूरे 30 दिनों तक बनाए रखता है, तो एक दर की क्या लागत होगी। एक वास्तविक रिले अधिकांश समय अपनी सीमा से नीचे रहता है, विशेषकर शुरुआती हफ्तों में। तालिका का उपयोग उन सेटिंग्स को बाहर करने के लिए करें जो फिट नहीं हो सकतीं, न कि गीगाबाइट तक के बिल का अनुमान लगाने के लिए।

प्रत्येक दिशा में 1 Mbit/s पर, एक रिले प्रतिदिन लगभग 21.6 GB ट्रैफ़िक ले जाता है, इसलिए 30 दिनों के महीने में लगभग 648 GB मापा गया ट्रैफ़िक खर्च होता है। यह 1 TB की अनुमति के भीतर फिट बैठता है और अपडेट व बैकअप के लिए जगह बची रहती है। 2 Mbit/s पर जाने पर महीने का खर्च 1,296 GB होता है, जो पहले से ही 1 TB प्लान से अधिक है। अंतिम पंक्ति, 20 Mbit/s, को प्रति माह 12,960 GB की आवश्यकता होती है और इसे अनमीटर्ड पोर्ट पर होना चाहिए। यदि आपका प्रदाता केवल आउटबाउंड ट्रैफ़िक का बिल लेता है, तो प्रत्येक आंकड़े को आधा कर दें। दर सेट करने से पहले पता लगाएँ कि आपके पास कौन सा बिलिंग मॉडल है, क्योंकि दोनों उत्तरों में दो गुना का अंतर होता है।

अब कॉन्फ़िगरेशन देखें। पहले रेट लिमिट, फिर कोटा।

RelayBandwidthRate 125 KBytes
RelayBandwidthBurst 250 KBytes
AccountingMax 400 GBytes
AccountingRule sum
AccountingStart month 1 00:00

RelayBandwidthBurst टोकन बकेट का आकार है, इसलिए यह औसत दर बनाए रखते हुए दर से ऊपर छोटे स्पाइक्स की अनुमति देता है। दर का लगभग दोगुना एक उचित मान है।

AccountingRule वह लाइन है जिसे अधिकांश ऑपरेटर छोड़ देते हैं। डिफ़ॉल्ट max है, जो कोटा के मुकाबले दोनों दिशाओं में से बड़ी दिशा को मापता है। डिफ़ॉल्ट के साथ, AccountingMax 400 GBytes 400 GB इन और 400 GB आउट की अनुमति देता है, जो कि दोनों को गिनने वाले मीटर पर 800 GB है। AccountingRule sum एक कोटा के मुकाबले रीड और राइट दोनों को जोड़ता है, जो कि ट्रांसफर अलाउंस वास्तव में मापता है।

AccountingStart को भी लिखें, कभी भी केवल AccountingMax न लिखें। कोटा वह संख्या है, और स्टार्ट लाइन वह अवधि है जिस पर यह रीसेट होता है। बिना अवधि वाला कोटा रिले को हाइबरनेशन में छोड़ देता है और उसे वापस लाने का कोई तरीका नहीं बचता।

हाइबरनेशन एक कठोर उपाय है। जब कोटा समाप्त हो जाता है, तो tor इसे लॉग करता है और काम लेना बंद कर देता है:

Bandwidth soft limit reached; commencing hibernation. No new connections will be accepted

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

Relay को start करें और सुनिश्चित करें कि वह reachable है

sudo systemctl restart tor@default
sudo systemctl status tor@default
sudo journalctl -u tor@default -n 50

कुछ ही मिनटों में log में यह line दिखाई देनी चाहिए:

Self-testing indicates your ORPort is reachable from the outside. Excellent. Publishing server descriptor.

इस वाक्य का अर्थ है कि अन्य relays ने आपके ORPort से connection बनाया है और इसके माध्यम से एक circuit तैयार किया है। जब तक यह line नहीं आती, आपका relay directory में शामिल नहीं है और कोई traffic carry नहीं कर रहा है। विफलता (failure) का संदेश इस प्रकार दिखता है:

Your server has not managed to confirm reachability for its ORPort(s) at 203.0.113.10:9001. Relays do not publish descriptors until their ORPort and DirPort are reachable. Please check your firewalls, ports, address, /etc/hosts file, etc.

इसे क्रमवार तरीके से हल करें। जाँचें कि क्या ORPort ufw में open है। क्या यह provider के अलग network firewall में भी open है? क्या उस संदेश में दिया गया address वही address है जिस पर internet वास्तव में आप तक पहुँचता है, न कि NAT setup का कोई private address? किसी अन्य machine से nc -vz 203.0.113.10 9001 का उपयोग करके port का परीक्षण करें। Tor स्वयं ही self-test को दोहराता है, इसलिए firewall ठीक करने पर वह अपने आप पता लगा लेगा, और restart करने से यह प्रक्रिया तुरंत पूरी हो जाती है।

आपके relay की स्थायी पहचान उसका fingerprint है:

sudo cat /var/lib/tor/fingerprint

Descriptor publish होने के लगभग तीन घंटे बाद, relay Relay Search पर दिखाई देने लगता है। nickname खोजें या fingerprint paste करें। वह page दिखाता है कि network आपके relay के बारे में क्या सोचता है: इसमें कौन से flags हैं, authorities इसे क्या weight देती हैं, और यह कौन सा version publish कर रहा है।

नया Tor relay लगभग कोई traffic क्यों नहीं ले जाता है?

ऐसा इसलिए है क्योंकि नेटवर्क ने अभी तक इसे मापा नहीं है, और मापन में हफ्तों का समय लगता है। The Tor Project इस वृद्धि को चार चरणों में वर्णित करता है, और जो ऑपरेटर इसे नहीं पढ़ते, वे यह निष्कर्ष निकाल लेते हैं कि relay खराब है और वे चीजों को बदलना शुरू कर देते हैं।

पहले तीन दिनों तक relay unmeasured रहता है। यह अपने स्वयं के self-test परिणाम की रिपोर्ट करता है, और directory authorities वैसे भी प्रकाशित weight को 20 KB पर सीमित रखती हैं, इसलिए clients लगभग कभी भी इसे नहीं चुनते हैं। लगभग तीसरे दिन से आठवें दिन तक, bandwidth authorities वास्तव में इसे मापती हैं और weight बढ़ता है, लेकिन इसका उपयोग केवल middle hop के रूप में किया जाता है, क्योंकि कोई भी client किसी बिल्कुल नए relay को अपना पहला hop बनाने के लिए तैयार नहीं होता है।

लगभग आठवें दिन, relay Guard flag के लिए पात्र हो जाता है। यह flag मिलने पर traffic कम हो जाता है, जो सभी को आश्चर्यचकित करता है: middle hops चुनते समय clients guards को छोड़ देते हैं, यह मानकर कि एक guard पहले से ही व्यस्त है, इसलिए relay को guard traffic मिलने से पहले middle traffic का नुकसान हो जाता है। यह तभी फिर से भरता है जब clients अपने guard sets को rotate करते हैं, जिसमें हफ्तों का समय लगता है। लगभग 68वें दिन तक यह एक स्थिर स्थिति (steady state) में पहुँच जाता है, जहाँ इसे छोड़ने वाले clients और इसे जोड़ने वाले clients की संख्या संतुलित हो जाती है।

इसलिए, वास्तविक अपेक्षा यह है कि तीन दिनों तक कुछ नहीं होगा, एक सप्ताह के बाद कुछ traffic शुरू होगा, और दो महीनों के बाद वास्तविक load आएगा। एक सेटिंग बदलें, और फिर यह देखने के लिए एक सप्ताह प्रतीक्षा करें कि उसका क्या प्रभाव पड़ा। पोर्ट 9001 पर TCP check के साथ एक self-hosted Uptime Kuma status page का उपयोग करना उस घबराहट भरी ऊर्जा का बेहतर उपयोग है: यह उस प्रश्न का उत्तर देता है जिसे आप वास्तव में नियंत्रित कर सकते हैं, जो यह है कि क्या पोर्ट अभी भी जवाब दे रहा है।

nyx के साथ relay को monitor करें

nyx एक चल रहे relay के लिए terminal monitor है। यह tor के control port से बात करता है, इसलिए सबसे पहले torrc में इसे enable करें:

ControlPort 9051
CookieAuthentication 1
CookieAuthFileGroupReadable 1

ControlPort केवल 127.0.0.1 पर listen करता है, और cookie authentication का मतलब है कि किसी भी program को command जारी करने से पहले एक secret file को पढ़ना होगा। Tor उस cookie को debian-tor user के रूप में /run/tor/control.authcookie पर लिखता है, जिसका mode 600 होता है, ताकि कोई अन्य इसे न पढ़ सके। CookieAuthFileGroupReadable 1 इसे group के लिए खोल देता है, जिससे आपका अपना account बिना sudo के nyx चला सकता है।

sudo apt install -y nyx
sudo adduser "$USER" debian-tor
sudo systemctl restart tor@default

Log out करके वापस login करें, फिर nyx चलाएँ। नए group को login के समय ही लागू किया जाना चाहिए, इसलिए यदि आप उसी shell session में nyx चलाएंगे तो configuration सही होने के बावजूद cookie file पर permission error आएगा। nyx live bandwidth, uptime, log stream और connection list दिखाता है। शुरुआती हफ्तों में, जिस संख्या पर आपको ध्यान देना है वह bandwidth graph है, जिसे आपके RelayBandwidthRate के नीचे रहना चाहिए।

एक से अधिक relay चलाना: MyFamily और family keys

यदि आप केवल एक relay चला रहे हैं, तो इस अनुभाग को छोड़ दें। एक ही ऑपरेटर द्वारा चलाए जा रहे दो या अधिक relays को एक-दूसरे की घोषणा करनी चाहिए। इससे clients ऐसा circuit नहीं बनाएंगे जो आपके ही मशीनों से शुरू और समाप्त हो, क्योंकि ऐसा होने पर एक ही ऑपरेटर circuit के दोनों सिरों को देख पाएगा।

इसका पुराना तरीका हर relay की torrc फाइल में MyFamily का उपयोग करना है, जिसमें अन्य सभी relays के fingerprints की सूची होती है:

MyFamily AAAAAAAAAA,BBBBBBBB

हर relay अन्य सभी relays की सूची रखता है, इसलिए चौथा relay जोड़ने का अर्थ है चार फाइलों को एडिट करना। Tor 0.4.9 ने इसे एक family key से बदल दिया है। एक key जनरेट करें और फिर उसे साझा करें:

tor --keygen-family myfamily

यह myfamily.secret_family_key फाइल लिखता है और एक FamilyId लाइन प्रिंट करता है। इस key फाइल को हर relay पर कॉपी करें, इसे DataDirectory के keys सबडायरेक्टरी (Debian और Ubuntu पर /var/lib/tor/keys) में रखें, और .secret_family_key सफिक्स को बनाए रखें। प्रिंट की गई FamilyId लाइन को प्रत्येक torrc में जोड़ें और sudo systemctl reload tor@default के साथ reload करें। फिलहाल MyFamily सूची को भी यथावत रहने दें। जो clients अभी तक family certificates को नहीं समझते हैं, वे पुरानी सूची पढ़ते रहेंगे, और Tor Project घोषणा करेगा कि इसे कब हटाया जा सकता है।

चलने के बाद क्या खराब हो सकता है

version पुराना हो जाता है। Unattended upgrades पैकेज को बदल देते हैं, लेकिन चल रही process उसी binary का उपयोग करती रहती है जिससे वह शुरू हुई थी, जब तक कि उसे restart न किया जाए। बॉक्स पर मौजूद tor --version की तुलना relay के Relay Search पेज पर दिखाई गई version से करें। यदि वे अलग हैं, तो नेटवर्क अभी भी पुराने version को देख रहा है, इसलिए service को restart करें।

घड़ी का समय बदल जाता है (Clock drift)। Consensus दस्तावेज़ और certificates समय-बद्ध होते हैं, इसलिए जिस मशीन की घड़ी का समय बहुत अधिक गलत होता है, वह consensus को अस्वीकार कर देती है और publishing बंद कर देती है। timedatectl को system clock के synchronized होने की रिपोर्ट देनी चाहिए। यदि ऐसा नहीं होता है, तो systemd-timesyncd को enable करें या chrony को install करें।

IP address बदल जाता है। Descriptor में address होता है, और clients उस address तक नहीं पहुँच सकते जो बदल गया हो। किसी भी provider migration या address परिवर्तन के बाद, tor को restart करें और self-test line के लिए फिर से प्रतीक्षा करें।

relay योजना की अनुमति से धीमा है। Tor का relay crypto आधुनिक processors पर कुशल है, और Tor Project के अनुसार AES-NI support वाला CPU प्रत्येक दिशा में लगभग 400 से 450 Mbit/s की गति देता है। उस सीमा तक पहुँचने से बहुत पहले ही आप port speed और transfer allowance द्वारा सीमित हो जाते हैं, यही कारण है कि hardware की तुलना में ऊपर दिया गया accounting section अधिक महत्वपूर्ण है।

FAQ

Tor relay कितनी bandwidth का उपयोग करता है?

जितनी आप अनुमति देंगे, उससे अधिक नहीं। RelayBandwidthRate relayed traffic को प्रत्येक दिशा में अलग-अलग सीमित करता है, इसलिए 1 Mbit/s पर सेट किया गया relay एक ही समय में 1 Mbit/s इनबाउंड और 1 Mbit/s आउटबाउंड traffic ले जा सकता है। यह दोनों दिशाओं को मिलाकर प्रतिदिन लगभग 21.6 GB, या 30 दिनों के महीने में 648 GB होता है। उस दर के नीचे एक सख्त मासिक कोटा के रूप में AccountingMax के साथ AccountingRule sum जोड़ें।

क्या Tor relay चलाने से मुझे abuse complaints मिलेंगी?

एक guard या middle relay केवल अन्य Tor relays तक traffic भेजता है और किसी उपयोगकर्ता के लिए कभी भी सीधे वेबसाइट से कनेक्ट नहीं होता है, इसलिए Tor के माध्यम से किसी के द्वारा किए गए कार्यों की शिकायतें exit operator को जाती हैं, आपको नहीं। आप जो देख सकते हैं वह scanning और कभी-कभार IP reputation listing है, क्योंकि वह पता सार्वजनिक रूप से relay के रूप में सूचीबद्ध होता है। Exit relays वे होते हैं जिन्हें abuse mail और कानूनी नोटिस प्राप्त होते हैं, और उन्हें ऐसे प्रदाता की आवश्यकता होती है जिसने इसे संभालने के लिए पहले से सहमति दी हो। किसी भी प्रकार का relay शुरू करने से पहले अपने प्रदाता की शर्तें पढ़ें।

मेरा नया Tor relay traffic क्यों प्राप्त नहीं कर रहा है?

क्योंकि नए relays को डिज़ाइन के अनुसार तब तक सीमित (throttle) रखा जाता है जब तक कि उन्हें मापा न जाए। पहले तीन दिनों के लिए directory authorities प्रकाशित weight को 20 KB पर सीमित रखती हैं, इसलिए clients लगभग कभी भी उस relay को नहीं चुनते हैं। Bandwidth authorities लगभग तीसरे दिन से इसे मापना शुरू करती हैं, यह आठवें दिन के आसपास Guard flag के लिए पात्र हो जाता है, और उस बिंदु पर traffic फिर से कम हो जाता है क्योंकि middle hops चुनते समय clients guards से बचते हैं। पूर्ण load लगभग 68वें दिन के आसपास आता है। पुष्टि करें कि log में "Self-testing indicates your ORPort is reachable from the outside" दिखाई दे रहा है, फिर इसे ऐसे ही छोड़ दें।

क्या मैं 1 TB transfer allowance वाले VPS पर Tor relay चला सकता हूँ?

हाँ, प्रत्येक दिशा में लगभग 1 Mbit/s की दर पर, जो कि RelayBandwidthRate 125 KBytes है। यदि आपका प्रदाता दोनों दिशाओं के traffic को मापता है, तो यह लगभग 648 GB प्रति माह होता है, जिससे updates और backups के लिए जगह बची रहती है। AccountingMax 400 GBytes के साथ AccountingRule sum और AccountingStart month 1 00:00 जोड़ें ताकि relay plan की सीमा पार करने के बजाय hibernate हो जाए। यदि प्रदाता केवल outbound traffic के लिए शुल्क लेता है, तो आप दर को दोगुना कर सकते हैं।

यदि मैं केवल एक relay चलाता हूँ तो क्या मुझे MyFamily सेट करने की आवश्यकता है?

नहीं। Family declarations इसलिए होती हैं ताकि clients एक ही operator के स्वामित्व वाले दो relays के माध्यम से circuit बनाने से बचें, जो एक relay के साथ अर्थहीन है। जैसे ही आप दूसरा relay जोड़ें, इसे सेट करें: प्रत्येक relay की MyFamily लाइन में हर relay का fingerprint सूचीबद्ध करें, या Tor 0.4.9 द्वारा पेश की गई family key का उपयोग करें, जो बढ़ती हुई सूची के बजाय एक ही FamilyId वितरित करती है।