Bu ne kurar
Bir orta röle: istemcilerden ve diğer rölelerden bağlantıları kabul eder, trafiği ağ içinde iletir ve sıradan internet üzerindeki bir hedefe asla bağlantı açmaz. Orta röle hakkında kimse kötüye kullanım şikayeti almaz, çünkü dışarıdan bakıldığında yayınlanmış diğer röleler listesiyle şifreli trafik alışverişi yapar ve başka hiçbir şey yapmaz.
Bu ayrım, bu kılavuzun var olmasının tek nedenidir. Çıkış röleleri ayrı bir konudur: onlarla ilgili şikayetler sizin masanıza değil bizim kötüye kullanım masamıza gelir, bu yüzden kabul edilebilir kullanım politikasını okuyun ve bir tane yapılandırmadan önce bir bilet açın. Aşağıdaki her şey bilerek çıkışı iki kez kapatır.
Başlamadan önce
- Bir R-4. Tor bağlantı başına tek iş parçacıklıdır ve ağ bağlantılıdır; dört özel çekirdek, CPU farkına varmadan bir bağlantıyı doyuracaktır.
- Bağışlamak istediğiniz bant genişliğine sahip bir site. BUH-01 ve HEL-01 sattığımız en ucuz terabaytlardır ve her ikisinin de arkasında transit vardır.
- Çalışan bir saat. Zamanı çarpık olan röleler konsensüsten düşürülür ve bu, mükemmel başlayıp hiçbir yerde görünmeyen bir rölenin en yaygın nedenidir.
1. Temel sistem
apt update && apt full-upgrade -y
apt install -y tor nyx chrony nftables
timedatectl set-timezone UTC
chronyc trackingchronyc tracking sistem saat sapmasını mikrosaniyeler içinde bildirmelidir. Saniyeler bildiriyorsa durun ve önce bunu düzeltin; aşağı akışta hiçbir şey çalışmayacaktır.
2. Röle yapılandırması
/etc/tor/torrc öğesini aşağıdakiyle değiştirin. Her satırı okuyun, çünkü bunlardan ikisi sizi politikada tutanlardır:
Nickname exampleRelay
ContactInfo [email protected]
ORPort 9001
ORPort [2001:db8:1a2b::2]:9001
SocksPort 0
ControlPort 0
ExitRelay 0
ExitPolicy reject *:*
IPv6Exit 0
RelayBandwidthRate 40 MBytes
RelayBandwidthBurst 60 MBytes
AccountingMax 40 TBytes
AccountingStart month 1 00:00
MetricsPort 127.0.0.1:9035
MetricsPortPolicy accept 127.0.0.1
User debian-tor
DataDirectory /var/lib/tor
Log notice syslogExitRelay 0 ve ExitPolicy reject *:* emniyet kemeri ve pantolon askısıdır. Her biri tek başına yeterli olurdu; birlikte, gelecekteki hiçbir paket varsayılanı ve gece yarısı yarısı hatırlanan hiçbir düzenleme sizi sessizce bir çıkışa dönüştürmez.
Örneğinizin gerçek IPv6 adresini ikinci ORPort satırına yazın. Her örnek yönlendirilmiş bir /64 ile gelir, bu yüzden yalnızca v4 röle çalıştırmak için hiçbir neden yoktur ve v6 destekli röleler hala v4 olanlardan daha kısa tedarik edilir.
Bant genişliği muhasebesi kopyala yapıştır yerine bir düşünceyi hak eder. Ağımızdaki trafik adil kullanım altında ölçülmez, ancak sınırsız bırakılan bir röle, ağın onun için bulabildiği kadarını sonsuza dek kullanacaktır. Kırk megabayt/saniye ve kırk terabaytlık aylık tavan, cömert ve iyi huylu bir röledir. Muhasebeye ulaşıldığında, röle devre ortasında kesilmek yerine dönem sona erene kadar kış uykusuna yatar.
Herhangi bir yerde birden fazla röle çalıştırıyorsanız, bu dahil her parmak izini virgülle ayırarak listeleyen bir MyFamily satırı ekleyin. İstemciler, aynı kontrol altındaki iki makineden geçen bir devre kurmaktan kaçınmak için kullanır ve bunu atlamak operatörlere yönelik en yaygın yapılandırma şikayetidir.
3. Birimi zorlaştırma
Paketlenmiş birim iyidir; bu satırlar, içinde bir hata bulan herkes için onu çok daha az ilginç hale getirir.
systemctl edit tor@default[Service]
NoNewPrivileges=yes
PrivateTmp=yes
PrivateDevices=yes
ProtectSystem=strict
ProtectHome=yes
ProtectKernelTunables=yes
ProtectKernelModules=yes
ProtectControlGroups=yes
RestrictAddressFamilies=AF_INET AF_INET6 AF_UNIX
RestrictNamespaces=yes
MemoryDenyWriteExecute=yes
ReadWritePaths=/var/lib/tor /var/log/tor /run/tor
LimitNOFILE=65535Dosya tanımlayıcı sınırı göründüğünden daha önemlidir. Meşgul bir röle binlerce eşzamanlı soket tutar ve varsayılan sınır, bir hafta çalışıp sonra günlükte belirgin bir şey olmadan bağlantıları reddetmeye başlayan bir röle üretir.
4. Güvenlik duvarı
flush ruleset
table inet filter {
chain input {
type filter hook input priority filter; policy drop;
ct state established,related accept
ct state invalid drop
iif lo accept
ip protocol icmp accept
ip6 nexthdr icmpv6 accept
tcp dport 22 accept
tcp dport 9001 accept
}
chain forward {
type filter hook forward priority filter; policy drop;
}
}systemctl enable --now nftables
systemctl restart tor@defaultMetrikler portunun yalnızca geri döngü adresine bağlı olduğunu ve bu nedenle hiçbir kural gerektirmediğini unutmayın. İstediğinizde bir SSH tüneli ile ulaşın ve asla açığa çıkarmayın; röle metrikleri sizden daha fazla insanın ilgisini çeker.
Doğrulayın
Bu, dakikalar yerine saatler alan kısımdır, bu yüzden başlatın ve uzaklaşın.
İlk olarak, başlatmadan sonraki yirmi dakika içinde, günlük rölenin kendi portunu dışarıdan test ettiğini ve geçtiğini söylemelidir:
journalctl -u tor@default --since "20 min ago" | grep -i "self-testing"ORPort'unuzun dışarıdan erişilebilir olduğunu söyleyen satırı istersiniz. Asla görünmezse, güvenlik duvarı 9001 numaralı gelen bağlantıyı engelliyor veya torrc'deki v6 adresiniz örnekle eşleşmiyor demektir.
İkinci olarak, parmak izinizi alın ve saklayın:
cat /var/lib/tor/fingerprintÜçüncü olarak, rölenin yalnızca çalışmak yerine iş yaptığını doğrulayın:
nyx
curl -s http://127.0.0.1:9035/metrics | grep -E "tor_relay_traffic|tor_relay_connections"Trafik sayaçları, kendi kendine test geçtikten sonraki bir saat içinde yükselmelidir. Dizin yetkilileri parmak izinizi konsensüse oylamak için yaklaşık üç saate ihtiyaç duyar ve istemciler ancak ondan sonra anlamlı hacim göndermeye başlar. Çalışma süreniz devam ederse, Muhafız bayrağı yaklaşık sekizinci günde gelir ve trafik grafiğinin damlama halinden ayarladığınız sınıra geçtiği an budur.
Dördüncü ve bu özel yapı için en önemlisi, çıkış yapmadığınızı kanıtlayın. İkinci bir makineden, röle trafiğinden başka hiçbir şeyin çıkmadığını kontrol edin:
ss -tn state established | wc -l
ss -tn state established sport = :9001 | wc -lNeredeyse her kurulu bağlantı ORPort'u içermelidir. Rastgele portlara çok sayıda giden bağlantı, istemediğiniz bir çıkış politikası anlamına gelir, bu durumda arka plan programını durdurun ve ikinci adımı yeniden okuyun.
Çalıştırma
| Şey | Cevap |
|---|---|
| Yeniden başlatma | Size birkaç saat itibar kaybettirir. Değişikliklerinizi toplu yapın. |
| Güncellemeler | apt upgrade ardından yeniden başlatın. Eski sürümleri çalıştıran röleler işaretlenir ve sonunda düşürülür. |
| Site taşıma | /var/lib/tor/keys kopyalayın ve parmak izi röleyi takip eder. Konsensüs ağırlığı sıfırlanmaz. |
| Şikayetler | Orta röle hiçbiri üretmez. Bir tane alırsanız, bir şey çıkış yapıyor demektir ve kontrol etmelisiniz. |
| Kapatma | Önce AccountingMax öğesini küçük bir değere ayarlayın, böylece devreler boşalır veya durdurun ve itibar kaybını kabul edin. |
/var/lib/tor/keys öğesini örnekten ayrı bir yere kurduğunuz gün yedekleyin. Kimlik anahtarı bu röleyi o röle yapan şeydir; kaybederseniz sıfır konsensüs ağırlığıyla yeniden başlarsınız, bu da sekiz gün kimsenin sizi kullanmaması demektir. Röleniz çalışırken ne günlüklediğimiz konusundaki konumumuz günlük sayfasında ve kısadır.