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

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

подсказка

Многие ошибки и проблемы могут быть уже решены в последней версии клиента, поэтому прежде чем проводить диагностику или обращаться за помощью к [нам](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]
  tuna NL location: ok [739.467083ms]
  tuna RU location: ok [597.777167ms]
TCP connectivity:
  tuna NL location: ok [75.757708ms]
  tuna RU location: ok [34.079541ms]

```

Как правило, tuna использует порт `443` для подключения к нодам при создании туннеля. Если проверки `TCP connectivity` не проходят, проверьте нет ли фаервола который может ограничивать подключения.

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

### 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

```
