Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add some troubleshooting steps #194

Merged
merged 1 commit into from
Sep 11, 2024
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
53 changes: 53 additions & 0 deletions docs/troubleshooting.md
Original file line number Diff line number Diff line change
Expand Up @@ -136,3 +136,56 @@ The new node ID will have be re-authorized on any networks, and the node's manag

- Delete peers.d too
- Start the service

## Troubleshooting Connection Issues

It can be a little tricky to figure out why something isn't working. We'll try to improve this. Unfortunately you need to use the [CLI](cli) to troubleshoot.

It's a peer to peer system, so we might need to check 2 or more nodes to deduce where the problem is.

Go through these steps and see [corporate firewalls](corporate-firewalls) and [Router Tips](routertips) for more explanation.

### Peers List

Check this command on both peers

`zerotier-cli peers`

If one device has many "RELAY" connections, it's having a hard time connecting to things.

If the connections to the PLANETs are RELAY, the node is having a very hard time. UDP traffic may be blocked.

### Status

`zerotier-cli info` it eventually says "RELAY" instead of "ONLINE" if UDP traffic is blocked.

### Checking for Symmetric NAT

`zerotier-cli info -j`

Look at the "listeningOn" and "surfaceAddresses". If the surfaceAddress list large is constantly growing for each node you `ping`, this node may be behind Symmetric NAT. Other devices will have a hard time connecting with it.
See [corporate firewalls](corporate-firewalls) for more info on Symmetric NAT.

Ideally there is 1 surface address for each listening address/port.

For a simplified example, if your computer only has 1 network interface and IP address, `listeningOn` will look like this:

```json
"listeningOn": [
"192.168.100.193/9993",
"192.168.100.193/55957",
"192.168.100.193/30431"
]
```

then the `surfaceAddresses` should have only 3 entries

```json
"surfaceAddresses": [
"198.51.100.9/24/9993",
"198.51.100.9/30431",
"198.51.100.9/2785"
],
```

Usually there is more going on in these entries and it can be hard to read. The output of `zerotier-cli dump` contains this information. If you send it to us, we can read it for you.