Skip to main content

Troubleshooting

Here we have tried to collect all possible problems that our users have encountered and describe their solutions. Most problems are related to network issues or the user environment.

tip

Many errors and problems may already be solved in the latest version of the client, so before diagnosing or contacting us or the community for help, make sure you have the latest version of the client installed. Update instructions are available here.

Self-diagnosis of network availability

If you get errors when creating a tunnel, run the tuna diagnose command to get diagnostic information; the report will help you better understand where exactly the problem is.

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]

As a rule, tuna uses port 443 to connect to nodes when creating a tunnel. If the TCP connectivity checks fail, check whether there is a firewall that may be restricting connections.

Common errors

Tunnel limit reached

If you see the error Tunnel limit reached, although you know that this is not actually the case, it may also mean that there is a hung active tunnel. Delete the hung tunnel in the tunnel management panel and update the tuna client.

Tunnel already active

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

This Tunnel already active error means that the tunnel already exists, possibly hung, or running somewhere in the background.

tip

The reconnect issue is fixed in the clients

  • tuna-cli v0.28.0
  • tuna-desktop v0.2.0

Testing tunnel speed

If you need to estimate the throughput of a tunnel, the methods for testing HTTP and TCP tunnels are described below.

info

We do not impose any restrictions on the data transfer rate through tunnels. The resulting speed depends on the bandwidth of your internet channel and network latencies on the route: from the end user to the node through which the tunnel is built, and from the node to the Tuna client.

For testing, you will need a file of sufficient size. You can pre-download an ISO image from the Yandex mirror, for example Ubuntu Server:

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

HTTP tunnels

Download speed (download from client)

Start the built-in file server, specifying the directory with the test file:

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

Where the path is the directory containing the previously downloaded file. After starting the tunnel, download the file from the resulting link using curl:

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

curl will show the download speed — that is the data download speed through the tunnel.

Upload speed (upload to client)

Start the built-in WebDAV server:

tuna http --webdav

Then upload the file through the tunnel to the machine where the Tuna client is running:

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

The upload speed shown by curl reflects the bandwidth of the tunnel in the direction of the client.

TCP tunnels

To test TCP tunnels, use the iperf3 utility.

Start the iperf3 server on the machine with the Tuna client and forward the port through a TCP tunnel:

iperf3 -s -p 5201
tuna tcp -p 5201

From another machine, connect to the tunnel:

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

Install iperf3 from your OS repository or download a prebuilt binary from the official site:

# 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