1. Enable Automatic Software Updates

One of the most important things to keep your relay secure is to install security updates timely and ideally automatically so you can not forget about it. Follow the instructions to enable automatic software updates for your operating system.

2. Bootstrap pkg

This guide assumes we have already a base installation of FreeBSD running, and only the base system. That means we do not have any packages installed, or even the pkg packages manager itself (there's no sudo available - we are running commands as root).

Pentru bootstrap și instalarea pkg ar trebui să rulăm următoarea comandă:

# pkg bootstrap
# pkg update -f

Pentru a urmări actualizările din upstream într-un mod "mai rapid", vă recomandăm să schimbați ramura trimestrială - 'quarterly' folosită de pkg la ramura cea mai recentă -'latest'.

Un pas suplimentar este să preferăm să folosim HTTPS pentru a obține pachetele și actualizările noastre - așa că aici avem nevoie și de un pachet suplimentar care să ne ajute (ca_root_nss).

Instalarea pachetului ca_root_nss:

# pkg install ca_root_nss

We are keeping the original setting used by pkg but setting a new one that will override it. So we set up a new directory, and then create a configuration file to override what we need. This configuration file will be /usr/local/etc/pkg/repos/FreeBSD.conf.

Crearea noului director:

# mkdir -p /usr/local/etc/pkg/repos

Așa ar trebui să arate noul fișier de configurare /usr/local/etc/pkg/repos/FreeBSD.conf:

FreeBSD: {
  url: pkg+https://pkg.freebsd.org/${ABI}/latest
}

După aplicarea tuturor acestor modificări, actualizăm din nou lista de pachete și încercăm să verificăm dacă există deja o nouă actualizare de aplicat:

# pkg update -f
# pkg upgrade -y -f

3. Install Tor

You can choose to install the stable version (recommended):

# pkg install tor

Or install an alpha release:

# pkg install tor-devel

4. Install obfs4proxy

# pkg install obfs4proxy-tor

5. Edit your Tor config file, usually located at /usr/local/etc/tor and replace its content with:

RunAsDaemon 1
BridgeRelay 1

# Înlocuiți "TODO1" cu un port Tor, la alegere. Acest port trebuie să fie extern
# accesibil. Evitați portul 9001, deoarece este asociat în mod obișnuit cu Tor și
este posibil ca # cenzorii să scaneze Internetul pentru acest port.
ORPort TODO1

ServerTransportPlugin obfs4 exec /usr/local/bin/obfs4proxy

# Înlocuiți "TODO2" cu portul obfs4, la alegere. Acest port trebuie să fie
# accesibil din exterior și trebuie să fie diferit de cel specificat pentru ORPort.
# Evitați portul 9001 pentru că este asociat în mod obișnuit cu
# Tor și cenzorii pot scana Internetul pentru acest port.
ServerTransportListenAddr obfs4 0.0.0.0:TODO2

# Portul de comunicare locală între Tor și obfs4. Configurați întotdeauna acest lucru pe „auto”.
# "Ext" înseamnă "extins", nu "extern". Nu încercați să setați
# un număr de port specific și nici să ascultați la 0.0.0.0.
ExtORPort auto

# Înlocuiți "<address@email.com>" cu adresa dvs. de e-mail, astfel încât să vă putem contacta dacă
# există probleme cu puntea dvs. Această înlocuire este opțională, dar încurajată.
ContactInfo <address@email.com>

# Alegeți o poreclă care vă place pentru puntea dvs. Aceasta este opțională.
Nickname PickANickname

Fișierul jurnal /var/log/tor/notices.log

Nu uitați să schimbați opțiunile ORPort,ServerTransportListenAddr, ContactInfo șiNickname.

  • Rețineți că atât portul OR Tor, cât și portul său obfs4 trebuie să fie accesibile. Dacă puntea dvs. se află în spatele unui firewall sau NAT, asigurați-vă că deschideți ambele porturi. Puteți utiliza testul nostru de accesibilitate pentru a vedea dacă portul dvs. obfs4 este accesibil de pe Internet.

  • Are you using FreeBSD's firewall with a "default deny" policy? If so, make sure that your obfs4proxy can talk to your Tor process over the loopback interface. Don't forget to whitelist Tor's ExtORPort.

6. Ensure that the random_id sysctl setting is enabled

# echo "net.inet.ip.random_id=1" >> /etc/sysctl.conf
# sysctl net.inet.ip.random_id=1

7. Start the tor daemon and make sure it starts at boot

# sysrc tor_setuid=YES
# sysrc tor_enable=YES
# service tor start

8. Monitor your logs

Pentru a confirma că puntea dvs. funcționează fără probleme, ar trebui să vedeți ceva de genul acesta în /var/log/tor/notices.log:

[notificare] Amprenta cheie - fingerprint - a identității serverului dvs. Tor este '<NICKNAME> <FINGERPRINT>'
[notificare] Amprenta cheie a identității hash a punții dvs. Tor este '<NICKNAME> <HASHED FINGERPRINT>'
[notificare] Transport înregistrat pe server 'obfs4' la '[::]:46396'
[notificare] Tor a deschis un circuit cu succes. Se pare că funcționalitatea clientului este în regulă.
[notificare] Bootstrapped 100%: Done
[notificare] Verificați dacă ORPort <redacted>:3818 este accesibil ... (poate dura până la 20 de minute - căutați mesaje de jurnal care indică succesul)
[notificare] Auto-testarea indică faptul că ORPort-ul dvs. este accesibil din exterior. Excelent. Se publică descriptorul serverului.

9. Final Notes

If you are having trouble setting up your bridge, have a look at our help section. If your bridge is now running, check out the post-install notes.