‏۱. مطمئن شوید که درگاه‌های رله دسترس‌پذیر هستند

اگر درحال استفاده از دیوار آتش هستید، یک سوراخ در دیوار آتش باز کنید تا اتصالات ورودی بتوانند به درگاه‌هایی دسترسی یابند که کاربر برای رلهٔ شما (ORPort) استفاده می‌کند.

همچنین، مطمئن شوید که به همهٔ اتصال‌های خروجی نیز اجازه می‌هید، به این شکل رلهٔ Tor شما می‌تواند به دیگر رله‌های Tor، سرویس‌گیرنده‌ها و مقصد‌ها دسترسی داشته باشد.

You can find the specific ORPort TCP port number in the Setup page (in the OS specific sections).

۲. تأیید کنید که رلهٔ شما کار می‌کند

اگر فایل رویدادنگار شما (syslog) حاوی ورودی زیر پس از شروع daemon‏ Tor شما است، رلهٔ شما باید همان‌طور که انتظار می‌رود درحال کار و اجرا باشد:

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

حدود ۳ ساعت پس از شروع رلهٔ شما، باید جستجوی رله در درگاه Metrics (معیارها) ظاهر شود. می‌توانید رلهٔ خود را از طریق نام مستعار یا نشانی IP جستجو کنید.

۳. دربارهٔ چرخهٔ عمر رلهٔ Tor بخوانید

مدتی طول می‌کشد تا ترافیک رله افزایش یابد، این امر به‌ویژه در مورد رله‌های محافظ بیشتر صدق می‌کند، اما به میزان کمتری برای رله‌های خروج نیز صادق است. برای درک این فرایند، در مورد چرخهٔ عمر یک رلهٔ جدید مطالعه کنید.

۴. مدیریت پیکربندی

اگر قصد دارید بیش از یک رله اجرا کنید، یا که می‌خواهید یک رله با ظرفیت بالا (چند نمونهٔ Tor به ازاء هر سرور) اجرا کنید، یا می‌خواهید از ویژگی‌های امنیتی قوی مانند Offline Master Keys بدون انجام گام‌های اضافی به‌صورت دستی استفاده کنید، ممکن است بخواهید برای نگهداری بهتر از مدیریت پیکربندی استفاده کنید.

چندین راه‌حل مدیریت پیکربندی برای سیستم‌عامل‌های مبتنی بر Unix (Ansible، Puppet، Salt، ...) وجود دارد.

Ansible Role زیر به‌طور خاص برای گردانندگان رلهٔ Tor ساخته شده است و از چندین سیستم‌عامل پشتیبانی می‌کند: Ansible Relayor.

۵. مهم: اگر بیشتر از یک نمونه Tor اجرا می‌کنید

To avoid putting Tor clients at risk, when operating multiple relays you must set a proper FamilyID value and have a valid ContactInfo in your torrc configuration. The FamilyID setting is simply telling Tor clients what Tor relays are controlled by a single entity/operator/organization, so they are not used in multiple positions in a single circuit.

Instead of setting up FamilyID manually, for big operators we recommend to automate it setting via a configuration management solution. Manually managing FamilyID for big relay groups is error-prone and can put Tor clients at risk. Please note that MyFamily, the previous family configuration method, has been removed.

6. Add firewall rules to protect against DDoS attacks

Configuring your firewall to stop too many concurrent connections has been shown to significantly help deal with DDoS attacks against relays.

Consider implementing one of the following mechanisms:

Note: These are community provided resources. You should check them carefully before applying them to your system. Additionally, be aware that these rules have been shown to work for particular attacks that have happened in the past. Attacks are constantly evolving and will often need new rules, so please stay connected to update these as necessary, either by subscribing to the relevant project or by subscribing to the tor-relays mailing list.

7. Optional: Limiting bandwidth usage (and traffic)

Tor استفاده از پهنای‌باند را به‌صورت پیش‌فرض محدود نخواهد کرد، ولی از چندین روش برای محدود‌کردن پهنای‌باند مورد استفاده و میزان ترافیک پشتیبانی می‌کند. اگر می‌خواهید مطمئن شوید که رلهٔ Tor شما از یک میزان پهنای‌باند یا ترافیک کل مشخص در هر روز/هفته/ماه عبور نمی‌کند، این به کار می‌آید. گزینه‌های پیکربندی torrc آمده در ادامه می‌تواند برای محدود‌کردن پهنای‌باند و ترافیک مورد استفاده قرار بگیرد:

  • AccountingMax
  • AccountingRule
  • AccountingStart
  • BandwidthRate
  • BandwidthBurst
  • RelayBandwidthRate

داشتن یک رلهٔ پر سرعت برای بعضی مواقع در ماه نسبت به یک رلهٔ کند در کل ماه ارجخیت دارد.

همچنین مدخل مرتبط با پهنای‌باند را در پرسش‌های متداول مشاهده کنید.

8. Check IPv6 availability

ما همه را تشویق می‌کنیم IPv6 را روی رله‌های خود به‌کار اندازند. این برای رله‌های محافظ و خروج به‌شدت ارزشمند است. Note that Tor requires IPv4 connectivity, you can not run a Tor relay on IPv6-only.

Before relying on IPv6, it's recommended to do some basic IPv6 connectivity tests. خط فرمان آمده در زیر نشانی‌های IPv6 مراجع شاخهٔ Tor از سرور شما را پینگ خواهد کرد:

ping6 -c2 2a02:16a8:662:2203::1 && ping6 -c2 2620:13:4000:6000::1000:118 && ping6 -c2 2001:67c:289c::9 && ping6 -c2 2001:678:558:1000::244 && ping6 -c2 2001:638:a000:4140::ffff:189 && echo OK.

At the end of the output you should see "OK." If that is not the case, do not enable IPv6 in your torrc configuration file before IPv6 is indeed working. اگر IPv6 را بدون اتصال‌دهندگی آماده‌به‌کار IPv6، به‌کار اندازید، کل رلهٔ شما بدون در نظر گرفتن اینکه آیا IPv4 کار می‌کند یا خیر، بلااستفاده خواهد ماند.

If IPv6 works, your relay is likely already reachable via IPv6. Since Tor 0.4.5, IPv6 address discovery is enabled by default. An ORPort line without an explicit address binds to both IPv4 and IPv6 (0.0.0.0:9001 and [::]:9001), and Tor attempts to auto-discover your IPv6 address the same way it discovers your IPv4. If it can't find a working IPv6 address, it simply publishes IPv4 only.

You can confirm which addresses Tor bound to and discovered by checking your notice log (look for the Opened OR listener lines and the reachability-check results).

If you prefer to specify your IPv6 address explicitly - recommended if auto-discovery picks the wrong address - add a second ORPort line:

ORPort [IPv6-address]:9001

Note: Unlike an auto-discovered address (which Tor silently drops if unreachable), an explicitly configured IPv6 ORPort that fails its reachability check will stop your relay from publishing its descriptor at all, so only configure an address you know works. You have to explicitly specify your IPv6 address in square brackets.

محل آن سطر در فایل پیکربندی اهمیتی ندارد. به سادگی می‌توانید آن را در کنار اولین سطرهای ORPort در فایل torrc خود اضافه کنید.

اگر یک نشانی IPv6 سراسری دارید، باید قادر باشید تا آن را در خروجی فرمان زیر پیدا کنید:

ip -6 addr | grep global | sed 's/inet6//;s#/.*##'

To turn IPv6 off entirely and disable auto-discovery, set AddressDisableIPv6 1 in your torrc.

اگر یک رلهٔ خروج با اتصال‌دهندگی IPv6 هستید، از طریق daemon‏ Tor خروج، IPv6 را مجاز کنید تا سرویس‌گیرنده‌ها بتوانند به مقصدهای IPv6 دسترسی یابند:

IPv6Exit 1

9. Maintaining a relay

پشتیبان‌گیری از کلیدهای هویت Tor

بعد از نصب اولیه و شروع daemon‏ Tor، ایدهٔ خوبی است تا از کلیدهای هویت بلندمدت خودتان رلهٔ Tor پشتیبان بگیرید. در زیرپوشهٔ «کلیدها» (keys) در DataDirectory شما (یک کپی از کل پوشه بگیرید و در یک جای امن ذخیره کنید) قرار گرفته است. از آن‌جایی که رله‌ها سیر زمانی پلکانی دارند، منطقی است که از کلید هویت یک نسخهٔ پشتیبان تهیه کرده تا بتوانید اعتبار رلهٔ خود را پس از خرابی دیسک بازیابی کنید - در غیر این صورت باید دوباره دورهٔ سیر پلکانی را طی کنید. فقط در صورتی این کار را انجام دهید که مکان بسیار امنی برای کلیدهای خود داشته باشید، که اگر دزدیده شوند، این کلیدها از نظر تئوری می‌توانند رمزگشایی یا جعل هویت ترافیک (عبوری) را مجاز کنند.

موقعیت پیش‌فرض پوشهٔ کلیدها:

  • Debian/Ubuntu: /var/lib/tor/keys
  • FreeBSD: /var/db/tor/keys
  • OpenBSD: /var/tor/keys
  • Fedora: /var/lib/tor/keys

اشتراک در فهرست پست‌سپاری اعلان-tor

این یک فهرست پست‌سپاری با ترافیک بسیار پایین است و شما اطلاعاتی دربارهٔ انتشارهای جدید پایدار Tor و اطلاعات به‌روزرسانی امنیتی مهمی را دریافت می‌کنید: اعلان-Tor.

تنظیم اعلان‌های قطعی

Once you have set up your relay, it will likely run without much work from your side. If something goes wrong, it is good to get notified automatically. We recommend using Tor Weather, a notification service developed by the Tor Project. It helps relay operators get notified when their relays or bridges are offline, as well as for other incidents.

Another option is to use one of the free services that allow you to check your relay's ORPorts for reachability and send you an email should they become unreachable. ربات زمان به‌کار یکی از این خدمات است که به شما اجازه می‌دهد تا بر شنوندگان پروتکل هدایت انتقال (TCP) درگاه‌های قراردادی را پایش کنید. این تنها برای شنونده بررسی می‌شود اما با پروتکل Tor صحبت نمی‌کند.

یک روش خوب برای پایش یک رله برای وضعیت سلامتی آن، نگاه انداختن به نمودار‌های پهنای‌باند آن است.

پایش سلامت سیستم

برای اطمینان از سلامت رلهٔ خود و در هم نشکستن، داشتن یک سامانهٔ پایش مقدماتی برای بررسی این معیار‌ها ایده خوبی است:

  • پهنای‌باند
  • اتصال‌های TCP برقرار شده
  • حافظه
  • Swap
  • CPU

ابزارهای زیادی برای پایش این‌گونه داده‌ها وجود دارند. یکی از آن‌ها munin است که نصب آن نسبتاً ساده است.

توجه: نمودار‌های دادهٔ (مختص) پایش خصوصی خود را عمومی نکنید چراکه این می‌تواند منجر به از بین‌بردن ناشناس‌سازی کاربران Tor شود.

چند توصیهٔ عملی:

  • If you want to publish traffic statistics, you should aggregate your relays' traffic over at least a day or use bigger aggregation windows for bandwidth if feasable and combine graphs/statistics for multiple relays where possible.
  • گزارش‌دادن رله‌های منفرد بدتر از گزارش‌دادن جمعی برای گروه‌هایی از رله‌ها است. در آینده، Tor به‌صورت امن تمام آمارهای پهنای‌باند را جمع‌آوری خواهد کرد تا گزارش‌دادن پهنای‌باند هر رلهٔ منفرد امنیت کمتری از آمارهای Tor خواهد داشت.
  • دوره‌های کوچک‌تر بدتر هستند.
  • اعداد بدتر از نمودار هستند.
  • دادهٔ بی‌درنگ بدتر از دادهٔ تاریخی است.
  • دادهٔ در دسته‌بندی‌ها (نسخهٔ IP، ورود/خروج، غیره.) بدتر از کل داده است.

ابزار

این بخش چندین ابزار را که ممکن است برای شما به‌عنوان گردانندهٔ رلهٔ Tor به کار بیاید را فهرست کرده‌ایم.

  • Nyx یک ابزار پروژهٔ Tor (سابقاً arm) است که به شما اجازه می‌دهد دادهٔ رلهٔ خود را بی‌درنگ مشاهده کنید.

  • vnstat: vnstat یک ابزار خط فرمان است که میزان دادهٔ عبوری از اتصال شبکهٔ شما را نشان می‌دهد. می‌توانید از آن برای ایجاد‌کردن تصاویر PNG برای نمایش نمودار‌های ترافیک استفاده کنید. مستندات vnstat و خروجی نسخهٔ نمایشی.