Open steveej opened 7 months ago
Hey, Stefan.
The conflict here is likely that the implementation of rperf uses separate ports for each connection that carries data.
The forwarded port is sufficient for the control-session, but from your example, the server indicated that the port 43503
was to be used for data.
This can be constrained with the --tcp-port-pool
or --udp-port-pool
(or IPv6 variant) options, which may be necessary for your use-case.
Per-port forwarding or prioritisation is not an uncommon thing in environments where rperf is used, so using multiple ports (which also removes some process-level latenct) allows us to get a better idea of whether there are potential problems in production contexts.
what i did
locally, run
rperf -s -d
connect to a remote via SSH while setting up a reverse-port forwarding to rperf's default port:
on the remote, run
rperf -c 127.0.0.1
observe it fail (see all the logs)
client log
nmap sees the port as open on the client
server log