Установка Tor-сервера на VPS (Ubuntu/Debian) Печать

  • vps, debian, ubuntu, torserver, dedicated
  • 0

Подготовка VPS и переменные

# Обновления и базовые инструменты
sudo apt update && sudo apt -y full-upgrade
sudo apt install -y curl wget ca-certificates gnupg ufw lsb-release

# Переменные под один раз правку
export NICKNAME=HSTQRelay01
export CONTACT='[email protected] (https://hstq.net/)'
export ORPORT=9000 # порт Tor OR; избегайте 9001
export OBFS4PORT=443 # порт obfs4-моста (обычно 443/udp не нужен)
export DIST=$(lsb_release -sc) # bookworm / trixie / jammy / noble и т.д.

# Брандмауэр (UFW): откроем SSH и нужные порты
sudo ufw default deny incoming
sudo ufw default allow outgoing
sudo ufw allow 22/tcp comment 'SSH'
sudo ufw allow 80,443/tcp comment 'Web/ACME'
sudo ufw --force enable

Подключаем репозиторий Tor Project и ставим пакеты

 

Пакеты Tor из официального репозитория проекта обновляются быстрее дистрибутивных.

# Ключ репозитория Tor Project
wget -qO- https://deb.torproject.org/torproject.org/A3C4F0F979CAA22CDBA8F512EE8CBC9E886DDD89.asc \
| gpg --dearmor | sudo tee /usr/share/keyrings/deb.torproject.org-keyring.gpg >/dev/null

# Источник APT (Debian/Ubuntu; DIST подставится автоматически)
echo "deb [signed-by=/usr/share/keyrings/deb.torproject.org-keyring.gpg] \
https://deb.torproject.org/torproject.org ${DIST} main" | \
sudo tee /etc/apt/sources.list.d/tor.list >/dev/null

# Установка Tor, ключевого пакета репозитория, obfs4proxy и монитора nyx
sudo apt update
sudo apt install -y tor deb.torproject.org-keyring obfs4proxy nyx

Если пакеты для «самого нового» релиза Ubuntu ещё не выпущены в репозитории Tor, временно используйте предыдущий LTS-коднейм в tor.list или дождитесь сборок.

Вариант А — безопасный Relay (без выхода)

Создаём минимально строгий /etc/tor/torrc для middle/guard-релея. Он не пропускает трафик в «чистый» интернет (никаких exit-рисков).

sudo tee /etc/tor/torrc >/dev/null <<TORRC
############ Relay-only (no exit) ############
RunAsDaemon 1
SocksPort 0

ORPort ${ORPORT}
Nickname ${NICKNAME}
ContactInfo ${CONTACT}

# Жёстко запрещаем экзит
ExitRelay 0
ExitPolicy reject *:*

# Ограничения полосы (пример: 50 Мбит/с)
RelayBandwidthRate 50 MBytes
RelayBandwidthBurst 60 MBytes

# Учёт трафика по месяцу (опционально)
AccountingMax 2 TBytes
AccountingStart month 1 00:00

# Логи в системный журнал
Log notice syslog
TORRC

Запускаем и смотрим статус:

sudo systemctl enable --now tor@default
sudo systemctl status tor@default --no-pager

Для релея Tor достаточно открыть ORPort по TCP (выше мы не ограничивали UFW для него). При необходимости явно разрешите: sudo ufw allow ${ORPORT}/tcp.

Полезно: мониторинг nyx (как top для Tor):

nyx

(Пакет nyx — официальный консольный монитор релеев Tor.)


Вариант Б — obfs4-bridge (маскировка для клиентов)

Этот вариант нужен в сетях с цензурой/ DPI. Мы поднимем obfs4-мост: он не является экзит-узлом и не несёт рисков «выходного» трафика.

Файл /etc/tor/torrc:

sudo tee /etc/tor/torrc >/dev/null <<TORRC
############ Obfs4 Bridge ############
RunAsDaemon 1

# Включаем роль моста
BridgeRelay 1

# Основной OR-порт (должен быть доступен извне)
ORPort ${ORPORT}

# Транспорт obfs4
ServerTransportPlugin obfs4 exec /usr/bin/obfs4proxy
ServerTransportListenAddr obfs4 0.0.0.0:${OBFS4PORT}

Nickname ${NICKNAME}
ContactInfo ${CONTACT}

# Публиковать ли мост в публичных списках? Для приватного моста отключите:
# PublishServerDescriptor 0

# Логи
Log notice syslog
TORRC

Открываем нужные порты и перезапускаем:

sudo ufw allow ${ORPORT}/tcp
sudo ufw allow ${OBFS4PORT}/tcp
sudo systemctl restart tor@default
sudo systemctl status tor@default --no-pager

Получаем «бридж-линию» для раздачи пользователям:

sudo cat /var/lib/tor/fingerprint
sudo cat /var/lib/tor/pt_state/obfs4_bridgeline.txt

Строку вида Bridge obfs4 IP:PORT FINGERPRINT cert=... iat-mode=0 отправляйте клиентам — они вставят её в свой torrc/Tor Browser. (Именно так Tor рекомендует настраивать обфусцированный мост.)

4) Проверка, логи и обновления

Проверяем сетевые сокеты и статус:

ss -ltnp | grep -E ":${ORPORT}|:${OBFS4PORT}"
sudo journalctl -u tor@default -e --no-pager

Обновления Tor (регулярно):

sudo apt update && sudo apt -y upgrade

Раздельные конфиги «клиент/релей» на одном сервере (если нужно) делайте отдельными torrc и сервисами, отключив SocksPort в релейном конфиге.

 

5) Частые вопросы

Exit-узел можно?
Технически — да, но это другая операционная модель (abuse-обработка, ExitPolicy, разъяснения провайдеру, юридические нюансы). На VPS без согласования запускать не рекомендуем. Для релея/моста выше — безопасно: ExitRelay 0, ExitPolicy reject *:*.

Какой порт выбрать для OR/obfs4?
Любой «обычный» TCP-порт, не 9001 (часто сканируется фильтрами). 443 — хорош для obfs4.

Где смотреть свежие инструкции для Debian/Ubuntu и obfs4?
Официальные гайды Tor для Debian/Ubuntu и obfs4-мостов. (Мы уже применили их подходы в конфиге.)

Почему сервис называется tor@default?
В Debian/Ubuntu используется инстанс-юнит systemd tor@<instance>. Базовый — @default.

Нужен Tor-relay/obfs4-bridge под ключ и грамотная сеть? В HSTQ подберём VPS/сервер с нужной полосой, развернём Tor по best-practice, настроим мониторинг (nyx/метрики), лимиты трафика и резервные сценарии — без экзит-рисков и с учётом политики провайдера.


Помог ли вам данный ответ?

« Назад

Powered by WHMCompleteSolution


База знаний