Asumimos que ya leíste toda la guía de repetidores y las consideraciones técnicas. Esta subpágina es para operadores que quieren activar la salida en sus repetidores.

Es recomendado que configures repetidores de salida en servidores dedicados a este propósito. No es recomendado instalar repetidores de salida Tor en servidores que también necesitas para otros servicios. No mezcles tu propio tráfico con el de tu repetidor de salida.

DNS Inverso y registro WHOIS

Antes de convertir tu repetidor no de salida en uno que sí la tiene, asegúrate de haber configurado un registro de DNS inverso (PTR) para hacer más obvio que este es un repetidor de salida tor. Algo como "tor-exit" por nombre es un buen comienzo.

Si tu proveedor lo ofrece, asegúrate de que tu registro WHOIS contiene indicaciones claras de que este es un repetidor de salida Tor.

Usa un nombre de dominio que te pertenezca. Definitivamente, no uses torproject.org como nombre de dominio para tu DNS inverso.

Página HTML de Aviso de Nodo de Salida

Para hacer aún más obvio que este es un repetidor de salida Tor, deberías servir una página HTML de aviso de salida Tor. Tor puede hacer eso por tí: si tu DirPort está en el puerto TCP 80, puedes usar la característica DirPortFrontPage de tor para mostrar un archivo HTML sobre ese puerto. Este archivo va a ser mostrado a cualquiera que dirija su navegador hacia la dirección IP de tu repetidor de salida Tor.

Si no configuraste esto antes, las siguientes líneas de configuración deben ser aplicadas a tu torrc:

DirPort 80
DirPortFrontPage /path/to/html/file

Ofrecemos un archivo HTML de muestra para un anuncio de salida Tor, pero podrías querer ajustarlo a tus nececidades.

También tenemos un gran posteo blog con algunos consejos adicionales para administrar un repetidor de salida.

Nota: DirPort está descontinuada desde Tor 0.4.6.5, y las autopruebas ya no son mostradas en los registros de tor. Por más información, lee sus notas de lanzamiento y el tique #40282.

Política de Salida

Definir la política de salida es una de las partes más importantes de la configuración de un repetidor de salida. La política de salida define qué puertos de destino estás dispuesto a redirigir. Esto tiene un impacto en la cantidad de correos electrónicos de abuso que recibirás (menos puertos significan menos correos electrónicos de abuso, pero un repetidor de salida permitiendo solo unos pocos puertos también es menos útil). Si quieres ser un repetidor de salida útil debes permitir al menos los puertos de destino 80 y 443.

Como nuevo repetidor de salida - especialmente si eres nuevo para quien te aloja -, es bueno comenzar con una política de salida reducida (para disminuir la cantidad de correos electrónicos de abuso) y luego expandirla en la medida en que ganas más experiencia. La política de salida reducida puede ser encontrada en la página wiki Política de Salida Reducida.

Para tornarte en un repetidor de salida, cambia ExitRelay de 0 a 1 en tu archivo de configuración torrc y reinicia el demonio tor.

ExitRelay 1

DNS en Repetidores de Salida

A diferencia de otros tipos de repetidores, los de salida también hacen resolución DNS para clientes Tor. La resolución DNS en los repetidores de salida es crucial para los clientes Tor, y debiera ser confiable y rápida mediante el uso de cacheo.

  • La resolución DNS puede tener un significativo impacto sobre el desempeño y confiabilidad provistos por tu repetidor de salida.
  • No uses ninguno de los grandes proveedores de resolucióin DNS (Google, OpenDNS, Quad9, Cloudflare, 4.2.2.1-6) como tu primario o para contingencias, para evitar centralización.
  • Recomendamos correr un software de resolución DNS con cacheo local y validación DNSSEC, sin usar ningún redirigidor (instrucciones específicas siguen abajo, para varios sistemas operativos).
    • Si quieres añadir un segundo resolvedor DNS para contingencias en tu configuración /etc/resolv.conf, elige uno dentro de tu sistema autónomo y asegúrate de que no sea tu primera entrada en ese archivo (la primera entrada debería ser tu resolvedor local).
    • Si una instancia de resolución local, como por ejemplo Unbound, no es una opción para ti, usa una que tu proveedor corra en el mismo Sistema Autónomo (para averiguar si una dirección IP está en el mismo AS que tu repetidor, puedes encontrarlo usando bgp.he.net).
  • Evita añadir más de dos resolvedores a tu archivo /etc/resolv.conf para limitar la exposición a nivel de AS de las consultas DNS.
  • Asegúrate de que tu resolución local no use ninguna dirección IP fuente de salida que utilice cualquier salida o no salida de Tor, porque no es raro que las direcciones IP de Tor estén bloqueadas (temporalmente) y el bloqueo de la dirección IP de origen de los servidores DNS puede tener un amplio impacto. Para no enlazar, puedes usar la opción outgoing-interface para especificar las direcciones IP de origen para contactar con otros servidores DNS.
  • Los grandes operadores de salida (>=100 Mbit/s) deben hacer un esfuerzo para monitorear y optimizar la tasa de tiempo de espera de resolución de DNS de Tor. Esto se puede lograr a través del exportador Prometheus de Tor (MetricsPort). La siguiente medida se puede usar para monitorear la tasa de tiempo de espera como lo ve Tor:
tor_relay_exit_dns_error_total{reason="timeout"} 0

Hay múltiples opciones para software de servidores DNS. Unbound se ha tornado popular, pero siéntete libre de usar cualquier otro con el que estés confortable. Al elegir tu software de resolución DNS, asegúrate que soporta validación DNSSEC y minimización QNAME (RFC7816). Instálalo con el gestor de paquetes de tu sistema operativo, para asegurarte que se actualiza automáticamente.

Al usar tu propia instancia de resolución DNS, eres menos vulnerable a la censura basada en ella, que puede ser impuesta por la instancia de resolución que está un nivel por encima del tuyo.

Debajo hay instrucciones sobre cómo instalar y configurar Unbound - un resolvedor que valida DNSSEC y hace cacheo - en tu repetidor de salida. Unbound tiene muchas perillas para configuración y sintonización, pero mantenemos estas instrucciones simples y cortas; la configuración básica andará bien para la mayoría de los operadores.

Después de conmutar a Unbound, verifica que funciona como se espera resolviendo un nombre de máquina válido. Si esto no funciona, puedes restaurar tu viejo archivo /etc/resolv.conf.

Debian/Ubuntu

Los siguientes comandos instalan unbound, hacen copia de respaldo de tu configuración DNS, y le dicen al sistema que use el resolvedor local:

# apt install unbound
# cp /etc/resolv.conf /etc/resolv.conf.backup
# echo nameserver 127.0.0.1 > /etc/resolv.conf

Para evitar cambios no deseados en la configuración (por ejemplo por el cliente DHCP):

# chattr +i /etc/resolv.conf

La configuración de Debian viene con minimización QNAME (RFC7816) habilitada por defecto, por lo que no necesitas hacerlo explícitamente. El resolvedor Unbound que instalaste recién también hace validación DNSSEC.

Si estás ejecutando systemd-resolved con su escuchador rudimentario, podrías necesitar hacer un poco más que solo eso. Por favor refiérete a la página del manual de resolved.conf.

CentOS/RHEL

Instala el paquete unbound:

# yum install unbound

Si estás usando una versión reciente de CentOS/RHEL, por favor usa dnf en vez de yum.

En /etc/unbound/unbound.conf reemplaza la línea:

  qname-minimisation: no

con

  qname-minimisation: yes

Habilita e inicia unbound:

# systemctl enable --now unbound

Dile al sistema que use el resolvedor local:

# cp /etc/resolv.conf /etc/resolv.conf.backup
# echo nameserver 127.0.0.1 > /etc/resolv.conf

Para evitar cambios no deseados en la configuración (por ejemplo por el cliente DHCP):

# chattr +i /etc/resolv.conf

Si estás ejecutando systemd-resolved con su escuchador rudimentario, podrías necesitar hacer un poco más que solo eso. Por favor refiérete a la página del manual de resolved.conf.

FreeBSD

FreeBSD viene con unbound en el sistema base, pero esta instancia sigue al primer nivel de resolución por encima tuyo más cercanamente, por lo que instalamos el paquete unbound:

# pkg install unbound

Reemplaza el contenido en /usr/local/etc/unbound/unbound.conf con las siguientes líneas:

server:
    verbosity: 1
    qname-minimisation: yes

Habilita e inicia el servicio unbound:

# sysrc unbound_enable=YES
# service unbound start

Dile al sistema que use el resolvedor local:

# cp /etc/resolv.conf /etc/resolv.conf.backup
# echo nameserver 127.0.0.1 > /etc/resolv.conf

Para evitar cambios no deseados en la configuración (por ejemplo por el cliente DHCP):

# chflags schg /etc/resolv.conf