Linux VPS वर Tor relay कसे सुरू करावे
Linux VPS वर Tor relay सेट करण्यासाठी आवश्यक torrc कॉन्फिगरेशन, बँडविड्थ मर्यादा आणि nyx मॉनिटरिंगची माहिती घ्या. नवीन रिलेसाठी लागणारा वेळ आणि सुरक्षिततेचे नियम समजून घ्या.
VPS वर Tor relay काय करते
Tor relay म्हणजे सार्वजनिक IP address असलेल्या मशीनवर चालणारा एक Tor daemon आहे, जो इतर वापरकर्त्यांसाठी एनक्रिप्टेड ट्रॅफिक फॉरवर्ड करतो. Directory authorities या relay ला प्रकाशित करतात आणि Tor clients याद्वारे सर्किट्स तयार करतात. Guard किंवा middle relay हे ट्रॅफिक फक्त दुसऱ्या relay कडे सोपवतात, त्यामुळे ते कधीही अनोळखी व्यक्तीच्या वतीने कोणत्याही वेबसाइटशी कनेक्शन उघडत नाहीत. याच एका कारणामुळे यावर कोणत्याही प्रकारचे 'abuse mail' येत नाहीत आणि म्हणूनच हे सामान्य VPS साठी एक योग्य योगदान ठरते.
याचे काम मर्यादित आहे: एक पॅकेज, पंधरा ओळींचे कॉन्फिगरेशन, एक फायरवॉल नियम आणि एक रीस्टार्ट. या मार्गदर्शिकेचा उर्वरित भाग अशा गोष्टींवर लक्ष केंद्रित करतो ज्यामध्ये सहसा त्रुटी येतात. यामध्ये metered प्लॅनवरील बँडविड्थचे गणित आणि एक उत्तम स्थितीत असलेला नवीन relay आठवडाभर 'dead' का दिसतो, याची कारणे समाविष्ट आहेत.
गार्ड, मिडल, ब्रिज किंवा एक्झिट: इन्स्टॉल करण्यापूर्वी निवड करा
एकच डेमन या चारही भूमिका पार पाडतो. तुमचे कॉन्फिगरेशन आणि डिरेक्टरी ऑथॉरिटीज तुम्ही कोणती भूमिका बजावणार हे ठरवतात.
- मिडल रिले (Middle relay): हे गार्डकडून ट्रॅफिक स्वीकारते आणि दुसऱ्या रिलेकडे पाठवते. हे कधीही थेट डेस्टिनेशन साइटशी संपर्क साधत नाही. प्रत्येक नवीन रिले येथूनच सुरुवात करतो.
- गार्ड रिले (Guard relay): हे मिडल रिलेसारखेच कॉन्फिगरेशन असते, फक्त याला एक अतिरिक्त फ्लॅग असतो. जे रिले दीर्घकाळ वेगवान आणि स्थिर असतात, त्यांना डिरेक्टरी ऑथॉरिटीज 'गार्ड' फ्लॅग देतात. तुम्ही याची निवड करू शकत नाही. हे तुम्हाला मिळवावे लागते आणि खाली दिलेले कॉन्फिगरेशन त्यासाठी आवश्यक असते.
- ब्रिज (Bridge): हा एक असा रिले आहे जो मुद्दाम सार्वजनिक डिरेक्टरीपासून दूर ठेवला जातो आणि जिथे Tor ब्लॉक आहे अशा ठिकाणच्या वापरकर्त्यांना खाजगीरित्या दिला जातो. या चार भूमिकांपैकी ही सर्वात कमी जबाबदारीची भूमिका आहे: कमी बँडविड्थ, कोणतीही सार्वजनिक नोंदणी नाही आणि जर तुमचा प्लॅन लहान असेल तर हे पहिले योग्य पाऊल आहे.
- एक्झिट रिले (Exit relay): हा शेवटचा टप्पा आहे, जो डेस्टिनेशन साइटशी कनेक्शन उघडतो. वापरकर्ता करत असलेली प्रत्येक विनंती तुमच्या IP ॲड्रेसवरून बाहेर पडते, त्यामुळे गैरवापराच्या तक्रारी आणि पोलिसांच्या चौकशी थेट त्या ॲड्रेसच्या मालकाकडे येतात.
एक्झिट ही अशी भूमिका आहे जी सामान्य हेतूच्या VPS वर चालवू नये. एक्झिट रिले फक्त अशा प्रोव्हायडरवर चालवा ज्याने या प्रकारच्या ट्रॅफिकसाठी आगाऊ संमती दिली आहे, ज्याचा स्वतःचा IP ॲड्रेस आहे आणि ज्याचा अब्यूज कॉन्टॅक्ट (abuse contact) सार्वजनिक आहे. बहुतेक मानक होस्टिंग अटी याला मनाई करतात आणि त्याकडे दुर्लक्ष केल्यास सर्व्हर सस्पेंड होणे आणि IP ॲड्रेस गमावणे असे परिणाम होतात. गार्ड किंवा मिडल रिलेवर वापरकर्त्यांचे ट्रॅफिक वाहून नेले जाते, परंतु त्यात अशा प्रकारचा धोका नसतो.
खालील सर्व माहिती गार्ड/मिडल रिले तयार करण्यासाठी आहे. ExitRelay 0 ही ती ओळ आहे जी याला गार्ड/मिडल रिले म्हणून कायम ठेवते.
सुरू करण्यापूर्वी VPS साठी आवश्यक गोष्टी
Tor Project ने रिलेसाठी काही कठोर आवश्यकता निश्चित केल्या आहेत. ऑगस्ट 2026 पर्यंत त्या खालीलप्रमाणे आहेत: रिलेसाठी एक सार्वजनिक IPv4 पत्ता, प्रत्येक दिशेने किमान 10 Mbit/s बँडविड्थ (16 Mbit/s ची शिफारस केली जाते), दरमहा किमान 100 GB आउटबाउंड ट्रॅफिक आणि 40 Mbit/s पेक्षा कमी वेगासाठी 512 MB RAM किंवा त्यापेक्षा जास्त वेगासाठी 1 GB RAM. अपटाइमसाठी कोणताही निश्चित नियम नाही, परंतु दिवसातून दोन तासांपेक्षा कमी वेळ चालणारा रिले नेटवर्कसाठी फारसा उपयुक्त नसतो.
10 Mbit/s हा आकडा लाइनच्या क्षमतेबद्दल आहे, सेटिंगबद्दल नाही. यासाठी तुम्हाला सक्षम पोर्टची आवश्यकता आहे. तुम्ही रिलेसाठी लाइनचा किती वापर अनुमती देता, हा एक वेगळा निर्णय आहे जो मासिक ट्रान्सफर मर्यादेनुसार घेतला जातो. कॉन्फिगरेशनला हात लावण्यापूर्वी तुमच्या प्लॅनची माहिती वाचा. जर तुम्ही अजूनही सर्व्हर निवडत असाल, तर दरमहा VPS चा प्रत्यक्ष खर्च किती येतो यामध्ये ट्रान्सफर अलाउन्स कसे विकले जातात हे स्पष्ट केले आहे आणि VPS चा प्रत्यक्ष नेटवर्क थ्रूपुट मोजणे यामध्ये सेल्स पेजवर विश्वास ठेवण्याऐवजी iperf3 वापरून लाइनची प्रत्यक्ष क्षमता कशी तपासावी हे दाखवले आहे.
सर्वात आधी मशीन सुरक्षित (harden) करा. रिले ही सार्वजनिक पत्त्यावरील एक सार्वजनिक सेवा आहे आणि पत्ता प्रकाशित झाल्यानंतर काही मिनिटांतच तो स्कॅन केला जातो. SSH ला कीज आणि सुरक्षित sshd कॉन्फिगरेशनसह लॉक करणे यासाठी दहा मिनिटे लागतात आणि हे काम रिले लाइव्ह होण्यापूर्वीच करणे आवश्यक आहे, नंतर नाही.
Tor Project repository वरून Tor इंस्टॉल करणे
डिस्ट्रिब्युशन पॅकेजऐवजी Tor Project च्या स्वतःच्या apt रिपॉझिटरीचा वापर करा. रिले कोड स्थिर रिलीजपेक्षा वेगाने विकसित होतो, त्यामुळे सुधारणा सर्वप्रथम या रिपॉझिटरीमध्ये उपलब्ध होतात, तर डिस्ट्रिब्युशन पॅकेजमध्ये त्या उशिरा मिळतात.
sudo apt update
sudo apt install -y apt-transport-https gnupg wgetप्रथम साइनिंग की (signing key) जोडा आणि त्यानंतर रिपॉझिटरी जोडा. मशीनवरून कोडनेम आपोआप वाचले जाते, त्यामुळे हाच ब्लॉक 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 --versiontor --version तुम्ही नुकत्याच इंस्टॉल केलेल्या व्हर्जनची माहिती देते. जर apt update ने NO_PUBKEY एरर दाखवली, तर याचा अर्थ dearmored की Signed-By: ओळीत दिलेल्या पाथवर उपलब्ध नाही, त्यामुळे apt कडे रिलीज फाईल तपासण्यासाठी कोणतीही की नाही. deb.torproject.org-keyring पॅकेज नंतरच्या वापरासाठी महत्त्वाचे आहे: हे साइनिंग की ला एक सामान्य पॅकेज म्हणून इंस्टॉल करते, ज्यामुळे की रोटेट झाल्यावरही apt चे काम सुरू राहते.
ऑटोमॅटिक अपग्रेड्स सुरू करा आणि त्यानंतर त्यांना नवीन ओरिजिनबद्दल माहिती द्या.
sudo apt install -y unattended-upgrades apt-listchangesUbuntu वर, Tor ओरिजिनला /etc/apt/apt.conf.d/50unattended-upgrades मधील Allowed-Origins ब्लॉक मध्ये जोडा:
Unattended-Upgrade::Allowed-Origins {
"${distro_id}:${distro_codename}-security";
"TorProject:${distro_codename}";
};Debian वर याच फाईलमध्ये Origins-Pattern वापरले जाते, जिथे "origin=TorProject"; ही ओळ जोडायची असते. निकालाची पडताळणी sudo unattended-upgrade --debug --dry-run ने करा, जे कोणत्या ओरिजिनवर काम करायचे आहे ते प्रिंट करते आणि काहीही लिहित नाही.
महत्त्वाची torrc फाईल
हे पॅकेज एक मोठी आणि सविस्तर टिप्पणी असलेली /etc/tor/torrc फाईल इन्स्टॉल करते. रिलेसाठी केवळ काही ओळी महत्त्वाच्या आहेत. त्या फाईलच्या शेवटी जोडा.
Nickname mynicerelay
ContactInfo relay-ops[at]example.com
ORPort 9001
ExitRelay 0
SocksPort 0Nickname हे 1 ते 19 वर्णांचे असावे, ज्यात फक्त अक्षरे आणि अंक असावेत. हे संपूर्ण नेटवर्कवर युनिक नसते आणि ही तुमची ओळख नसते; तुमची ओळख फिंगरप्रिंटद्वारे होते. सर्च बॉक्समध्ये तुमचा रिले शोधण्यासाठी याचा वापर होतो, त्यामुळे फोनवर सांगता येईल असे सोपे नाव निवडा.
ContactInfo हे रिले डिस्क्रिप्टरमध्ये प्रकाशित केले जाते. हा एक सार्वजनिक दस्तऐवज असल्याने कोणीही तो डाउनलोड करू शकतो, त्यामुळे तुमचा ईमेल ॲड्रेस स्क्रेप केला जाईल. असा ईमेल वापरा जो तुम्ही पुढील दोन वर्षे वाचू शकाल, किंवा हवा असल्यास तो अस्पष्ट (obfuscate) करा. तुमच्या रिलेमध्ये काही समस्या असल्यास Tor Project कडून संपर्क साधण्याचे हे एकमेव माध्यम आहे.
ORPort 9001 हे असे पोर्ट आहे ज्याद्वारे इतर रिले आणि क्लायंट कनेक्ट होतात. 9001 हे यासाठी प्रमाण मानले जाते. 443 हा दुसरा सामान्य पर्याय आहे, कारण काही निर्बंध असलेल्या नेटवर्कमध्ये फक्त आउटबाउंड 443 पोर्टला परवानगी असते, त्यामुळे तिथे ऐकणारा (listening) रिले अधिक क्लायंटसाठी उपलब्ध होतो. जर सर्व्हरवर इतर कशालाही 443 पोर्टची गरज नसेल, तरच हा पर्याय निवडा.
SocksPort 0 हे स्थानिक SOCKS प्रॉक्सी बंद करते, ज्याची रिलेसाठी गरज नसते आणि यामुळे मशीनवरील एक लिसनिंग सॉकेट कमी होते. ExitRelay 0 हे या हेतूची नोंद फाईलमध्ये करते: हा रिले वापरकर्त्याच्या वतीने कोणत्याही डेस्टिनेशनला कधीही कनेक्ट होणार नाही, आणि भविष्यात कॉन्फिगरेशन वाचणाऱ्याला डीफॉल्ट सेटिंग्जवरून याचा अंदाज घेण्याची गरज पडणार नाही.
जर VPS कडे IPv6 ॲड्रेस असेल, तर दुसरी ORPort ओळ जोडा. Tor IPv4 प्रमाणे कोणत्याही IPv6 ॲड्रेसवर बाइंड होऊ शकत नाही, म्हणून ॲड्रेस चौकोनी कंसात (square brackets) लिहा.
ORPort 9001
ORPort [2001:db8::1]:90011 GB च्या VPS वर, MaxMemInQueues 512 MB जोडा. Tor मशीनवरील मेमरी पाहून आपली क्यू लिमिट (queue limit) ठरवते, जी लहान शेअर केलेल्या बॉक्सवर गरजेपेक्षा जास्त असू शकते. स्वतः लिमिट सेट केल्यामुळे, ताण आल्यास Tor क्यूमध्ये असलेल्या सेल्स काढून टाकते, ज्यामुळे रिले सुरक्षित राहतो आणि मेमरी संपल्यामुळे कर्नलद्वारे प्रोसेस बंद होण्याचा धोका टळतो.
फायरवॉलमध्ये ORPort उघडा
इनबाउंड (Inbound) ट्रॅफिकसाठी, ORPort इंटरनेटवरून कोठूनही पोहोचण्यायोग्य असणे आवश्यक आहे. आउटबाउंड (Outbound) ट्रॅफिकसाठी, रिलेवर कोणतेही निर्बंध ठेवू नका: ते हजारो इतर रिलेशी अनेक वेगवेगळ्या पोर्टवर कनेक्शन उघडते, त्यामुळे आउटबाउंड अलाउलिस्ट (allowlist) लावल्यास रिलेचे कार्य मंदावेल.
sudo ufw allow 9001/tcp comment 'tor ORPort'
sudo ufw status verboseत्यानंतर, सर्व्हर प्रोव्हायडरच्या स्वतःच्या नेटवर्क फायरवॉलची तपासणी करा. अनेक कंट्रोल पॅनेल व्हर्च्युअल मशीनच्या समोर पॅकेट फिल्टर चालवतात. अशा वेळी तुम्ही ufw सह जोडलेला नियम तिथे प्रभावी ठरत नाही, ज्यामुळे पोर्ट सर्व्हरवर उघडा दिसतो पण बाहेरून बंद असल्याचे दिसते. जर तुम्ही ufw वापरण्यात नवीन असाल, तर प्रत्येक VPS वर आवश्यक असणारे ufw नियम या मार्गदर्शिकेत डीफॉल्ट पॉलिसी आणि नियम ज्या क्रमाने तपासले जातात, याची सविस्तर माहिती दिली आहे.
तुमच्या प्लॅननुसार बँडविड्थ निश्चित करा
मॅन्युअलमध्ये RelayBandwidthRate चे वर्णन एक स्वतंत्र टोकन बकेट म्हणून केले आहे, जे "या नोडवरील रिले ट्रॅफिकसाठी सरासरी येणारी बँडविड्थ आणि सरासरी जाणारी बँडविड्थ प्रति सेकंद ठराविक बाइट्सपर्यंत मर्यादित करते". हे दोनदा वाचा. ही मर्यादा दोन्ही दिशांसाठी स्वतंत्रपणे लागू होते. 1 Mbit/s वर सेट केलेला रिले एकाच वेळी 1 Mbit/s इन आणि 1 Mbit/s आउट ट्रॅफिक हाताळू शकतो आणि दोन्ही दिशांचे मोजमाप करणारा प्रदाता या दोन्हीची बेरीज करून बिल आकारतो.
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:00RelayBandwidthBurst हे टोकन बकेटचे आकारमान आहे, त्यामुळे सरासरी दर कायम असतानाही ते थोड्या काळासाठी वेगातील वाढ (spikes) सहन करू देते. दराच्या दुप्पट मूल्य असणे योग्य ठरते.
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 ला एक सुरक्षा कवच म्हणून ठेवा जेणेकरून बिलावर नियंत्रण राहील.
रिले सुरू करा आणि तो पोहोचण्यायोग्य असल्याची खात्री करा
sudo systemctl restart tor@default
sudo systemctl status tor@default
sudo journalctl -u tor@default -n 50काही मिनिटांत लॉगमध्ये खालील ओळ दिसली पाहिजे:
Self-testing indicates your ORPort is reachable from the outside. Excellent. Publishing server descriptor.या वाक्याचा अर्थ असा आहे की इतर रिले तुमच्या ORPort शी जोडले गेले आहेत आणि त्यांनी त्याद्वारे एक सर्किट तयार केले आहे. जोपर्यंत ही ओळ दिसत नाही, तोपर्यंत तुमचा रिले डिरेक्टरीमध्ये नाही आणि तो कोणताही डेटा वाहून नेत नाही. त्रुटीचा संदेश खालीलप्रमाणे दिसतो:
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.दिलेल्या क्रमाने तपासणी करा. ufw मध्ये ORPort उघडा आहे का ते तपासा. तो प्रोव्हायडरच्या स्वतंत्र नेटवर्क फायरवॉलमध्येही उघडा आहे का ते तपासा. त्या संदेशातील पत्ता हा इंटरनेटवरून तुमच्याकडे येणारा खरा पत्ता आहे का, की तो NAT सेटअपमधील खाजगी पत्ता आहे, याची खात्री करा. nc -vz 203.0.113.10 9001 वापरून दुसऱ्या मशीनवरून पोर्टची चाचणी घ्या. Tor स्वतःहून पुन्हा चाचणी करते, त्यामुळे फायरवॉलमधील बदल आपोआप लक्षात घेतले जातात, आणि रीस्टार्ट केल्यास ते त्वरित लागू होतात.
तुमच्या रिलेची कायमस्वरूपी ओळख म्हणजे त्याचे फिंगरप्रिंट:
sudo cat /var/lib/tor/fingerprintडिस्क्रिप्टर प्रकाशित झाल्यानंतर साधारण तीन तासांनी, रिले Relay Search वर दिसू लागतो. निकनेम शोधून किंवा फिंगरप्रिंट पेस्ट करून तुम्ही ते पाहू शकता. नेटवर्क तुमच्या रिलेकडे कसे पाहते, हे त्या पेजवरून समजते: त्याला कोणते फ्लॅग्स मिळाले आहेत, ऑथॉरिटीजने त्याला किती वेट दिले आहे आणि तो कोणती आवृत्ती प्रकाशित करत आहे, याची माहिती तिथे असते.
नवीन Tor relay वर जवळजवळ काहीही ट्रॅफिक का नसते?
कारण नेटवर्कने अजून त्याचे मापन (measurement) केलेले नसते आणि या मापनासाठी काही आठवडे लागतात. The Tor Project या वाढीचे चार टप्प्यांत वर्णन करते, परंतु ज्या ऑपरेटरने हे वाचलेले नसते, तो relay खराब झाला आहे असा निष्कर्ष काढतो आणि सेटिंग्ज बदलण्यास सुरुवात करतो.
पहिल्या तीन दिवसांसाठी relay चे मापन झालेले नसते. तो स्वतःच्या चाचणीचा निकाल रिपोर्ट करतो, परंतु directory authorities त्याची प्रकाशित वजन मर्यादा (published weight) 20 KB वरच ठेवतात, त्यामुळे क्लायंट्स त्याला क्वचितच निवडतात. साधारण तिसऱ्या दिवसापासून आठव्या दिवसापर्यंत bandwidth authorities त्याचे प्रत्यक्ष मापन करतात आणि त्याचे वजन वाढू लागते, परंतु तो फक्त middle hop म्हणून वापरला जातो, कारण कोणताही क्लायंट नवीन relay ला आपला पहिला hop (Guard) बनवण्यास तयार नसतो.
साधारण आठव्या दिवसाच्या सुमारास relay ला Guard फ्लॅग मिळण्यास पात्र ठरतो. हा फ्लॅग मिळाल्यावर ट्रॅफिक कमी होते, ज्यामुळे सर्वांना आश्चर्य वाटते: क्लायंट्स middle hop निवडताना guards ना वगळतात, कारण त्यांना वाटते की guard आधीच व्यस्त आहे, त्यामुळे guard ट्रॅफिक मिळण्यापूर्वीच relay चे middle ट्रॅफिक कमी होते. हे ट्रॅफिक तेव्हाच भरून येते जेव्हा क्लायंट्स त्यांचे guard संच बदलतात, ज्याला काही आठवडे लागतात. साधारण 68 दिवसांपर्यंत तो स्थिर स्थिती (steady state) गाठतो, जिथे relay सोडणारे क्लायंट्स आणि नवीन जोडले जाणारे क्लायंट्स यांचे प्रमाण संतुलित होते.
त्यामुळे, तीन दिवस काहीही अपेक्षा न ठेवणे, एका आठवड्यानंतर थोडे ट्रॅफिक मिळणे आणि दोन महिन्यांनंतर पूर्ण लोड मिळणे ही रास्त अपेक्षा आहे. एक सेटिंग बदला आणि त्याचा काय परिणाम झाला हे पाहण्यासाठी एक आठवडा थांबा. पोर्ट 9001 वर TCP चेक करणारा स्वयं-होस्ट केलेला Uptime Kuma स्टेटस पेज वापरणे ही अस्वस्थतेवर अधिक चांगली उपाययोजना आहे: हे तुमच्या नियंत्रणात असलेल्या प्रश्नाचे उत्तर देते, म्हणजेच पोर्ट अजूनही प्रतिसाद देत आहे का.
nyx वापरून रिलेवर लक्ष ठेवा
nyx हे चालू असलेल्या रिलेसाठी टर्मिनल मॉनिटर आहे. हे tor च्या control port शी संवाद साधते, त्यामुळे आधी torrc मध्ये ते सक्षम करा:
ControlPort 9051
CookieAuthentication 1
CookieAuthFileGroupReadable 1ControlPort फक्त 127.0.0.1 वर ऐकते (listens) आणि cookie authentication चा अर्थ असा की, कमांड्स जारी करण्यापूर्वी प्रोग्रामने एक secret फाईल वाचली पाहिजे. Tor ही cookie /run/tor/control.authcookie मध्ये debian-tor वापरकर्त्याच्या नावाने, mode 600 सह लिहिते, जेणेकरून इतर कोणीही ती वाचू शकणार नाही. CookieAuthFileGroupReadable 1 ती फाईल ग्रुपसाठी खुली करते, ज्यामुळे तुमचे स्वतःचे खाते sudo शिवाय nyx चालवू शकते.
sudo apt install -y nyx
sudo adduser "$USER" debian-tor
sudo systemctl restart tor@defaultलॉग आउट करून पुन्हा लॉग इन करा आणि त्यानंतर nyx चालवा. नवीन ग्रुपची परवानगी लॉग इन झाल्यावरच लागू होते, त्यामुळे कॉन्फिगरेशन बरोबर असूनही त्याच शेल सेशनमध्ये nyx चालवल्यास cookie फाईलसाठी permission error येईल. nyx थेट बँडविड्थ, अपटाइम, लॉग स्ट्रीम आणि कनेक्शनची यादी दाखवते. सुरुवातीच्या आठवड्यांमध्ये, बँडविड्थचा आलेख तुमच्या RelayBandwidthRate च्या खाली राहतोय की नाही, या आकड्यावर लक्ष ठेवणे महत्त्वाचे आहे.
एकापेक्षा जास्त रिले चालवणे: MyFamily आणि फॅमिली की
जर तुम्ही फक्त एकच रिले चालवत असाल, तर हा विभाग वगळा. एकाच ऑपरेटरद्वारे चालवल्या जाणाऱ्या दोन किंवा अधिक रिलेनी एकमेकांची घोषणा करणे आवश्यक आहे. यामुळे क्लायंट असे सर्किट तयार करणार नाहीत जे तुमच्याच मशीनमधून सुरू होऊन तुमच्याच मशीनवर संपेल, कारण तसे झाल्यास एकाच ऑपरेटरला सर्किटची दोन्ही टोके पाहता येतील.
यासाठी दीर्घकाळ वापरली जाणारी पद्धत म्हणजे प्रत्येक रिलेच्या torrc मध्ये MyFamily वापरणे, ज्यामध्ये इतर सर्व रिलेचे फिंगरप्रिंट्स सूचीबद्ध केले जातात:
MyFamily AAAAAAAAAA,BBBBBBBBप्रत्येक रिले इतर सर्व रिलेची यादी करते, त्यामुळे चौथा रिले जोडताना चारही फाइल्समध्ये बदल करावे लागतात. Tor 0.4.9 ने ही पद्धत बदलून आता फॅमिली की (family key) वापरण्यास सुरुवात केली आहे. एक की तयार करा आणि ती शेअर करा:
tor --keygen-family myfamilyहे कमांड myfamily.secret_family_key फाइल तयार करते आणि एक FamilyId ओळ प्रिंट करते. की फाइल प्रत्येक रिलेवर कॉपी करा, ती DataDirectory च्या keys सबडिरेक्टरीमध्ये ठेवा (Debian आणि Ubuntu वर /var/lib/tor/keys), आणि फाइलला .secret_family_key हे प्रत्यय (suffix) कायम ठेवा. प्रिंट झालेली FamilyId ओळ प्रत्येक torrc मध्ये जोडा आणि sudo systemctl reload tor@default वापरून रिले रीलोड करा. सध्या तरी MyFamily यादी तशीच राहू द्या. ज्या क्लायंटना अद्याप फॅमिली सर्टिफिकेट्स समजत नाहीत, ते जुनी यादी वाचतात. ही यादी कधी काढून टाकता येईल, याची घोषणा Tor Project द्वारे केली जाईल.
चालू झाल्यानंतर काय बिघडू शकते
आवृत्ती जुनी होणे. Unattended upgrades पॅकेज बदलतात, परंतु जोपर्यंत एखादी प्रक्रिया रीस्टार्ट होत नाही, तोपर्यंत ती जुनी बायनरीच वापरत राहते. सर्व्हरवरील tor --version ची तुलना Relay Search पेजवर दिसणाऱ्या आवृत्तीशी करा. जर त्या भिन्न असतील, तर नेटवर्कला अजूनही जुनी आवृत्तीच दिसत आहे, म्हणून सर्व्हिस रीस्टार्ट करा.
घड्याळाच्या वेळेत फरक पडणे (Clock drift). Consensus दस्तऐवज आणि प्रमाणपत्रे ही वेळेवर आधारित असतात. त्यामुळे ज्या मशीनचे घड्याळ खूप मागे किंवा पुढे आहे, ते consensus नाकारते आणि माहिती प्रसारित करणे थांबवते. timedatectl ने सिस्टिम क्लॉक सिंक्रोनाइझ असल्याचे दर्शवले पाहिजे. जर तसे नसेल, तर systemd-timesyncd सुरू करा किंवा chrony इन्स्टॉल करा.
IP पत्ता बदलणे. Descriptor मध्ये पत्ता समाविष्ट असतो आणि पत्ता बदलल्यास क्लायंट्सना तो सापडत नाही. कोणत्याही प्रोव्हायडर मायग्रेशननंतर किंवा पत्ता बदलल्यानंतर, tor रीस्टार्ट करा आणि self-test ओळ पुन्हा दिसते का ते तपासा.
रिले नियोजित वेगापेक्षा संथ असणे. Tor चे रिले क्रिप्टो आधुनिक प्रोसेसरवर कार्यक्षम असते. Tor Project च्या मते, AES-NI सपोर्ट असलेला CPU प्रत्येक दिशेने साधारणपणे 400 ते 450 Mbit/s वेग देऊ शकतो. या मर्यादेपर्यंत पोहोचण्याआधीच तुम्ही पोर्ट स्पीड आणि ट्रान्सफर मर्यादेमुळे मर्यादित होता, म्हणूनच हार्डवेअरपेक्षा वरील अकाउंटिंग विभाग अधिक महत्त्वाचा ठरतो.
FAQ
Tor relay किती बँडविड्थ वापरतो?
तुम्ही जितकी परवानगी द्याल तितकीच, त्यापेक्षा जास्त नाही. RelayBandwidthRate प्रत्येक दिशेने होणाऱ्या ट्रॅफिकवर स्वतंत्रपणे मर्यादा घालते, त्यामुळे 1 Mbit/s वर सेट केलेला relay एकाच वेळी 1 Mbit/s इन आणि 1 Mbit/s आउट ट्रॅफिक हाताळू शकतो. दोन्ही दिशांचे ट्रॅफिक मोजता, हे दिवसाला सुमारे 21.6 GB किंवा 30 दिवसांच्या महिन्यात 648 GB इतके होते. या दराच्या खाली मासिक मर्यादा म्हणून AccountingMax सोबत AccountingRule sum जोडा.
Tor relay चालवल्यामुळे मला तक्रारी (abuse complaints) येतील का?
Guard किंवा middle relay ट्रॅफिक फक्त इतर Tor relays कडे पाठवतो आणि वापरकर्त्यासाठी कधीही थेट वेबसाइटशी जोडला जात नाही, त्यामुळे Tor द्वारे कोणी काय केले याच्या तक्रारी exit ऑपरेटरकडे जातात, तुमच्याकडे नाही. तुम्हाला फक्त काही स्कॅनिंग किंवा अधूनमधून IP reputation लिस्टिंग दिसू शकते, कारण तुमचा पत्ता सार्वजनिकरीत्या relay म्हणून सूचीबद्ध असतो. Exit relays ना abuse mail आणि कायदेशीर नोटिसा मिळतात, त्यामुळे त्यांना अशा गोष्टी हाताळण्यासाठी आधीच सहमती दिलेल्या प्रोव्हायडरची गरज असते. कोणताही प्रकार सुरू करण्यापूर्वी तुमच्या प्रोव्हायडरच्या अटी वाचा.
माझा नवीन Tor relay ट्रॅफिक का मिळवत नाहीये?
कारण नवीन relays चे ट्रॅफिक डिझाइननुसार मोजमाप होईपर्यंत मर्यादित (throttle) ठेवले जाते. पहिल्या तीन दिवसांसाठी directory authorities प्रकाशित वजन 20 KB पर्यंत मर्यादित ठेवतात, त्यामुळे क्लायंट सहसा relay निवडत नाहीत. तिसऱ्या दिवसापासून bandwidth authorities त्याचे मोजमाप करतात, आठव्या दिवसाच्या सुमारास तो Guard flag साठी पात्र ठरतो आणि त्या वेळी ट्रॅफिक पुन्हा कमी होते कारण क्लायंट middle hops निवडताना guards टाळतात. पूर्ण लोड 68 दिवसांच्या सुमारास येतो. लॉगमध्ये "Self-testing indicates your ORPort is reachable from the outside" असे दिसत असल्याची खात्री करा आणि त्यानंतर relay ला तसे सोडून द्या.
मी 1 TB ट्रान्सफर अलाउन्स असलेल्या VPS वर Tor relay चालवू शकतो का?
हो, दोन्ही दिशांना सुमारे 1 Mbit/s वेगाने, जे RelayBandwidthRate 125 KBytes आहे. जर तुमचा प्रोव्हायडर दोन्ही दिशांचे ट्रॅफिक मोजत असेल, तर हे महिन्याला सुमारे 648 GB होते, ज्यामध्ये अपडेट्स आणि बॅकअपसाठी पुरेशी जागा शिल्लक राहते. AccountingMax 400 GBytes सोबत AccountingRule sum आणि AccountingStart month 1 00:00 जोडा, जेणेकरून प्लॅनची मर्यादा ओलांडण्याऐवजी relay हायबरनेट मोडमध्ये जाईल. जर प्रोव्हायडर फक्त आउटबाउंड ट्रॅफिकसाठी बिल आकारत असेल, तर तुम्ही हा दर दुप्पट करू शकता.
मी फक्त एकच relay चालवत असल्यास मला MyFamily सेट करण्याची गरज आहे का?
नाही. Family declarations यासाठी असतात जेणेकरून क्लायंट एकाच ऑपरेटरच्या मालकीच्या दोन relays मधून सर्किट तयार करणे टाळतील, जे एका relay च्या बाबतीत निरर्थक आहे. तुम्ही दुसरा relay जोडताच हे सेट करा: प्रत्येक relay च्या MyFamily ओळीत सर्व relays चे फिंगरप्रिंट्स लिहा, किंवा Tor 0.4.9 मध्ये आलेली family key वापरा, जी सतत वाढणाऱ्या यादीऐवजी एकच FamilyId वितरित करते.