ما فرض میکنیم که از پیش، راهنمای رله و ملاحظات فنی را کامل مطالعه کردهاید. این زیرصفحه برای اپراتورهایی است که میخواهند خروج را روی رلهٔ خود را روشن کنند.
توصیه میشود که رلههای خروج را روی سرورهایی مختص این هدف تنظیم کنید.
توصیه نمیشود رلههای خروج Tor را روی سرورهایی که برای خدمات دیگر نیز به آن نیاز دارید نصب کنید.
ترافیک خود را با ترافیک رلهٔ خروج در هم نیامیزید.
ساناد معکوس (Reverse DNS) و سابقهٔ WHOIS
قبل از تبدیل رلهٔ غیر-خروج خود به رلهٔ خروج، مطمئن شوید که یک سابقهٔ DNS معکوس (PTR) تنظیم کردهاید تا واضحتر شود که این یک رلهٔ خروج Tor است. چیزی مانند «tor-exit» در نام آن شروع خوبی است.
اگر ارائهدهنده شما اجازه میدهد، مطمئن شوید که سابقهٔ WHOIS شما حاوی نشانههای واضحی است که نشان دهد این یک رلهٔ خروج Tor است.
حتماً از نام دامنهای که متعلق به شما است، استفاده کنید. بههیچوجه از torproject.org
بهعنوان نام دامنه برای DNS معکوس خود استفاده نکنید.
صفحهٔ HTML اعلان خروج
برای آشکارترشدن اینکه این یک رلهٔ خروج Tor است، باید یک صفحهٔ HTML اعلان خروجی Tor را آماده کنید.
Tor میتواند این کار را برای شما انجام دهد: اگر DirPort شما روی درگاه ۸۰ TCP است، میتوانید از ویژگی DirPortFrontPage Tor
برای نمایش یک فایل HTML روی آن درگاه استفاده کنید.
این فایل به تمام کسانی که مرورگر خود را به نشانی IP رلهٔ خروج Tor شما هدایت میکنند، نشان داده میشود.
اگر قبلاً این را تنظیم نکردهاید، سطرهای پیکربندی زیر باید روی torrc
شما اعمال شود:
DirPort 80
DirPortFrontPage /path/to/html/file
ما یک نمونه فایل HTML اطلاعیهٔ خروج Tor را پیشنهاد میکنیم. ممکن است بخواهید آن را با توجه به نیازهای خود تنظیم کنید.
ما همچنین یک پست وبلاگ عالی با نکات بیشتری برای اجرای رلهٔ خروج داریم.
توجه: DirPort از زمان Tor 0.4.6.5 منسوخ شده است و خودآزماییها دیگر در رویدادنگارهای tor
نشان داده نمیشوند.
برای اطلاعات بیشتر، تازهها و درخواست ۴۰۲۸۲# را بخوانید.
سیاست خروج
تعریف سیاست خروج یکی از مهم ترین بخشهای پیکربندی رلهٔ خروج است.
سیاست خروج مشخص میکند حاضر به ارسال چه درگاههای مقصدی هستید.
این روی تعداد ایمیلهای سوءاستفاده دریافتی تأثیر خواهد داشت (درگاه کمتر به معنای ایمیل سوءاستفاده کمتر است، ولی یک رلهٔ خروج که تنها تعداد کمی درگاه را مجاز میداند فایدهٔ کمتری دارد).
اگر میخواهید یک رلهٔ خروج مفید باشید، باید دستکم درگاههای ۸۰ و ۴۴۳ را مجاز کنید.
بهعنوان یک رلهٔ خروج جدید - مخصوصاً اگر برای میزباندهندهتان جدید هستید- بهتر است تا با یک سیاست خروج تقلیل یافته (برای کاهش ایمیلهای سوءاستفاده) استفاده کنید و با کسب تجربه در گذر زمان، آن را بیشتر باز کنید.
سیاست خروج تقلیل یافته را میتوان در صفحهٔ ویکی سیاست خروج کاهشیافته یافت.
برای تبدیلشدن به رلهٔ خروج، ExitRelay را در فایل پیکربندی torrc
خود از ۰ به ۱ تغییر دهید و daemon tor
را دوباره راهاندازی کنید.
ExitRelay 1
ساناد (DNS) روی رلههای خروج
برخلاف سایر انواع رلهها، رلههای خروج همچنین تطبیق ساناد را برای سرویسگیرندههای Tor انجام میدهند.
تطبیق ساناد روی رلههای خروج برای سرویسگیرندههای Tor حیاتی بوده و باید با استفاده از نهانسازی، قابل اطمینان و سریع باشد.
- تطبیق ساناد میتواند تأثیر به سزایی روی عملکرد و قابلیت اطمینان فراهمشده از سوی رلهٔ خروج شما بگذارد.
- برای اجتناب از تمرکزگرایی، از هیچ یک از تطبیقگرهای بزرگ ساناد (Google، OpenDNS، Quad9، Cloudflare، 4.2.2.1-6) بهمنظور تطبیقگر نخست یا عقبگرد (پشتیبان) ساناد استفاده نکنید.
- توصیهٔ میکنیم تا از یک نهانسازی (caching) محلی و تطبیقگر اعتبارسنجی DNSSEC بدون فرستنده استفاده کنید (دستورالعملهای خاص برای سیستمعاملهای مختلف در پایین آمدهاند).
- اگر میخواهید تطبیقگر DNS دومی را بهعنوان عقبگرد (پشتیبان) به پیکربندی
/etc/resolv.conf
خود اضافه کنید، یک تطبیقگر را در سامانهٔ خودگردان خود انتخاب کنید و مطمئن شوید که اولین ورودی شما در آن فایل نیست (اولین ورودی باید تطبیقگر محلی شما باشد).
- اگر یک تطبیقگر محلی مانند unbound (نامقید) برای شما یک گزینه قابل انجام نیست، تطبیقگری که ارائهدهندهٔ شما روی همان سامانهٔ خودگردان اجرا میکند را استفاده کنید (برای یافتن یک نشانی IP در همان سامانهٔ خودگردان بهعنوان رلهٔ خود، میتوانید از طریق bgp.he.net به آن نگاهی بیندازید).
- از افزودن بیش از دو تطبیقگر به فایل
/etc/resolv.conf
خود برای محدودکردن نمایش پرسمانهای ساناد در سطح سامانهٔ خودگردان خودداری کنید.
- مطمئن شوید که تطبیقگر محلی شما هیچ نشانی IP منبع خروجی که توسط (رلههای) خروج یا غیر-خروج Tor استفاده میشود را به کار نمیبرد، زیرا غیرمعمول نیست که IPهای Tor (بهطور موقت) مسدود باشند و نشانی IP منبع ساناد تطبیقگر مسدود شده میتواند تأثیر گستردهای داشته باشد.
برای unbound (نامقید)، میتوانید از گزینهٔ
outgoing-interface
برای تعیین نشانیهای IP منبع بهمنظور تماس با سایر سرورهای ساناد استفاده کنید.
- اپراتورهای خروج بزرگ (>=۱۰۰ مگابیت بر ثانیه) باید برای پایش و بهینهسازی نرخ وقفهٔ تطبیقگر ساناد Tor تلاش کنند.
این را میتوان از طریق صادرکننده Prometheus Tor (
MetricsPort
) به دست آورد.
معیار زیر را میتوان آنطور که توسط Tor مشاهده میشود، برای پایش نرخ وقفه استفاده کرد:
tor_relay_exit_dns_error_total{reason="timeout"} 0
چندین گزینه برای نرمافزار سرور ساناد وجود دارد. Unbound به یک
برنامه محبوب تبدیل شده است ولی مختارید از هر برنامه دیگری که با آن احساس راحتی میکنید، استفاده کنید.
در هنگام انتخاب نرمافزار تطبیقگر ساناد خود، مطمئن شوید که از کمینهسازی QNAME و اعتبارسنجی DNSSEC (RFC7816) پشتیبانی میکند.
نرم افزار تطبیقگر را روی مدیر بستهٔ سیستمعامل خود نصب کنید تا مطمئن شوید که بهصورت خودکار بهروزرسانی میشود.
با استفاده از تطبیقگر ساناد خود، در برابر سانسور مبتنی بر ساناد، که ممکن است تطبیقگر بالادست شما تحمیل کند، آسیبپذیری کمتری خواهید داشت.
در زیر دستورالعملهایی در مورد نحوهٔ نصب و پیکربندی Unbound - یک DNSSEC-اعتبارسنجی و تطبیقگر حافظهٔ نهان- روی رلهٔ خروج شما آمده است. Unbound دارای تعداد زیادی پیچ پیکربندی و میزانکننده است، اما ما این دستورالعملها را ساده و کوتاه نگاه میداریم؛ راهاندازی اولیه برای بیشتر اپراتورها بهخوبی انجام میشود.
پس از تعویض حالت به Unbound، بوسیلهی تطبیق یک نام میزبان معتبر کارایی آن را مطابق انتظار تأیید کنید. اگر کار نکرد، میتوانید فایل /etc/resolv.conf
قدیمی خود را بازیابی کنید.
Debian/Ubuntu
دستورهای آمده در ادامه، unbound
را نصب کرده، از پیکربندی DNS نسخهٔ پشتیبان تهیه میکنند و به سامانه میگویند که از تطبیقگر محلی استفاده کند:
# apt install unbound
# cp /etc/resolv.conf /etc/resolv.conf.backup
# echo nameserver 127.0.0.1 > /etc/resolv.conf
برای جلوگیری از تغییرات پیکربندی ناخواسته (برای مثال از سوی سرویسگیرنده DHCP):
# chattr +i /etc/resolv.conf
پیکربندی Debian بههمراه کمینهسازی QNAME (RFC7816) که بهصورت پیشفرض بهکار افتاده است، میآید، بنابراین بهکار اندازی آن بهصورت صریح نیاز نیست.
تطبیقگر Unbound را که هماکنون نصب کردید، اعتبارسنجی DNSSEC را نیز انجام میدهد.
اگر systemd-resolved را با شنوندهٔ خُرد آن اجرا میکنید، ممکن است نیاز به انجام کارهای بیشتری باشد. لطفاً به صفحهراهنمای resolved.conf مراجعه کنید.
CentOS/ RHEL
بسته unbound
را نصب کنید:
# yum install unbound
اگر از نسخهٔ اخیر CentOS/RHEL استفاده میکنید، لطفاً بهجای yum
از dnf
استفاده کنید.
در /etc/unbound/unbound.conf
این سطر را جایگزین کنید:
qname-minimisation: no
با
qname-minimisation: yes
Unbound
را بهکار انداخته و شروع کنید:
# systemctl enable --now unbound
به سامانه بگویید از تطبیقگر محلی استفاده کند:
# cp /etc/resolv.conf /etc/resolv.conf.backup
# echo nameserver 127.0.0.1 > /etc/resolv.conf
برای جلوگیری از اِعمال ناخواستهٔ تغییرات پیکربندی (برای مثال از سوی سرویسگیرنده DHCP):
# chattr +i /etc/resolv.conf
اگر systemd-resolved را با شنوندهٔ خُرد آن اجرا میکنید، ممکن است نیاز به انجام کارهای بیشتری باشد. لطفاً به صفحهراهنمای resolved.conf مراجعه کنید.
FreeBSD
FreeBSD بههمراه unbound در سیستم پایهٔ خود عرضه میشود اما (نسخهٔ) روی درگاهها معمولاً شانهبهشانه دنبالهرو (شاخهٔ) بالادست است (نسخهٔ بهروزتر)، بنابراین ما بستهٔ unbound را نصب میکنیم:
# pkg install unbound
محتوای /usr/local/etc/unbound/unbound.conf
را با سطرهای زیر جایگزین کنید:
server:
verbosity: 1
qname-minimisation: yes
خدمات Unbound
را بهکار انداخته و شروع کنید:
# sysrc unbound_enable=YES
# service unbound start
به سامانه بگویید از تطبیقگر محلی استفاده کند:
# cp /etc/resolv.conf /etc/resolv.conf.backup
# echo nameserver 127.0.0.1 > /etc/resolv.conf
برای جلوگیری از اِعمال ناخواستهٔ تغییرات پیکربندی (برای مثال از سوی سرویسگیرنده DHCP):
# chflags schg /etc/resolv.conf