iperf -c 192.168.3.2 -i 2
connect failed: Connection refused
3.2 is another machine. I think the port might be blocked.
How can I make this work?
iperf -c 192.168.3.2 -i 2
connect failed: Connection refused
3.2 is another machine. I think the port might be blocked.
How can I make this work?
You also get a "connection refused" error when you use an iperf v3 client to send to an iperf v2 server.
The message is slightly different though:
iperf3: error - unable to connect to server: Connection refused
As the iperf3 doc states, they are not compatible (at least up to version 3.1.2). You can check the version on both server and client with
iperf -v
I doubt that this is a firewall issue. Usually, firewalls employ the DROP rule for packets that are not allowed. A "connection refused" means that there is no application listening on the port it tries to connect to. The destination host indicates this with a corresponding ICMP message to the source.
In order to run iperf you must have a server running on the machine which you iperf to. To do this run iperf -s
on the server. After that you can then run iperf -c <server IP or hostname> -i 2
After running this you will get an ouput that looks something like this:
------------------------------------------------------------
Client connecting to <server IP>, TCP port 5000
TCP window size: 256 KByte (default)
------------------------------------------------------------
[ 3] local 123.123.123.123 port 4000 connected with 123.123.123.123 port 5000
[ ID] Interval Transfer Bandwidth
[ 3] 0.0-10.0 sec 1.1 GBytes 1.09 Gbits/sec
You can use the -C
command line option to force both ends to use an older version of the protocol and this will prevent the error.
From the help output:
-C, --compatibility for use with older versions does not sent extra msgs
Try turning off any firewall on the machines. On many linux distros, you can do
service firewall off
to disable the firewall.