Hi
i have two WG tunnel concentrated on one WG HUB (CHR 7.11.2)
today i tried to transfer 6MB file over TFTP between two tunnels and … i was disappointed
so, starting server is Debian
TFTP running with --blocksize=1468
on same switch, Debian → PC (1Gbps)
tftp> get wrt.bin
getting from 192.168.0.2:wrt.bin to wrt.bin [octet]
Received 6680152 bytes in 2.2 seconds [24464269 bit/s]
tftp> bin
mode set to octet
tftp> get wrt.bin
getting from 169.254.0.30:wrt.bin to wrt.bin [octet]
Received 6680152 bytes in 119.5 seconds [447207 bits/sec]
it is far from good
2sec → 36sec → 120sec
WG is running on public IPs, no nat, port fw and similar,
every link is at least 100Mbps, fiber
All WGs are MikroTiks 7.11.2
Using TFTP as speed benchmarking tool is … innovative
You really should use a well established tool, like iperf3 … run on devices with ample resources so that they are not bottleneck. As iperf3 allows to test both using UDP and TCP, this sometimes comes handy at diagnosing certain aspects of connection (e.g. large delay jitter which can affect TCP quite considerably while it doesn’t bother UDP so much). Iperf3 also allows to use multiple parallel TCP streams which can sometimes point at processing bottlenecks on routers (ROS is known to process single-connection process using same CPU core, when router has multiple not-so-fast cores the single-connection benchmarks can show pretty low results while multi-connection benchmarks show much higher results.
Also run profiler tool on router while running throughput test to identify potential processing bottlenecks.
The way you describe the problem it could be just anything.
@anav,
no, Debian → PC working fast, if you read my post, it is only 2sec between Debian and other PC on same switch
but, Debian → MKT_WG → MKT_WG is already 36sec
so, how could this be related to Debian ?
again, i am NOT measuring network speed
i need to use TFTP, no, not my idea
simply, i need to transfer bin files with TFTP from central TFTP server to many endpoints which is all Mikrotiks
I’m not questioning your urge to use TFTP. But I do see problems when using TFTP to argue about WG performance. Low app throughput can as well be due to increased latency … yes, WG does add latency, but most probably RTT between WG endpoints (measured over “plain” intetnet) is likely already much higher than inside LAN. So when pointing at particular implementation of WG it is necessary to rule out all other potential reasons for low performance. Which you didn’t (or so it seems).
Im no mtu guru, but I would ensure that both sides of any wireguard tunnel (in the wireguard settings) have the same MTU settings.
If there is an issue at the client MT router try this additional setting on the router itself. /ip firewall mangle
add action=change-mss chain=forward comment=“Clamp MSS to PMTU for Outgoing packets” new-mss=clamp-to-pmtu out-interface=wireguard1 passthrough=yes protocol=tcp tcp-flags=syn
hi @anav
yes, they are same
yes, i tried clamping, but clamping is for TCP, not UDP if i remember right …
so, as i see, only solution is to have independent TFTP servers at every remote locations and keep them synced with rsync …
whatever i tried, every L3 point in path will increase TFTP rtt and at the end, it will be unusable