Netgate Discussion Forum
    • Categories
    • Recent
    • Tags
    • Popular
    • Users
    • Search
    • Register
    • Login

    Pfsense 2.1-release - Gateway aPinger broken?

    Scheduled Pinned Locked Moved Routing and Multi WAN
    39 Posts 24 Posters 21.1k Views
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • C Offline
      camlin
      last edited by

      The fix I submitted was accepted 13 days ago, however it was too late for it to make it in 2.1.3…

      So I suppose we will only see it on 2.1.4 and later.

      My fix improves the situation as before link monitoring would just not work at all with PPoE (and probably any kind of dynamically established links, so that would include VPNs). This means you can now see packet loss and latency on PPoE links (and I suspect VPN links too, although I haven't tried).

      Now, my fix still needs some work admittedly. I am still seeing some issues sometimes after a complete link loss. When the link comes back up it looks like pfSense calls the script way too early (at a stage where we don't even know the IP to monitor). It seems to be a timing issue as this only happens from time to time.

      It is easy to "fix" as once the link is established you just wait a few seconds and then have to stop/start the "apinger" service and it will then get the proper addresses.

      But it still means the solution won't be good enough to allow proper automated link failover...

      I am probably going to try and have a look at some point, but I suspect it is an issue that will be caused by something deep in the internals of pfSense. So could well be out of my league...

      1 Reply Last reply Reply Quote 0
      • Y Offline
        yaboc
        last edited by

        i have mutli wan set up with cable as WAN1 and PPPoE DSL as WAN2. my cable gateway is up and running but PPPoE is showing as Pending and restarting the apinger doesn't bring it up online. but im able to ping using DSL gateway. is this the problem that apinger is causing ?

        im on the 2.1.3

        1 Reply Last reply Reply Quote 0
        • P Offline
          pfSensible
          last edited by

          I ran into this problem for the first time.  I have WAN failover configured but not load balancing.  I rebooted one WAN modem and now the GW monitor just died and will not come back.

          It is configured to ping every 2 seconds

          pfSense_GW_group.PNG
          pfSense_GW_group.PNG_thumb

          The NSA is a terrorist organization that must be stopped.

          1 Reply Last reply Reply Quote 0
          • M Offline
            mukidu
            last edited by

            @krylou:

            @mukidu:

            Hi Guys,
            I am experiencing exactly the same issue, got 2 WANs configured for loadbalancing, but since the update I noticed that loadbalancing is not working anymore besides the fact that the 2nd WAN in marked as offline.
            I have also a tier 2 H3g connection set up on the loadbalancing, I noticed that pfsense is keeping it up even though both WANs are up and running….
            My broadband connections are both Pppoe.

            I'am planning to roolback to 2.0.3

            Bye

            What version you are using? Does anyone tried 2.1.3 version?

            I upgraded from 2.0.1 to 2.1.2, I also tried 2.1.3 but the issue is still there…

            1 Reply Last reply Reply Quote 0
            • P Offline
              pubmsu
              last edited by

              I am on 2.1.3 and I can confirm huge issue with apinger. My otherwise stable WANs are shown as "Pending" no matter what monitor IP I set. Even setting the gateway IP address one hop away causes the apinger to show the WAN as Pending and therefore exclude it from the gateway group, causing interruptions all the time.

              BTW, all of you who are experiencing this issue, is it the case that this is due to having traffic shaper configured? Or does it happen even without traffic shaper?

              This is a very core, basic function and must be fixed asap.

              1 Reply Last reply Reply Quote 0
              • B Offline
                BobDarnit
                last edited by

                Can anyone specify if apinger has been fixed yet… or if there is a good work around?  I've got two WANs, both static, and since upgrading to 2.1p1 it's needed the apinger service reset frequently.  I've got multiple other devices at other locations, DHCP and Static that have had to reset the apinger since the 2.1 upgrades started.

                Thanks for any help.

                Bob

                1 Reply Last reply Reply Quote 0
                • P Offline
                  pubmsu
                  last edited by

                  Hi Bob,

                  Please try the work around we used and got good result:

                  https://forum.pfsense.org/index.php?topic=78502.0

                  Thanks,
                  msu

                  1 Reply Last reply Reply Quote 0
                  • S Offline
                    saxd40
                    last edited by

                    There's definitely still a problem in 2.1.4 and since 2.1.5 just released and I know that they are still trying to figure out the problem, I'm assuming it is still an issue in 2.1.5.

                    I have this problem on ONE pfSense box with a flakey T1 (yes, they DO exist, but apparently only in Detroit).  I have never seen this on any other of my many pfSense installations.

                    They are aware of the issue and trying to figure it out.  I'm in communication with them and have given them access to the ONE firewall where I have this problem.

                    In the meantime, I'm going to create a CRON job to restart apinger service at given intervals.  BTW, this command will restart it:

                    /usr/local/sbin/pfSsh.php playback svc restart apinger

                    1 Reply Last reply Reply Quote 0
                    • N Offline
                      naras
                      last edited by

                      Yes, it's still there, hope it will disappear in 2.2.

                      1 Reply Last reply Reply Quote 0
                      • P Offline
                        pubmsu
                        last edited by

                        Please report it and discuss in the following 2.2 thread:

                        https://forum.pfsense.org/index.php?topic=78502

                        1 Reply Last reply Reply Quote 0
                        • N Offline
                          naras
                          last edited by

                          @pubmsu:

                          Please report it and discuss in the following 2.2 thread:

                          https://forum.pfsense.org/index.php?topic=78502

                          I already did.

                          1 Reply Last reply Reply Quote 0
                          • S Offline
                            Supermule Banned
                            last edited by

                            I have this Cron job running every 5 minutes and for now it has been running no isssues.

                            pkill /usr/local/sbin/apinger -c /var/etc/apinger.conf

                            It seems some sort of buffer is filled on WAN DHCP interfaces and it begins to "suffer".

                            I havent got any issues on static WAN interfaces.

                            1 Reply Last reply Reply Quote 0
                            • DerelictD Offline
                              Derelict LAYER 8 Netgate
                              last edited by

                              I just had to disable gateway monitoring on a pfSense in a datacenter because apinger started seeing 6% loss no matter what was going on.  Steady - every sample. 2.1.5 i386.

                              Chattanooga, Tennessee, USA
                              A comprehensive network diagram is worth 10,000 words and 15 conference calls.
                              DO NOT set a source address/port in a port forward or firewall rule unless you KNOW you need it!
                              Do Not Chat For Help! NO_WAN_EGRESS(TM)

                              1 Reply Last reply Reply Quote 0
                              • P Offline
                                pubmsu
                                last edited by

                                Please report it and discuss in the following 2.2 thread:

                                https://forum.pfsense.org/index.php?topic=78502

                                1 Reply Last reply Reply Quote 0
                                • H Offline
                                  hmh
                                  last edited by

                                  @krylou:

                                  I`ve found temporary solution - restarting apinger every 5 minutes.

                                  Open shell via putty

                                  Go to /usr/local/www
                                  and create file apinger.php with the following content:
                                  require_once("/etc/inc/service-utils.inc");
                                  require_once("/etc/inc/globals.inc");
                                  require_once("/etc/inc/vslb.inc");
                                  require_once("/etc/inc/gwlb.inc");

                                  service_control_restart(apinger,restartservice)
                                  ?>

                                  chmod 755 apinger.php

                                  To run it manually you can just open http://pfsense/apinger.php

                                  Then install cron package via pfsense UI and add new job:
                                  */5 * * * * /usr/local/bin/php /usr/local/www/apinger.php

                                  Little extended script:

                                  
                                  require_once("/etc/inc/service-utils.inc");
                                  require_once("/etc/inc/globals.inc");
                                  require_once("/etc/inc/gwlb.inc");
                                  
                                  $counter = 0;
                                  $a_gateways = return_gateways_array();
                                  $gateways_status = array();
                                  $gateways_status = return_gateways_status(true);
                                  
                                  foreach ($a_gateways as $gname => $gateway) {
                                  	if ($gateways_status[$gname]) {
                                  		$str_data = $gateways_status[$gname]['delay'];
                                  		$pos = substr($str_data,0,strpos($str_data, "ms"));
                                  		if (floatval($pos) > 500 ) {
                                  			$counter++;
                                  			#print_r($counter ." - ". $pos ."\r\n");
                                  		}	
                                  	}	
                                  }
                                  if ($counter > 0) {
                                  	service_control_restart(apinger,restartservice);
                                  }
                                  ?>
                                  
                                  
                                  1 Reply Last reply Reply Quote 0
                                  • ? Offline
                                    A Former User
                                    last edited by

                                    @hmh:

                                    Little extended script:

                                    
                                    require_once("/etc/inc/service-utils.inc");
                                    require_once("/etc/inc/globals.inc");
                                    require_once("/etc/inc/gwlb.inc");
                                    
                                    $counter = 0;
                                    $a_gateways = return_gateways_array();
                                    $gateways_status = array();
                                    $gateways_status = return_gateways_status(true);
                                    
                                    foreach ($a_gateways as $gname => $gateway) {
                                    	if ($gateways_status[$gname]) {
                                    		$str_data = $gateways_status[$gname]['delay'];
                                    		$pos = substr($str_data,0,strpos($str_data, "ms"));
                                    		if (floatval($pos) > 500 ) {
                                    			$counter++;
                                    			#print_r($counter ." - ". $pos ."\r\n");
                                    		}	
                                    	}	
                                    }
                                    if ($counter > 0) {
                                    	service_control_restart(apinger,restartservice);
                                    }
                                    ?>
                                    
                                    

                                    What does this do ?

                                    1 Reply Last reply Reply Quote 0
                                    • ? Offline
                                      A Former User
                                      last edited by

                                      btw. This:

                                      @krylou:

                                      I`ve found temporary solution - restarting apinger every 5 minutes.

                                      Open shell via putty

                                      Go to /usr/local/www
                                      and create file apinger.php with the following content:
                                      require_once("/etc/inc/service-utils.inc");
                                      require_once("/etc/inc/globals.inc");
                                      require_once("/etc/inc/vslb.inc");
                                      require_once("/etc/inc/gwlb.inc");

                                      service_control_restart(apinger,restartservice)
                                      ?>

                                      chmod 755 apinger.php

                                      To run it manually you can just open http://pfsense/apinger.php

                                      Then install cron package via pfsense UI and add new job:
                                      */5 * * * * /usr/local/bin/php /usr/local/www/apinger.php

                                      and this :

                                      @TechSavvySam:

                                      In the meantime, I'm going to create a CRON job to restart apinger service at given intervals.  BTW, this command will restart it:

                                      /usr/local/sbin/pfSsh.php playback svc restart apinger

                                      Both kill my RD Graphs. Is that just me ?

                                      1 Reply Last reply Reply Quote 0
                                      • K Offline
                                        kamran
                                        last edited by

                                        **Just disable NTPd  time sync daemon.

                                        apinger wil become stable.**

                                        1 Reply Last reply Reply Quote 0
                                        • D Offline
                                          David_W
                                          last edited by

                                          @kamran:

                                          **Just disable NTPd  time sync daemon.

                                          apinger wil become stable.**

                                          That might help if you're running pfSense in a VM, but the problems with apinger are nowhere near that simple to solve.

                                          apinger has been replaced by dpinger in pfSense 2.3. Though 2.3 is still in beta, the core functionality is now very stable and it has a lot of worthwhile enhancements and fixes over 2.2.x.

                                          Packages are still a mixed bag on 2.3 - some have been converted, some are available but haven't had a proper GUI conversion and others are not available at this point.

                                          If you want to try 2.3, I strongly recommend backing up your configuration and making sure you have working 2.2.6 install media to hand before upgrading. That way, you can revert easily to 2.2.6 if necessary.

                                          1 Reply Last reply Reply Quote 0
                                          • First post
                                            Last post
                                          Copyright 2025 Rubicon Communications LLC (Netgate). All rights reserved.