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

    New PPPoE backend, some feedback

    Scheduled Pinned Locked Moved Development
    242 Posts 19 Posters 41.0k Views 17 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.
    • A Offline
      azalea
      last edited by azalea

      I used an IPv6-only configuration in my first report. This configuration used pppoe0 and the WAN interface for IPv6.

      Below is the configuration for IPv4 and IPv6. This configuration uses pppoe0 and the WAN interface for IPv4, and pppoe1 and the OPT1 interface for IPv6.

      PPP Configuration
      
      [pppoe0]
      Link Type:PPPoE
      Link Interface(s):WAN port device (for example, em0)
      Username:username for IPv4
      Password:password for IPv4
      
      [pppoe1]
      Link Type:PPPoE
      Link Interface(s):WAN port device (for example, em0)
      Username:username for IPv6
      Password:password for IPv6
      
      Interface Assignments Configuration
      
      WAN Interface:PPPOE0(em0)
      LAN Interface:LAN port device (for example, em1)
      OPT1 Interface:PPPOE1(em0)
      
      WAN Interface Configuration
      
      [General Configuration]
      IPv4 Configuration Type:PPPoE
      IPv6 Configuration Type:None
      Others:blank
      
      [PPPoE Configuration]
      Username:username for IPv4
      Password:password for IPv4
      Others:blank or disabled
      
      [Reserved Networks]
      Block private networks and loopback addresses:checked
      Block bogon networks:checked
      
      LAN Interface Configuration
      
      [General Configuration]
      IPv4 Configuration Type:Static IPv4
      IPv6 Configuration Type:Track Interface
      Others:blank or default
      
      [Static IPv4 Configuration]
      IPv4 Address:192.168.0.254/24
      IPv4 Upstream gateway:Npne
      
      [Track IPv6 Interface]
      IPv6 Interface:OPT1
      IPv6 Prefix ID:0
      
      [Reserved Networks]
      Block private networks and loopback addresses:unchecked
      Block bogon networks:unchecked
      
      OPT1 Interface Configuration
      
      [General Configuration]
      IPv4 Configuration Type:PPPoE
      IPv6 Configuration Type:DHCP6
      Others:blank
      
      [DHCP6 Client Configuration]
      Use IPv4 connectivity as parent interface:checked
      Request only an IPv6 prefix:checked
      DHCPv6 Prefix Delegation size:56
      Others:unchecked
      
      [PPPoE Configuration]
      Username:username for IPv6
      Password:password for IPv6
      Others:blank or disabled
      
      [Reserved Networks]
      Block private networks and loopback addresses:checked
      Block bogon networks:checked
      
      Gateways Configuration
      
      [Default gateway]
      Default gateway IPv4:Automatic
      Default gateway IPv6:Automatic
      

      Although it is not related to the issue, there is a mismatch in wording.
      In the Gateways Status, the status of WAN_PPPOE is displayed as "Pending".
      In the Gateways Widget, the status of WAN_PPPOE is displayed as "Unknown".
      I think it would be better to align the expression to "Pending".

      1 Reply Last reply Reply Quote 0
      • stephenw10S Offline
        stephenw10 Netgate Administrator
        last edited by

        Hmm that's an interesting setup. I don't think I've ever seen that before. I assume it was working previously with mpd5/negraph?

        Can you say which ISP that is?

        1 Reply Last reply Reply Quote 0
        • A Offline
          azalea
          last edited by

          I assume it was working previously with mpd5/negraph?

          Yes, it is working with mpd5/negraph. And it is working with if_pppoe for IPv4, but not for IPv6.

          Can you say which ISP that is?

          ISP is "plala" in Japan. To be precise, it is a combination of a network enabler (NTT FLET'S) and an ISP (plala).

          The separation of IPv4 and IPv6 is a specification of "NTT FLET'S". The purpose of this specification is to allow users to choose between IPv4 and IPv6 ISPs separately. I choose plala for both IPv4 and IPv6.

          1 Reply Last reply Reply Quote 0
          • stephenw10S Offline
            stephenw10 Netgate Administrator
            last edited by

            Hmm, so I assume the IPv6 only pppoe connection does not have Use IPv4 connectivity as parent interface set?

            Do you see anything logged from the dhcp6c client?

            I suspect it never gets triggered if there is no IPv4 address ever set. 🤔

            1 Reply Last reply Reply Quote 0
            • A Offline
              azalea
              last edited by

              I suspect it never gets triggered if there is no IPv4 address ever set.

              PPP is a protocol that can support IPv4-only, IPv6-only, IPv4 and IPv6.

              Hmm, so I assume the IPv6 only pppoe connection does not have Use IPv4 connectivity as parent interface set?

              "Use IPv4 connectivity as parent interface" is required. However, for "IPv6 only pppoe connection", "Use IPv4 connectivity as parent interface" means "Use IPv6 connectivity as parent interface". Therefore, in the PPP configuration for "IPv4 connectivity", set the IPv6 username and IPv6 password.

              This PPP configuration is used to construct PPPoE tunnels for IPv6 and not to set IPv4 address. ("Use IPv4 connectivity" reminds you of IPv4 address settings, but that's not the case.)

              In fact, IPv6CP is accepted and IPCP is rejected in PPPoE negotiation, so IPv6 Link Local is set, PPPoE is connected, but IPv4 address is not set.

              Below is the PPP log where IPCP was rejected.

              PPP log
              
              mpd5:
              ppp 	23292 	[wan] IPCP: protocol was rejected by peer
              
              if_pppoe:
              if_pppoe: pppoe0: lcp input(opened): <proto-rej id=0x1 len=28
              if_pppoe: pppoe0: lcp: RXJ+ (proto-rej) for proto 0x8021 (ipcp/req-sent)
              

              For reference, there is information related to "Use IPv4 connectivity as parent interface".

              OPNsense (25.1 and later) has revised the architecture, and "IPv6 only pppoe connection" no longer requires "Use IPv4 connectivity as parent interface". "IPv6 only pppoe connection" is directly linked to a PPPoE connection.
              -> Restructure PPP to allow complex IPv6-only deployments with all implications

              Do you see anything logged from the dhcp6c client?

              Below is the log when using if_pppoe. There is no difference from mpd5.

              DHCP log
              
              Sep 4 04:16:24 	dhcp6c 	36830 	failed to open /usr/local/etc/dhcp6cctlkey: No such file or directory
              Sep 4 04:16:24 	dhcp6c 	36830 	failed initialize control message authentication
              Sep 4 04:16:24 	dhcp6c 	36830 	skip opening control port
              Sep 4 04:16:25 	dhcp6c 	36979 	Sending Solicit
              Sep 4 04:16:26 	dhcp6c 	36979 	Sending Request
              Sep 4 04:16:26 	dhcp6c 	36979 	dhcp6c Received REQUEST
              Sep 4 04:16:26 	dhcp6c 	36979 	add an address [IPv6 Address]/64 on em1
              

              I'll check the PPP log in debug mode, so please take a little time.

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

                @azalea
                This doesn’t look like a problem with PPPoE or DHCPv6 itself.
                It seems more like dpinger isn’t starting for some known reason. Your log shows that you successfully obtained an IPv6 address, so I assume that if you go to System → Routing, edit your IPv6 PPPoE gateway, and disable gateway monitoring, your IPv6 should work again. This looks similar to the issue described here: https://forum.netgate.com/topic/198627/struggling-to-get-if_pppoe-kernel-module-working

                1 Reply Last reply Reply Quote 0
                • stephenw10S Offline
                  stephenw10 Netgate Administrator
                  last edited by

                  Hmm, that dhcpv6 log looks like the client is being triggered and that it is pulling a lease. Is that not the case?

                  L 1 Reply Last reply Reply Quote 0
                  • L Offline
                    louis2 @stephenw10
                    last edited by

                    @stephenw10

                    Since the 'new pfSense versions', which in general are working OK, the status of my IPV6-gateway is shown as unkown. Which is not dramatic since IPV6 is working, but not OK as well.

                    I still hope it will be fixed.

                    e7f25342-cd78-471a-b4d8-f40d6b4a81b1-image.png

                    Note:
                    Running the latest pfSense+ version

                    P 1 Reply Last reply Reply Quote 0
                    • stephenw10S Offline
                      stephenw10 Netgate Administrator
                      last edited by

                      Yup there are more IPv6 fixes coming.

                      1 Reply Last reply Reply Quote 0
                      • P Offline
                        Phil2025 @louis2
                        last edited by

                        @louis2 Yes several of us are having this issue. A fix seems to be to go to: Status - Gateways - then click the recycle button to restart the Gateway service, it should then switch to online.

                        40cda19d-00df-4fb7-bfae-7a166768f3ee-image.png

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