# Устранение неполадок

Здесь мы постарались собрать все возможные неполадки с которыми встречались наши пользователи и описать их решение. Большая часть проблем связана с сетевыми проблемами или пользовательским окружением.

> **Подсказка.** Многие ошибки и проблемы могут быть уже решены в последней версии клиента, поэтому прежде чем проводить диагностику или обращаться за помощью к [нам](mailto:info@tuna.am) или [сообществу](https://telegram.me/+Kgbtt0_gJwI5ZmEy), убедитесь, что у вас установлена последняя версия клиента. Инструкция по обновлению есть [тут](https://tuna.am/docs/guides/update.md).

## Самостоятельная диагностика сетевой доступности

Если у вас появляются ошибки при создании туннеля, выполните команду `tuna diagnose` для получения диагностической информации, отчет поможет лучше понять, где именно проблема.

```shell
Please wait, testing connectivity...

TLS connectivity:
  Google.com: ok [1.46189625s]
  Yandex.ru: ok [1.246520375s]
  tuna API: ok [1.484186875s]
DNS:
  api.tuna.am: alt-lb.tuna.am. → eu-lb.tuna.am. [147.45.149.16, 194.31.173.118]
  a.2na.am: edge-eu-a.2na.am. [2.28.136.177, 89.19.217.251]
TCP connectivity:
  tuna edge a 2.28.136.177:443: ok [41.53925ms]
  tuna edge a 89.19.217.251:443: ok [38.112708ms]
  tuna node DE node-1-de.2na.am:443: ok [52.81425ms]
  tuna node RU node-1-ru.2na.am:443: ok [34.079541ms]

```

Как правило, tuna использует порт `443` для подключения к нодам при создании туннеля. Если проверки `TCP connectivity` не проходят, проверьте нет ли фаервола который может ограничивать подключения. Список адресов для правил фаервола — в разделе [Работа tuna в корпоративной сети](https://tuna.am/docs/guides/corporate-network.md#firewall-addresses).

## Распространённые ошибки

### Subdomains unavailable for free plan

Ошибка при запуске с `--subdomain` на бесплатном тарифе. Без подписки работает только ваш [бесплатный постоянный поддомен](https://tuna.am/docs/tunnels/http.md#free-subdomain): другие имена, в том числе зарезервированные раньше по подписке, недоступны. Проверьте имя поддомена в [личном кабинете](https://my.tuna.am/domains) и что клиент авторизован вашим токеном, а не токеном другого аккаунта.

### Domain unavailable for free plan

То же для `--domain`: без подписки можно указать только свой бесплатный поддомен целиком, например `--domain=brave-otter-4821.ru.tuna.am`. Собственные домены и поддомены других пользователей доступны только по [подписке](https://tuna.am/#pricing).

### Tunnel limit reached

Если вы видите ошибку `Tunnel limit reached` (Исчерпан лимит по туннелям), хотя вы знаете, что на самом деле это не так, это может также означать, что есть зависший активный туннель. Удалите зависший туннель в [панели управления туннелями](https://my.tuna.am/tunnels) и обновите клиент tuna.

### Tunnel already active

```shell
ERRO[09:01:09] Failed to get connection settings: Tunnel already active
  Code: BadRequest
  Request ID: 2008cc71bdf725853748bb91d69c4669, retrying in 1s
ERRO[09:01:10] Failed to get connection settings: Tunnel already active
  Code: BadRequest
  Request ID: 0118213a8f8d341f002ec30ee1499768, retrying in 2s
ERRO[09:01:12] Failed to get connection settings: Tunnel already active
  Code: BadRequest
  Request ID: 608d043eb16376a619b671eb0d33dc0b, retrying in 4s

```

Данная ошибка `Tunnel already active` означают, что туннель уже существует, возможно он завис, или запущен у вас где-то в фоне.

> **Подсказка.** Проблема с переподключениями (reconnect) устранена клиентах
>
> * tuna-cli v0.28.0
> * tuna-desktop v0.2.0

## Тестирование скорости туннелей

Если вам нужно оценить пропускную способность туннеля, ниже описаны способы тестирования для HTTP и TCP туннелей.

> **К сведению.** Мы не накладываем никаких ограничений на скорость передачи данных через туннели. Итоговая скорость зависит от пропускной способности вашего интернет-канала и сетевых задержек на маршруте: от конечного пользователя до [ноды](https://tuna.am/docs/tunnels/guides/locations.md), через которую построен туннель, и от ноды до клиента Tuna.

Для тестов понадобится файл достаточного размера. Можно заранее скачать ISO-образ с зеркала Яндекса, например [Ubuntu Server](https://mirror.yandex.ru/ubuntu-releases/24.04/ubuntu-24.04.2-live-server-amd64.iso):

**Windows**

```powershell
curl.exe -L -o ubuntu-server.iso https://mirror.yandex.ru/ubuntu-releases/24.04/ubuntu-24.04.2-live-server-amd64.iso

```

**Unix**

```shell
curl -L -o ubuntu-server.iso https://mirror.yandex.ru/ubuntu-releases/24.04/ubuntu-24.04.2-live-server-amd64.iso

```

### HTTP туннели

#### Скорость отдачи (download с клиента)

Запустите встроенный файловый сервер, указав каталог с тестовым файлом:

**Windows**

```powershell
tuna http -f C:\path\to\directory

```

**Unix**

```shell
tuna http -f /path/to/directory

```

Где путь — каталог, в котором лежит скачанный ранее файл. После запуска туннеля скачайте файл по полученной ссылке с помощью `curl`:

**Windows**

```powershell
curl.exe -o NUL https://your-tunnel-url.tuna.am/ubuntu-server.iso

```

**Unix**

```shell
curl -o /dev/null https://your-tunnel-url.tuna.am/ubuntu-server.iso

```

`curl` покажет скорость скачивания — это и есть скорость отдачи данных через туннель.

#### Скорость загрузки (upload на клиент)

Запустите встроенный WebDAV-сервер:

```shell
tuna http --webdav

```

Затем загрузите файл через туннель на машину, где запущен клиент Tuna:

**Windows**

```powershell
curl.exe -T ubuntu-server.iso https://your-tunnel-url.tuna.am/ubuntu-server.iso

```

**Unix**

```shell
curl -T ubuntu-server.iso https://your-tunnel-url.tuna.am/ubuntu-server.iso

```

Скорость загрузки, которую покажет `curl`, отражает пропускную способность туннеля в направлении к клиенту.

### TCP туннели

Для тестирования TCP туннелей используйте утилиту [iperf3](https://iperf.fr/).

Запустите iperf3-сервер на машине с клиентом Tuna и пробросьте порт через TCP туннель:

```shell
iperf3 -s -p 5201
tuna tcp -p 5201

```

С другой машины подключитесь к туннелю:

```shell
iperf3 -c your-tunnel-host -p your-tunnel-port

```

Установите iperf3 из репозитория вашей ОС или скачайте готовую сборку с [официального сайта](https://iperf.fr/iperf-download.php):

```shell
# Windows (winget)
winget install ar51an.iPerf3

# macOS
brew install iperf3

# Debian / Ubuntu
sudo apt install iperf3

# RHEL / CentOS
sudo yum install iperf3

# Fedora
sudo dnf install iperf3

# openSUSE
sudo zypper install iperf3

# Arch Linux
sudo pacman -S iperf3

# ALT Linux
sudo apt-get install iperf3

# NixOS
nix-env -iA nixpkgs.iperf3

# FreeBSD
sudo pkg install iperf3

```
