SSD Nodes Learn Hosting plans →
Hướng dẫn Matt ConnorBởi Matt Connor

Chạy Tor relay trên VPS: Guard hoặc Middle relay

Hướng dẫn chạy Guard hoặc Middle Tor relay trên VPS Linux: cấu hình torrc, giới hạn băng thông theo gói tính phí, theo dõi bằng nyx và chờ consensus tăng chậm.

Relay Tor trên VPS làm gì

Relay Tor là một Tor daemon chạy trên máy có địa chỉ IP public, chuyển tiếp traffic đã mã hóa cho người khác. Các directory authority công bố relay này, rồi client Tor xây dựng circuit đi qua nó. Guard relay hoặc middle relay chỉ chuyển traffic đến một relay khác, nên nó không bao giờ mở kết nối đến website thay cho người lạ. Đây là lý do relay không thu hút abuse mail, và cũng là hình thức đóng góp phù hợp với một VPS thông thường. Relay chuyển traffic của người khác nhưng không public nội dung nào của chính nó. Vì vậy, nếu mục tiêu của bạn là đưa website của mình lên mạng Tor thay vì chuyển packet cho website đó, chạy onion service v3 phía sau nginx là một công việc khác dùng cùng tor daemon. Chạy relay cũng không giúp bảo vệ quyền riêng tư khi bạn duyệt web. Đây là một vấn đề riêng, với hiệu quả thấp hơn nhiều người nghĩ: SearXNG tự host thực sự che giấu được gì là thước đo tương đối chính xác cho mức độ tự host một service trên VPS của bạn có thể giúp ích.

Công việc này khá nhỏ: một package, 15 dòng cấu hình, một firewall rule và một lần restart. Phần còn lại của guide là những điểm thường xảy ra lỗi: cách tính băng thông trên gói tính phí theo lưu lượng, và lý do một relay mới hoàn toàn khỏe mạnh lại trông như không hoạt động trong một tuần.

Guard, middle, bridge hay exit: chọn vai trò trước khi cài đặt

Một daemon đảm nhiệm cả 4 vai trò. Cấu hình của bạn, cùng với các directory authority, sẽ quyết định bạn đang chạy vai trò nào.

  • Middle relay. Nó nhận traffic từ guard rồi chuyển tiếp đến một relay khác. Nó không bao giờ kết nối đến website đích. Mọi relay mới đều bắt đầu ở đây.
  • Guard relay. Đây là cùng cấu hình đó, nhưng có thêm một flag. Các directory authority sẽ cấp Guard flag cho những relay đã nhanh và ổn định đủ lâu. Bạn không tự chọn được flag này. Bạn phải đạt được nó, và cấu hình bên dưới là cách để đạt được.
  • Bridge. Đây là relay được cố ý loại khỏi directory công khai và được phân phối riêng cho người dùng ở những nơi Tor bị chặn. Đây là vai trò yêu cầu ít cam kết nhất trong 4 vai trò: bandwidth thấp, không được liệt kê công khai, và là bước đầu phù hợp nếu kế hoạch của bạn chỉ ở quy mô nhỏ. Bridge cũng cần một obfs4 proxy chạy cùng daemon và một nhóm dòng torrc khác. Thiết lập một obfs4 bridge trên 1 VPS giá rẻ trình bày toàn bộ quy trình, bao gồm cách cung cấp bridge line cho người dùng ở bước cuối.
  • Exit relay. Đây là hop cuối, mở kết nối đến website đích. Mọi request của người dùng đều đi ra từ địa chỉ IP của bạn, nên các báo cáo abuse và yêu cầu từ cơ quan công an sẽ được gửi đến người sở hữu địa chỉ đó.

Exit là vai trò duy nhất không nên chạy trên VPS đa dụng. Chỉ chạy exit trên provider đã đồng ý trước về việc tiếp nhận các email đó, với địa chỉ IP riêng và abuse contact được công khai. Hầu hết điều khoản hosting tiêu chuẩn đều cấm việc này. Nếu bỏ qua quy định, kết quả thường là server bị suspend và địa chỉ IP bị thu hồi. Nếu bạn vẫn muốn đảm nhiệm vai trò này, những gì việc chạy một exit relay thực sự đòi hỏi trình bày cách tìm host thân thiện với exit, viết exit policy và reverse DNS, cũng như trả lời email khi chúng đến. Guard hoặc middle relay vẫn chuyển tiếp cùng loại traffic của người dùng mà không có những rủi ro đó.

Toàn bộ phần bên dưới thiết lập một guard/middle relay. ExitRelay 0 là dòng giữ cho nó chỉ chạy một trong hai vai trò này.

Những gì VPS cần có trước khi bắt đầu

The Tor Project công bố các yêu cầu tối thiểu cho relay. Tính đến tháng 10 năm 2026, các yêu cầu này là: một địa chỉ IPv4 public cho relay, băng thông tối thiểu 10 Mbit/s theo mỗi chiều và khuyến nghị 16 Mbit/s, lưu lượng outbound tối thiểu 100 GB mỗi tháng, cùng 512 MB RAM nếu tốc độ dưới 40 Mbit/s hoặc 1 GB nếu cao hơn. Không có quy định cố định về uptime, nhưng relay chạy dưới hai giờ mỗi ngày sẽ có rất ít tác dụng đối với network.

Mức 10 Mbit/s mô tả đường truyền, không phải cấu hình. Bạn cần một port đáp ứng được tốc độ này. Mức sử dụng đường truyền mà bạn cho phép relay dùng là một quyết định riêng, dựa trên hạn mức transfer hằng tháng. Hãy đọc kỹ gói dịch vụ trước khi chỉnh config. Nếu bạn vẫn đang chọn một máy chủ, chi phí thực tế mỗi tháng của một VPS giải thích cách các nhà cung cấp bán hạn mức transfer, còn đo throughput mạng thực tế của một VPS cho biết cách kiểm tra đường truyền thực sự hoạt động như thế nào với iperf3 thay vì tin vào trang bán hàng.

Hãy harden máy chủ trước. Relay là một public service trên một địa chỉ public, và địa chỉ này sẽ bị scan chỉ trong vài phút sau khi được công bố. Khóa SSH chỉ dùng key và harden cấu hình sshd chỉ mất mười phút và phải được thực hiện trước khi relay đi vào hoạt động, không phải sau đó.

Cài Tor từ repository của Tor Project

Sử dụng apt repository của Tor Project thay vì package do distribution cung cấp. Mã relay được cập nhật nhanh hơn một bản stable release, nên các bản sửa lỗi xuất hiện trong repository này trước. Package của distribution bị chậm giữa các lần release.

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

Thêm signing key, sau đó thêm repository. Codename được đọc từ máy, nên cùng một block này hoạt động trên Ubuntu 24.04 (noble) và 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 in ra version vừa cài đặt. Nếu apt update in ra lỗi NO_PUBKEY thay vì vậy, key đã dearmor không nằm tại path được nêu trong dòng Signed-By:. Khi đó apt không có key để kiểm tra release file. Package deb.torproject.org-keyring sẽ cần thiết về sau: package này cung cấp signing key dưới dạng package thông thường, nên apt vẫn hoạt động khi key đó được thay mới.

Bật automatic upgrade, sau đó khai báo origin mới cho cơ chế này.

sudo apt install -y unattended-upgrades apt-listchanges

Trên Ubuntu, thêm Tor origin vào block Allowed-Origins trong /etc/apt/apt.conf.d/50unattended-upgrades:

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

Trên Debian, file tương tự sử dụng Origins-Pattern. Dòng cần thêm là "origin=TorProject";. Kiểm tra kết quả bằng sudo unattended-upgrade --debug --dry-run. Lệnh này in ra các origin mà nó sẽ xử lý và không ghi thay đổi nào.

Cấu hình torrc quan trọng

Gói cài đặt tạo một /etc/tor/torrc dài với nhiều chú thích. Chỉ một vài dòng cần thiết cho relay. Thêm các dòng đó vào cuối file.

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

Nickname dài từ 1 đến 19 ký tự, chỉ gồm chữ cái và chữ số. Tên này không duy nhất trong toàn mạng và không phải là danh tính của bạn; fingerprint mới là danh tính. Bạn sẽ dùng tên này để tìm relay của mình trong ô tìm kiếm, nên hãy chọn tên có thể đọc chính xác qua điện thoại.

ContactInfo được công bố trong relay descriptor. Đây là tài liệu công khai mà bất kỳ ai cũng có thể tải xuống, vì vậy địa chỉ này sẽ bị thu thập. Hãy dùng địa chỉ mà bạn vẫn sẽ đọc sau hai năm, và có thể làm mờ địa chỉ nếu muốn. Đây là kênh duy nhất để Tor Project cảnh báo bạn về vấn đề với relay.

ORPort 9001 là cổng mà các relay khác và client kết nối vào. 9001 là lựa chọn thông dụng. Port 443 cũng thường được dùng, vì một số mạng hạn chế chỉ cho phép kết nối outbound đến 443. Relay listening trên cổng này sẽ có thể được nhiều client tiếp cận hơn. Chỉ chọn 443 nếu không có dịch vụ nào khác trên máy cần cổng này.

SocksPort 0 tắt SOCKS proxy cục bộ, vốn không được relay sử dụng, đồng thời loại bỏ một listening socket khỏi máy. ExitRelay 0 ghi rõ mục đích vào file: relay này sẽ không bao giờ kết nối đến một đích thay cho người dùng, và người đọc config sau này không phải suy luận điều đó từ giá trị mặc định.

Nếu VPS có địa chỉ IPv6, tor đã cố gắng sử dụng địa chỉ đó. Từ tor 0.4.5, dòng ORPort không có địa chỉ sẽ listening trên cả IPv4 và IPv6, đồng thời tự phát hiện địa chỉ IPv6 của relay giống như cách tìm địa chỉ IPv4. Chỉ thêm dòng ORPort thứ hai với địa chỉ đặt trong dấu ngoặc vuông nếu cơ chế phát hiện chọn sai địa chỉ, và chỉ dùng địa chỉ mà bạn biết là có thể truy cập được: một IPv6 ORPort được cấu hình rõ nhưng không vượt qua kiểm tra khả năng truy cập sẽ khiến relay không công bố descriptor.

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

Trên VPS 1 GB, hãy thêm MaxMemInQueues 512 MB. Tor quyết định giới hạn queue dựa trên dung lượng bộ nhớ mà nó thấy trên máy. Trên một máy shared nhỏ, giá trị này thường lớn hơn mức bạn muốn tor sử dụng. Tự đặt giới hạn giúp tor loại bỏ các cell đang chờ khi chịu tải, để relay tiếp tục hoạt động, thay vì tăng queue cho đến khi kernel kill process.

Mở ORPort trên firewall

Chiều inbound, ORPort phải truy cập được từ bất kỳ đâu trên Internet. Chiều outbound, không giới hạn relay: relay mở kết nối đến hàng nghìn relay khác trên nhiều cổng khác nhau, và outbound allowlist sẽ âm thầm làm relay mất khả năng hoạt động bình thường.

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

Tiếp theo, kiểm tra firewall mạng riêng của nhà cung cấp. Nhiều control panel chạy packet filter phía trước virtual machine. Khi đó, rule bạn thêm bằng ufw không có tác dụng ở lớp này, nên cổng có thể hiển thị là đang mở trên máy nhưng lại đóng khi truy cập từ bên ngoài. Nếu bạn chưa quen với ufw, các rule ufw cần có trên mọi VPS giải thích policy mặc định và thứ tự áp dụng các rule.

Đặt băng thông phù hợp với gói dịch vụ

Tài liệu mô tả RelayBandwidthRate là một token bucket riêng, dùng để giới hạn “mức sử dụng băng thông đến trung bình của traffic relay trên node này ở số byte mỗi giây được chỉ định, và mức sử dụng băng thông đi trung bình ở cùng giá trị đó”. Hãy đọc kỹ câu này. Giới hạn được áp dụng riêng cho từng hướng. Một relay đặt ở mức 1 Mbit/s có thể đồng thời truyền 1 Mbit/s vào và 1 Mbit/s ra, và nhà cung cấp tính phí cả hai hướng sẽ tính tổng hai giá trị này.

Biểu đồMonthly traffic at a sustained relay rate, both directions, 30 days
Dữ liệu đằng sau biểu đồ này
[
  {
    "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"
  }
]

Các dòng 5 chỉ là phép tính, không phải số liệu đo được: chúng cho biết chi phí của một tốc độ nếu relay duy trì tốc độ đó trong đủ 30 ngày theo cả hai hướng. Relay thực tế thường chạy dưới mức giới hạn trong phần lớn thời gian, đặc biệt là trong những tuần đầu. Dùng bảng để loại các thiết lập không thể phù hợp với ngân sách, không dùng bảng để dự đoán hóa đơn chính xác đến từng gigabyte.

Ở mức 1 Mbit/s cho mỗi hướng, relay truyền khoảng 21.6 GB mỗi ngày, nên một tháng 30 ngày tiêu tốn khoảng 648 GB traffic tính phí. Mức này vẫn nằm trong giới hạn 1 TB, còn dư cho update và backup. Tăng lên 2 Mbit/s thì một tháng tiêu tốn 1,296 GB, đã vượt gói 1 TB. Dòng cuối cùng, 20 Mbit/s, cần 12,960 GB mỗi tháng và phù hợp với một port không giới hạn lưu lượng. Nếu nhà cung cấp chỉ tính traffic outbound, hãy chia đôi mọi con số. Hãy xác định cách tính nào được áp dụng trước khi đặt tốc độ, vì hai kết quả chênh nhau 2 lần.

Tiếp theo là cấu hình. Giới hạn tốc độ trước, quota sau.

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

RelayBandwidthBurst là kích thước của token bucket, nên nó cho phép các đợt tăng tốc ngắn vượt mức rate trong khi vẫn giữ mức trung bình. Giá trị khoảng gấp đôi rate là hợp lý.

AccountingRule là dòng mà phần lớn operator bỏ sót. Giá trị mặc định là max, dùng hướng có lưu lượng lớn hơn trong hai hướng để tính vào quota. Với giá trị mặc định, AccountingMax 400 GBytes cho phép 400 GB inbound và 400 GB outbound, tương đương 800 GB trên meter tính cả hai hướng. AccountingRule sum cộng read và write vào cùng một quota, đúng với cách một allowance truyền tải thực tế được tính.

Hãy viết cả AccountingStart, không bao giờ chỉ viết AccountingMax. Quota là giá trị số, còn dòng start xác định thời điểm reset. Quota không có period sẽ khiến relay chuyển sang hibernation mà không có gì đưa nó hoạt động trở lại.

Hibernation là biện pháp khá thô. Khi quota hết, tor ghi log rồi ngừng nhận công việc:

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

Relay cũng không thức dậy đúng vào thời điểm bắt đầu period tiếp theo. Tor theo dõi tốc độ relay đã tiêu quota trước đó rồi chọn ngẫu nhiên một thời điểm trong interval mới, để hàng nghìn relay không cùng quay lại network trong một giây. Relay biến mất trong tuần cuối của mỗi tháng sẽ liên tục mất đi độ ổn định mà các directory authority dùng để đánh giá nó. Đặt RelayBandwidthRate sao cho cap không bao giờ bị chạm tới, và giữ AccountingMax làm cơ chế dự phòng để bảo vệ hóa đơn.

Khởi động relay và xác nhận relay có thể truy cập

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

Trong vài phút, log sẽ có dòng này:

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

Câu này có nghĩa là các relay khác đã kết nối ngược đến ORPort của bạn và dựng một circuit đi qua relay đó. Trước khi dòng này xuất hiện, relay của bạn chưa có trong directory và hoàn toàn không chuyển tiếp traffic nào. Lỗi sẽ có dạng sau:

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.

Hãy kiểm tra lần lượt. ORPort đã được mở trong ufw chưa? Cổng đó cũng đã được mở trong network firewall riêng của nhà cung cấp chưa? Địa chỉ trong thông báo có phải là địa chỉ Internet thực sự route đến máy bạn không, hay chỉ là địa chỉ private trong cấu hình NAT? Dùng nc -vz 203.0.113.10 9001 để kiểm tra cổng từ một máy khác. Tor tự lặp lại self-test, vì vậy nó sẽ tự phát hiện firewall đã được sửa mà không cần bạn thao tác thêm; restart sẽ khiến việc kiểm tra diễn ra ngay lập tức.

Identity cố định của relay là fingerprint:

sudo cat /var/lib/tor/fingerprint

Khoảng ba giờ sau khi descriptor được publish, relay sẽ xuất hiện trên Relay Search. Tìm theo nickname hoặc dán fingerprint vào. Trang này cho biết network đang nhìn nhận relay của bạn như thế nào: relay có những flag nào, các authority gán weight bao nhiêu và relay đang publish phiên bản nào.

Vì sao một Tor relay mới hầu như không nhận được traffic?

Vì mạng chưa đo relay đó, và quá trình đo mất nhiều tuần. Tor Project mô tả quá trình tăng tải này qua 4 giai đoạn. Nếu operator chưa đọc tài liệu đó, họ thường kết luận relay bị hỏng rồi bắt đầu thay đổi cấu hình.

Trong 3 ngày đầu, relay chưa được đo. Nó báo cáo kết quả self test của chính nó, nhưng các directory authority vẫn giới hạn published weight ở mức 20 KB, nên client hầu như không bao giờ chọn nó. Từ khoảng ngày 3 đến ngày 8, các bandwidth authority đo relay một cách thực tế và weight tăng dần. Tuy nhiên, relay chỉ được dùng làm middle hop, vì không client nào sẵn sàng chọn một relay hoàn toàn mới làm first hop.

Khoảng ngày 8, relay đủ điều kiện nhận cờ Guard. Việc nhận cờ này làm traffic giảm, khiến nhiều người bất ngờ: khi chọn middle hop, client bỏ qua các guard vì giả định guard đã bận xử lý traffic, nên relay mất middle traffic trước khi nhận được guard traffic. Lượng traffic chỉ tăng trở lại khi client xoay vòng các guard set của chúng, và quá trình này mất nhiều tuần. Khoảng ngày 68, relay đạt trạng thái ổn định, khi số client loại relay ra cân bằng với số client thêm relay vào.

Vì vậy, kỳ vọng thực tế là: không có gì trong 3 ngày đầu, bắt đầu có traffic sau 1 tuần và có tải đáng kể sau 2 tháng. Chỉ thay đổi một setting, rồi chờ 1 tuần để xem tác động. Một trang trạng thái Uptime Kuma tự host với TCP check đến port 9001 là cách dùng hợp lý hơn cho sự sốt ruột này: nó trả lời câu hỏi mà bạn thực sự kiểm soát được, đó là port còn phản hồi hay không.

nyx để theo dõi relay

nyx là công cụ giám sát trong terminal dành cho relay đang chạy. Công cụ này kết nối đến control port của tor, vì vậy trước tiên hãy bật control port trong torrc:

ControlPort 9051
CookieAuthentication 1
CookieAuthFileGroupReadable 1

ControlPort chỉ lắng nghe trên 127.0.0.1. Cookie authentication yêu cầu chương trình phải đọc một file secret trước khi có thể gửi lệnh. Trên Debian và Ubuntu, 2 dòng cuối đã là mặc định của package: /usr/share/tor/tor-service-defaults-torrc riêng của package tor đặt CookieAuthentication 1, CookieAuthFileGroupReadable 1 và CookieAuthFile /run/tor/control.authcookie. Vì vậy, tor ghi cookie vào /run/tor/control.authcookie với tư cách user debian-tor; group debian-tor có quyền đọc file này ngay từ đầu. Việc ghi 2 dòng đó vào torrc chỉ giúp người đọc config sau này thấy rõ các thiết lập này. Tài khoản của bạn phải là thành viên của group đó thì mới có thể chạy nyx mà không cần sudo.

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

Đăng xuất rồi đăng nhập lại, sau đó chạy nyx. Group mới chỉ được áp dụng khi đăng nhập, nên nếu chạy nyx trong cùng shell session, bạn sẽ nhận lỗi permission đối với cookie file dù config đã đúng. nyx hiển thị bandwidth theo thời gian thực, uptime, log stream và danh sách kết nối. Trong những tuần đầu, hãy theo dõi bandwidth graph để bảo đảm nó vẫn nằm dưới RelayBandwidthRate.

Chạy nhiều relay: MyFamily và family key

Nếu bạn chỉ chạy một relay, hãy bỏ qua phần này. Hai relay trở lên do cùng một operator chạy phải khai báo cho nhau. Nhờ đó, client không bao giờ xây dựng circuit đi vào và đi ra qua các máy của bạn, vì điều này cho phép một operator nhìn thấy cả hai đầu của circuit.

Cách truyền thống là dùng MyFamily trong torrc của mỗi relay để liệt kê fingerprint của tất cả relay còn lại:

MyFamily AAAAAAAAAA,BBBBBBBB

Mỗi relay liệt kê mọi relay khác. Vì vậy, khi thêm relay thứ tư, bạn phải sửa 4 file. Tor 0.4.9 bổ sung family key, hoạt động cùng với danh sách đó thay vì thay thế danh sách. Tài liệu tor gọi key này là cách ưu tiên trong tương lai để khai báo một family, nhưng hiện tại khuyến nghị các relay trong cùng family cấu hình cả key này và MyFamily. Khi tất cả relay của bạn chạy 0.4.9.2-alpha hoặc mới hơn, hãy tạo một key rồi sao chép key đó:

tor --keygen-family myfamily

Lệnh này ghi myfamily.secret_family_key và in ra một dòng FamilyId. Sao chép file key vào mọi relay, đặt trong thư mục con keys của DataDirectory (/var/lib/tor/keys trên Debian và Ubuntu), đồng thời giữ nguyên hậu tố .secret_family_key. Thêm dòng FamilyId đã in ra vào từng torrc, rồi reload bằng sudo systemctl reload tor@default. Giữ nguyên cả danh sách MyFamily. Các client chưa hiểu family key vẫn chỉ đọc danh sách cũ. Đây là lý do tài liệu yêu cầu cấu hình cả hai.

Điều gì hỏng sau khi relay đang chạy

Phiên bản trở nên cũ. Unattended upgrades thay thế package, nhưng process đang chạy vẫn dùng binary mà nó đã khởi động cùng cho đến khi có thao tác restart. So sánh tor --version trên máy với phiên bản hiển thị trên trang Relay Search của relay. Nếu hai phiên bản khác nhau, network vẫn đang thấy phiên bản cũ, vì vậy hãy restart service.

Đồng hồ bị lệch. Các consensus document và certificate đều phụ thuộc vào thời gian, nên máy có đồng hồ lệch nhiều sẽ từ chối consensus và ngừng publish. timedatectl phải báo system clock đã được đồng bộ. Nếu chưa, hãy enable systemd-timesyncd hoặc cài đặt chrony.

Địa chỉ IP thay đổi. Descriptor chứa địa chỉ IP, và client không thể truy cập địa chỉ đã thay đổi. Sau mỗi lần chuyển provider hoặc thay đổi địa chỉ, hãy restart tor và theo dõi lại dòng self-test.

Relay chậm hơn mức plan cho phép. Crypto của Tor relay hoạt động hiệu quả trên các processor hiện đại, và Tor Project ước tính một CPU có hỗ trợ AES-NI đạt khoảng 400 đến 450 Mbit/s theo mỗi chiều. Bạn sẽ bị giới hạn bởi tốc độ port và hạn mức transfer từ rất lâu trước khi chạm ngưỡng đó. Vì vậy, phần accounting ở trên quan trọng hơn hardware.

FAQ

Relay Tor sử dụng bao nhiêu băng thông?

Relay sử dụng đúng mức bạn cho phép, không hơn. RelayBandwidthRate giới hạn lưu lượng được chuyển tiếp riêng cho từng chiều, nên relay đặt ở mức 1 Mbit/s có thể xử lý đồng thời 1 Mbit/s chiều vào và 1 Mbit/s chiều ra. Mức này tương đương khoảng 21.6 GB mỗi ngày, hoặc 648 GB trong 30 ngày, tính cả hai chiều. Thêm AccountingMax cùng với AccountingRule sum để đặt quota tháng cố định bên dưới mức tốc độ đó.

Chạy relay Tor có khiến tôi nhận được khiếu nại abuse không?

Guard relay hoặc middle relay chỉ chuyển tiếp lưu lượng đến các relay Tor khác và không bao giờ kết nối đến website thay cho người dùng. Vì vậy, khiếu nại về việc ai đó thực hiện qua Tor sẽ gửi đến operator của exit relay, không phải bạn. Bạn có thể thấy các lượt scan và đôi khi địa chỉ IP bị đưa vào danh sách reputation, vì địa chỉ đó được công khai là relay. Exit relay mới là loại nhận email abuse và thông báo pháp lý. Bạn cần dùng provider đã đồng ý xử lý các vấn đề này từ trước. Đọc điều khoản của provider trước khi chạy một trong hai loại relay.

Vì sao relay Tor mới của tôi chưa nhận được lưu lượng?

Vì relay mới bị giới hạn theo thiết kế cho đến khi được đo lường. Trong 3 ngày đầu, directory authority giới hạn weight được công bố ở mức 20 KB, nên client gần như không chọn relay này. Bandwidth authority bắt đầu đo từ khoảng ngày thứ 3. Relay đủ điều kiện nhận cờ Guard vào khoảng ngày thứ 8. Lưu lượng lại giảm vào thời điểm đó vì client tránh chọn Guard khi chọn middle hop. Relay đạt tải đầy đủ vào khoảng ngày thứ 68. Xác nhận log có dòng "Self-testing indicates your ORPort is reachable from the outside", sau đó cứ để relay chạy.

Tôi có thể chạy relay Tor trên VPS với hạn mức transfer 1 TB không?

Có, ở mức khoảng 1 Mbit/s cho mỗi chiều, tương đương RelayBandwidthRate 125 KBytes. Nếu provider tính cả hai chiều, mức này tương đương khoảng 648 GB mỗi tháng, vẫn còn dư cho update và backup. Thêm AccountingMax 400 GBytes cùng với AccountingRule sum và AccountingStart month 1 00:00 để relay chuyển sang trạng thái hibernation thay vì vượt hạn mức. Nếu provider chỉ tính phí lưu lượng outbound, bạn có thể tăng gấp đôi tốc độ.

Nếu chỉ chạy một relay, tôi có cần đặt MyFamily không?

Không. Khai báo family tồn tại để client tránh tạo circuit đi qua 2 relay thuộc cùng một operator. Điều này không có ý nghĩa khi bạn chỉ chạy một relay. Hãy đặt khai báo ngay khi thêm relay thứ hai: liệt kê fingerprint của mọi relay trong dòng MyFamily của từng relay. Khi mọi relay đều chạy Tor 0.4.9.2-alpha hoặc mới hơn, hãy thêm dòng FamilyId chứa family key dùng chung. Manual của tor hiện yêu cầu cấu hình cả hai để client cũ vẫn nhận diện được family.