Iperf not working between client and pfsense (server)



  • So I installed the iperf package on my pfsense server (pf1) and verified that it uses iperf v2.0.9. I installed the same package on another pfense server (pf2) located on another location. I ran iperf as a server on pf1, configured iperf to run as a client on pf2 and connect to pf1 to measure the bandwidth. Everything worked out just fine.

    I then downloaded the iperf v2.0.9 for Windows binaries so that I can run it as a client on a client machine in the same network/location as pf1. I run the iperf package again on pf1 manually in shell (iperf -s) so that I can see client connections. I opened command prompt in the client machine to run iperf, invoked "iperf -c <pfsense lan="" ip="">" and hit Enter. Nothing happens and it just returns to the prompt. There is also no output in the pfsense shell.

    When I try to invoke "telnet <pfsense lan="" ip="">5001" from the same command prompt, it successfully connects and I see an output in the pfsense shell. I've added iperf.exe in the Windows Firewall to make sure that no outgoing connections from it are blocked and still a no go.

    Any thoughts?</pfsense></pfsense>


  • Rebel Alliance Global Moderator

    So this client running iperf is on the actual lan of pfsense?

    Do a simple sniff (diag, packet capture) on pfsense lan, and try to connect from your client box running iperf.. Do you see the packets? If not then you have something blocking it on the client machine (software firewall) or something in the path between pfsense and the client blocking it.

    edit:
    I like to be current, so I just installed the current iperf 3.1.7 from the freebsd repository.  Seems the pfsense has 3.14.. anyway.. I don't show any issues connecting to iperf from lan client.

    [2.3.3-RELEASE][root@pfsense.local.lan]/tmp: iperf3 -s
    –---------------------------------------------------------
    Server listening on 5201

    Accepted connection from 192.168.9.7, port 37568
    [  5] local 192.168.9.253 port 5201 connected to 192.168.9.7 port 37570

    Iperf3 listens and uses 5201 vs 5001.  Maybe your windows client is actually iperf3 version and your server is the old 2.0.9..

    Have to post for pfsense to update their repository for current stuff ;)



  • @johnpoz:

    So this client running iperf is on the actual lan of pfsense?

    Do a simple sniff (diag, packet capture) on pfsense lan, and try to connect from your client box running iperf.. Do you see the packets? If not then you have something blocking it on the client machine (software firewall) or something in the path between pfsense and the client blocking it.

    edit:
    I like to be current, so I just installed the current iperf 3.1.7 from the freebsd repository.  Seems the pfsense has 3.14.. anyway.. I don't show any issues connecting to iperf from lan client.

    [2.3.3-RELEASE][root@pfsense.local.lan]/tmp: iperf3 -s
    –---------------------------------------------------------
    Server listening on 5201

    Accepted connection from 192.168.9.7, port 37568
    [  5] local 192.168.9.253 port 5201 connected to 192.168.9.7 port 37570

    Iperf3 listens and uses 5201 vs 5001.  Maybe your windows client is actually iperf3 version and your server is the old 2.0.9..

    Have to post for pfsense to update their repository for current stuff ;)

    Correct, the actual client is on the LAN of pfsense.

    Yeah, let me do a packet capture and check. It could be the Trend Micro Antivirus Security that causes it too so I'll concentrate on that.

    Oh, believe me I also want to keep things always updated. Initially, I downloaded iperf3 for Windows but realized that the version included in the pfsense iperf package is v2.0.9 so I had to download the iperf for Windows with the same version. So, I'm sure they're of the same version :)

    Yes, please have them update their repository, it's always one step behind (which I guess is normal).


  • Rebel Alliance Global Moderator

    Nice to see freebsd having 3.17 of iperf, but there was not real change from 3.1.6 - .7 was just some typo/doc changes nothing operational.

    If you want the current windows version I compile a new version when it comes out and make it open to the public internet.