Logo Neurocoda

Настройка Tailscale DERP без домена

Neurocoda
Neurocoda

#Tailscale #Ретрансляция #Проксирование

Развертывание Tailscale

Terminal window
curl -fsSL https://tailscale.com/install.sh | sh

Если Tailscale развернут через Docker, это может вызвать ошибки аутентификации при запуске Docker derper (кажется, из-за несоответствия условий межпроцессного взаимодействия: связь с tailscaled не удовлетворяет требованиям)

После установки с помощью скрипта выполните вход:

Terminal window
tailscale login

Развертывание Derper

Создайте docker-compose.yaml

services:
derper:
image: ghcr.io/yangchuansheng/ip_derper:latest
container_name: derper
restart: always
ports:
- "25425:25425" # Замените 25425 на желаемый порт выше 10000
- "3478:3478/udp" # 3478 - порт STUN, не меняйте, если нет конфликта
volumes:
- /var/run/tailscale/tailscaled.sock:/var/run/tailscale/tailscaled.sock # Подключает локальный сокет клиента Tailscale для проверки подключения, чтобы предотвратить кражу
environment:
- DERP_ADDR=:25425 # Должен совпадать с портом выше
- DERP_CERTS=/app/certs
- DERP_VERIFY_CLIENTS=true # Включить проверку клиентов, это важнейший параметр для защиты от кражи

Обратите внимание: в части сопоставления портов (12345:12345) вторая часть 12344 зависит от переменной среды DERP_ADDR.

Постоянные данные можно найти с помощью команды find / -name "tailscaled.sock".

После написания запустите контейнер с помощью docker-compose up -d.

Примечание: если ghcr.io/yangchuansheng/ip_derper:latest не работает, вы можете скомпилировать его самостоятельно с помощью Dockerfile. (Ссылка на проект)

Настройка консоли Tailscale

Перейдите в веб-консоль Tailscale, откройте редактор ACL и вставьте следующий текст.

"derpMap": {
"OmitDefaultRegions": false, // Можно установить true, чтобы не использовать официальные узлы derper; можно включить для тестирования или реального использования
"Regions": {
"900": {
"RegionID": 900, // Tailscale резервирует 900-999 для пользовательских derper
"RegionCode": "abc1",
"RegionName": "abcc1",// Эти два поля можно называть произвольно
"Nodes": [
{
"Name": "fff",
"RegionID": 900,
"IPv4": "1.1.1.1", // Публичный IP-адрес вашего VPS
"DERPPort": 12345, // Пользовательский порт, указанный выше (12345)
"InsecureForTests": true, // Поскольку используется самоподписанный сертификат, клиент не проверяет его
},
],
},
"901": {
"RegionID": 901, // При добавлении нового derp не забудьте изменить
"RegionCode": "abc2",
"RegionName": "abcc2",
"Nodes": [
{
"Name": "kkk",
"RegionID": 902,
"IPv4": "8.8.8.8", // Публичный IP-адрес вашего VPS
"DERPPort": 4000, // Пользовательский порт, указанный выше (12345)
"InsecureForTests": true, // Поскольку используется самоподписанный сертификат, клиент не проверяет его
},
],
},
},
},

Ссылка:
https://blog.sleepstars.net/archives/ji-yu-docker-compose

Title: Настройка Tailscale DERP без домена Author: Neurocoda Created at: 2026-07-03 12:50:01 Link: https://neurocoda.com/ru/posts/tailscale-derp-setup-without-domain-ru/ License: This work is licensed under CC BY-ND 4.0.

Comments