Iperf3 testing between zerotier members

I am new to zerotier and am trying to do some performance testing between two machines communicating via zerotier using iperf3. Machine A (client) is running Linux Mint and Machine B (server) is running Fedora. When I do an iperf3 test with both machines on my home network WiFi using the server’s zerotier IP, things work as expected:

$ iperf3 -c 10.147.19.1 -p 5001 
Connecting to host 10.147.19.1, port 5001
[  5] local 10.147.19.3 port 34420 connected to 10.147.19.1 port 5001
[ ID] Interval           Transfer     Bitrate         Retr  Cwnd
[  5]   0.00-1.00   sec  5.60 MBytes  47.0 Mbits/sec    3    201 KBytes       
[  5]   1.00-2.00   sec  5.85 MBytes  49.0 Mbits/sec    0    247 KBytes       
[  5]   2.00-3.00   sec  6.45 MBytes  54.1 Mbits/sec    0    271 KBytes       
[  5]   3.00-4.00   sec  4.82 MBytes  40.4 Mbits/sec    2    215 KBytes       
[  5]   4.00-5.00   sec  6.33 MBytes  53.1 Mbits/sec    0    255 KBytes       
[  5]   5.00-6.00   sec  4.82 MBytes  40.4 Mbits/sec    2    209 KBytes       
[  5]   6.00-7.00   sec  4.46 MBytes  37.4 Mbits/sec    0    247 KBytes       
[  5]   7.00-8.00   sec  6.33 MBytes  53.1 Mbits/sec    0    266 KBytes       
[  5]   8.00-9.00   sec  5.49 MBytes  46.0 Mbits/sec    2    201 KBytes       
[  5]   9.00-10.00  sec  5.18 MBytes  43.5 Mbits/sec    0    250 KBytes       
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bitrate         Retr
[  5]   0.00-10.00  sec  55.3 MBytes  46.4 Mbits/sec    9             sender
[  5]   0.00-10.02  sec  54.9 MBytes  45.9 Mbits/sec                  receiver

iperf Done.

When I disconnect the client from my home WiFi and connect to a public hotspot (server on my home LAN behind a NAT device + Firewall), the server doesn’t seem to be communicating back to the client after the test starts:

$ iperf3 -c 10.147.19.1 -p 5001 
Connecting to host 10.147.19.1, port 5001
[  5] local 10.147.19.3 port 50900 connected to 10.147.19.1 port 5001
[ ID] Interval           Transfer     Bitrate         Retr  Cwnd
[  5]   0.00-1.00   sec  85.9 KBytes   703 Kbits/sec    2   2.68 KBytes       
[  5]   1.00-2.00   sec  0.00 Bytes  0.00 bits/sec    1   2.68 KBytes       
[  5]   2.00-3.00   sec  0.00 Bytes  0.00 bits/sec    0   2.68 KBytes       
[  5]   3.00-4.00   sec  0.00 Bytes  0.00 bits/sec    1   2.68 KBytes       
[  5]   4.00-5.00   sec  0.00 Bytes  0.00 bits/sec    0   2.68 KBytes       
[  5]   5.00-6.00   sec  0.00 Bytes  0.00 bits/sec    0   2.68 KBytes       
[  5]   6.00-7.00   sec  0.00 Bytes  0.00 bits/sec    0   2.68 KBytes       
[  5]   7.00-8.00   sec  0.00 Bytes  0.00 bits/sec    1   2.68 KBytes       
[  5]   8.00-9.00   sec  0.00 Bytes  0.00 bits/sec    0   2.68 KBytes       
[  5]   9.00-10.00  sec  0.00 Bytes  0.00 bits/sec    0   2.68 KBytes       
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bitrate         Retr
[  5]   0.00-10.00  sec  85.9 KBytes  70.3 Kbits/sec    5             sender
[  5]   0.00-10.03  sec  0.00 Bytes  0.00 bits/sec                  receiver

iperf Done.

Machine A is not running Ubuntu Firewall and Machine B has firewalld port 5001 open for TCP. Does anyone know what is going on or have any bright ideas? Thanks.

Turns out this was an MTU issue. The default of 2800 for my zerotier device (as shown by ip) was too large. Changing the MTU size to 1300 fixed this issue for me. This can be changed network wide using the API.

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.