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

    new if_pppoe Backend - getting HA/CARP to work like in MPD

    Scheduled Pinned Locked Moved Development
    54 Posts 4 Posters 4.6k Views 5 Watching
    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.
    • P Offline
      perrin @crl
      last edited by perrin

      @crl said in new if_pppoe Backend - getting HA/CARP to work like in MPD:

      ISP rejects authentication with Too many sessions. ISP is refusing a second PPPoE login because the old session from my master pfSense is still alive
      -Slave keeps retrying repeatedly but still no luck
      (I even waited for 2-3 minutes).

      Hi,
      the same applies to my ISP. I also get a denied login at first when the slave comes up. Only in my case the ISP times out the old master session within a few minutes allowing the slave to connect.

      Whenever the master fails "badly" it is unable to end the session cleanly and will always result in the slave not able to establish a connection for the first amount of time.

      @crl said in new if_pppoe Backend - getting HA/CARP to work like in MPD:

      So the slave's WAN is never up.

      I did not think about this case when designing the plugin cause from my understanding of PPPoE there is something called LCP keepalive which will time out a stale session at the ISP after some time. My ISP does that within seconds. Maybe your ISP has a quite lengthy setting of that timeout.

      You could try to set the same MAC address on both firewalls for the PPPoE interface and see if that helps. The session definitely is still in a different state but maybe it helps with your ISP.

      The most elegant solution however would be to syncronize the PPPoE session id, configuration values (IP addresses, gateways and so forth) between master and slave and have the slave pick up the current session. But that won't work without patching the if_pppoe itself which might be out of scope...

      w0wW C 2 Replies Last reply Reply Quote 0
      • w0wW Offline
        w0w @perrin
        last edited by

        @perrin
        How does your HA pair react if you put the master node into maintenance mode via Status → CARP → Enable Persistent Maintenance Mode (or whatever it’s called)?

        P 1 Reply Last reply Reply Quote 0
        • P Offline
          perrin @w0w
          last edited by

          @w0w Enabling the Maintenance Mode on the Master raises its skew thus transitioning MASTER to BACKUP. pppoe-ha picks up the backup state an disables the interface accoringly.

          Since i don't have a problem moving the PPPoE session, in my case the failover works as expected.

          Maybe @crl should try that and see

          a) if if_pppoe correctly closes the session on the master prior to disabling the interface and
          b) if his backup can correctly establish a new PPPoE session

          1 Reply Last reply Reply Quote 1
          • C Offline
            crl @perrin
            last edited by crl

            Please check it this workaround:
            Github Issue - ISP side 'Too many sessions' keeping backup pfsense's WAN down

            It solves only one use case:
            -OK: enter and leave carp maintenance mode on manual trigger

            -Solution requested: if a wan cable is pulled (between the wan switch and any of the pfsense devices) or if the pfsense machine is down:
            perform MASTER --> BACKUP transition and connect pppoe on the BACKUP. Should the MASTER come back again, it shall take back the MASTER role and pppoe-reconnect on the MASTER.

            C 1 Reply Last reply Reply Quote 1
            • C Offline
              crl @crl
              last edited by

              I tried to summarize what is going on during the switchover experiments. This is one example.

              2a61333b-245d-4e7b-8640-dfe047400ef5-image.png

              w0wW 1 Reply Last reply Reply Quote 1
              • w0wW Offline
                w0w @crl
                last edited by

                @crl
                This 2:20 looks familiar to me...
                @crl, @perrin do you both have dual stack pppoe?

                P 1 Reply Last reply Reply Quote 0
                • P Offline
                  perrin @w0w
                  last edited by perrin

                  @w0w said in new if_pppoe Backend - getting HA/CARP to work like in MPD:

                  @crl, @perrin do you both have dual stack pppoe?
                  In my case yes, dual stack v4 and V6

                  @crl said in new if_pppoe Backend - getting HA/CARP to work like in MPD:

                  I tried to summarize what is going on during the switchover experiments. This is one example.

                  2a61333b-245d-4e7b-8640-dfe047400ef5-image.png

                  Some of these issues might be related to configuration and or default behavior of pfSense (e.g. when pppoe fails and you're expecting a carp switch.)
                  Do these things work as expected when you are using the old time based scripts?

                  w0wW 1 Reply Last reply Reply Quote 0
                  • w0wW Offline
                    w0w @perrin
                    last edited by

                    @perrin

                    Yes, in my setup things work somewhat differently, as you noticed. There are at least a few reasons. Most importantly, every time PPPoE comes up, the VIPs get reconfigured and CARP reinitializes. I suspect this behavior is related to IPv6 and the fact that the LAN uses the Track Interface option to obtain its IPv6 address, but I’m not certain. I’m currently trying to track down the root cause—or perhaps it’s an “incompatible” configuration.

                    How does this behave on your side? As I understand it, bringing up PPPoE does not trigger VIP reconfiguration/CARP initialization for you, right?

                    P 1 Reply Last reply Reply Quote 0
                    • P Offline
                      perrin @w0w
                      last edited by

                      @w0w said in new if_pppoe Backend - getting HA/CARP to work like in MPD:

                      @perrin

                      How does this behave on your side? As I understand it, bringing up PPPoE does not trigger VIP reconfiguration/CARP initialization for you, right?

                      No, with my config no VIP reconfig takes place when PPPoE comes up. In my case PPPoE is running in a vlan from the provider side and I've added the carp VIP on the "physical" interface, so without a vlan tag. This only triggers when a firewall goes down or the interface goes down, which in my case is exactly what I am expecting it to do.

                      In my case I am running two Proxmox hosts each running a virtual pfSense, one being master one being slave.
                      The most common reason I need failover to happen is when we are rebooting one of the Proxmox hosts due to software upgrades. In this case the master pfSense would be shut down cleanly and the slave takes over all interfaces with the PPPoE being one of them.

                      w0wW 1 Reply Last reply Reply Quote 0
                      • w0wW Offline
                        w0w @perrin
                        last edited by

                        @perrin said in new if_pppoe Backend - getting HA/CARP to work like in MPD:

                        In my case I am running two Proxmox hosts each running a virtual pfSense, one being master one being slave.

                        I am running the same configuration. Looks like I have found something related to this VIP reconfiguration issue. I will do some tests and report back if I find anything else.

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