המדריך המלא להקמת Tor Relay

Tor הינה רשת גלובלית שמטרתה לספק אנונימיות למשתמשים בה. הרשת הינה חינמית וחופשית לשימוש, מבוססת על קוד פתוח ומתנדבים אשר מתחזקים את הקוד, ותורמים את התעבורה (מפעילים את ה-Tor Relays).

למידע נוסף:

הקדמה

ישנם בין 2 ל-6 מליון משתמשים יומיים ב-Tor, שצורכים כ-300 גיגה ביט בשניה (הסטטיסטיקות לקוחות מתוך Tor Project - Metrics, מתחילת 2024 עד היום). את התעבורה הזו מספקים קצת פחות מ-10 אלף Tor Relays שמתנדבים ברחבי העולם מפעילים (סך הכל תעבורה תיאורתית, כ-900 גיגה ביט). המדריך הבא מסביר איך להיות מפעיל Tor Relay, ובכך לתרום לרשת הגדולה והמשמעותית ביותר, שמספקת אנונימיות עבור משתמשים ברחבי העולם.

תמונות מתוך Tor Project - Metrics


כמות משתמשים


תעבורה


כמות Relays

עוד סטטיסטיקות

אם נסתכל על מפת המתנדבים, נראה כי 10 המתנדבים הגדולים ביותר ברשת, מספקים כ-250 גיגה ביט מתוך ה-900 שיש בסך הכל, קרוב לשליש. מדובר במספר ארגונים שונים שמבוססים במדינות שונות (אך בעיקר באירופה המערבית), כגון Nothing to Hide, PRSV, Artikel 10, Applied Privacy ועוד. בעוד שהתרומה של המתנדבים הללו חשובה, הגיוון של הרשת חשוב עוד יותר. לכן הכרחי שתמיד יהיו תורמים נוספים של שרתים לרשת בכדי להבטיח כי הרשת תוותר הטרוגנית ככל האפשר.

נושא חשוב נוסף שקשור לרבגוניות הרשת, קשור למיקום הגיאוגרפי של השרתים, וספק התקשורת (ISP), אם נסתכל שוב בסטטיסטיקות, נראה כי רוב השרתים נמצאים בגרמניה, ארה"ב, הולנד וצרפת. וספקיות התקשורת המובילות הן Hetzner, Zwiebelfreunde, OVH, 1337 Services ועוד.

תמונות מתוך Tor Project - Metrics


קבוצות על-פי פרטי קשר


קבוצות על-פי מדינות


קבוצות על-פי ספקיות תקשורת (ISP)

בחירת שרת

מעולה! אז החלטתם לתרום לרשת על-ידי הקמת והחזקת Relay, מה עכשיו? ראשית חשוב לדעת שלא כל ספקית תקשורת מרשה להפעיל Tor Relay ברשת שלהן, וגם אם כן, במקרים מסויימים אסור שיהיה מדובר ב-Relay מסוג Exit Node אלא רק Middle. אז השאלות הבסיסיות ביותר שאתם צריכים לשאול:

  • האם הספקית שבה אני עושה שימוש מרשה לי להריץ Relay, אם כן, האם היא מרשה גם Exit? חשוב לקרוא את ה-Terms of service של הספקית בכדי להימנע מאי נעימות.
  • האם יש לשרת routable IPv4? משמע, האם אני יכול להאזין על פורט כלשהו, ולקבל תקשורת נכנסת. כתובת IPv6 היא בונוס, כתובת IPv4 היא הכרחית.
  • כמה תעבורה הספקית מתירה לי להשתמש בחודש.
  • מה העלות החודשית.

מציאת ספקית

אני ממליץ להעזר ב-Good Bad ISP, הרשימה שם לא 100% מעודכנת, יש עוד ספקיות שמתירות להריץ על-גביהן Tor Relay, אך זוהי נקודת ההתחלה הטובה ביותר והעשירה ביותר. עוד שיטה למצוא ספקית שמתירה להריץ זה לחפש ב-Tor Metrics, לדוגמה אם אני רוצה למצוא שרתי Relay מסוג Exit בהולנד, אני אחפש flag:exit country:nl ומשם אלך לאתר הבית של הספקית ואבחן את ה-TOS שלהם, הסוגי שרתים ועלויות.

רוב השרתים מרוכזים במדינות וספקיות מסויימות לא סתם, אלא בגלל מרכיב העלויות, וההיתר להריץ מלכתחילה Tor Relay. הספקיות Hetzner, OVH וכ"ו, הן בין הספקיות הכי זולות בעולם שנותנות תעבורה ללא הגבלה וכן מתירות להריץ Tor Relay (שאינו מסוג Exit). למרות זאת, מומלץ לנסות למצוא מדינה\ספקית שאינה נפוצה מדי, בכדי לתרום לרבגוניות של הרשת. אבל אם השיקול הכלכלי הוא המרכזי, אז אף אחד לא יגיד לך לא אם תקים Relay בגרמניה על התשתית של Hetzner.

לדוגמה

אני רק אציין ש-Tor Relay מסוג Exit הוא מועדף, שכן הוא מאפשר למשתמשים ברחבי העולם לגשת לאינטרנט, שככל הנראה מצונזר במדינה שלהם.

התקנה והגדרה

לאחר שמצאנו ספקית שמתירה לנו להריץ Relay נצטרך להגדיר אותו בהתאם למגבלות שיש עלינו, שהן:

  • איזה סוג של Relay.
  • כמות תעבורה.

בהנחה שמדובר בלינוקס כלשהו, אפשר למצוא את מדריך ההתקנה של ה-repostiory כאן, הוא עדיף על החבילה הלוקלית ברוב המקרים, שכן מדובר בגרסה יותר עדכנית.

לאחר שהתקנתם את החבילה, תצטרכו לערוך את הקובץ torrc (לרוב בנתיב /etc/tor), הפרטים שיש לשים אליהם לב:

# היכן הדאטה ישכון
DataDirectory /var/lib/tor

# כל מה שנוגע ל-nyx ואפשרות לנהל את tor באמצעות API
ControlSocket /run/tor/control
ControlSocketsGroupWritable 1
CookieAuthentication 1
CookieAuthFile /run/tor/control.authcookie
CookieAuthFileGroupReadable 1

# פורטים של ORPort עליהם אנחנו מאזינים
ORPort {{ my_ipv4 }}:9001
ORPort [{{ my_ipv6 }}]:9001

# כתובות שיפורסמו עבור חיבורים נכנסים
Address {{ my_ipv4 }}
Address [{{ my_ipv6 }}]

# הכינוי של ה-node
Nickname {{ tor_nickname }}

# הגדירו בהתאם לקישוריות של השרת
RelayBandwidthRate {{ tor_bandwidth }} MBits
RelayBandwidthBurst {{ tor_bandwidth_max }} MBits

# אם יש לכם מגבלת תעבורה
AccountingMax 300 GBytes
# מגבלה יומית
AccountingStart day 00:00
# או (לא להגדיר את שניהם)
# מגבלה פר תקופה (מתאפסת כל 3 לחודש בשעה 15:00)
AccountingStart month 3 15:00

# פרטי קשר
ContactInfo {{ tor_contact_info }}

# DIR פורט
DirPort 9030

# אם אתם מריצים יותר משרת אחד, צריך לייצר רשימה של משפחה
MyFamilty {{ tor_family_list }}

# האם מדובר ב-Exit Node
ExitRelay {{ tor_exit_ipv4 }}
IPv6Exit {{ tor_exit_ipv6 }}

# כאשר מדובר ב-exit node, האם להשתמש ברשימה מוגבל של פורטים
ReducedExitPolicy 1

# מהם הפורטים שמותר לצאת אליהם (כאשר מדובר ב-exit node)
{% if tor_exit_ipv4 == 1 %}
ExitPolicy reject 0.0.0.0/8:*
ExitPolicy reject 169.254.0.0/16:*
ExitPolicy reject 127.0.0.0/8:*
ExitPolicy reject 192.168.0.0/16:*
ExitPolicy reject 10.0.0.0/8:*
ExitPolicy reject 172.16.0.0/12:*
ExitPolicy accept *:80-82
ExitPolicy accept *:443
ExitPolicy accept *:8080-8082
{% endif %}
ExitPolicy reject *:*

חבילה נוספת שאני ממליץ עליה, הינה Nyx, ראו תמונות מסך ממנה בהמשך.

אחרית דברים והערות נוספות

ל-Relay לוקח מספרים ימים-שבועות עד שהוא מגיע למימוש הפוטנציאל שלו, אז היו סבלניים.

זהו! ברוכים הבאים לרשת המתנדבים, מוזמנים לחלוק איתנו את ה-Family ID שלכם.

מקורות מידע

https://metrics.torproject.org/