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

    pfsense and IPv6 default behavior

    Scheduled Pinned Locked Moved IPv6
    32 Posts 5 Posters 4.4k 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.
    • JKnottJ
      JKnott @lohphat
      last edited by

      @lohphat said in pfsense and IPv6 default behavior:

      @johnpoz Isn't avahi/zeroconf/bonjour a form of mDNS for auto-enumeration of local hostnames?

      Not wanting to get into the weeds, this is my point of my original issue: IPv6 default behavior is not well documented. multicast/broadcast needs to work for IPv6 and when you see blocked link local traffic to broadcast destinations raises questions. If it's blocking that, is it also interfering in other multicast group operations too?

      First off, there's no such thing as broadcasts in IPv6, only multicasts. The closest thing to broadcasts in IPv6 is all hosts multicast. Then, with multicasts, there's the issue of scope, that is how far the multicast is supposed to travel. That could be as limited as an interface, the local network is commonly used and somewhere beyond a router. I mentioned router advertisements (RAs) in another note. If you watch a network with Packet Capture, you will see RAs from the router, from the router link local address to the all hosts multicast address etc. So, you'll have to consider what the multicast will be used for, it's scope, routeable vs link local addresses, etc.

      PfSense running on Qotom mini PC
      i5 CPU, 4 GB memory, 32 GB SSD & 4 Intel Gb Ethernet ports.
      UniFi AC-Lite access point

      I haven't lost my mind. It's around here...somewhere...

      1 Reply Last reply Reply Quote 0
      • JKnottJ
        JKnott @johnpoz
        last edited by

        @johnpoz said in pfsense and IPv6 default behavior:

        If you want to learn about IPv6 there are many a resource for that...

        I recommend IPv6 Essentials.

        Broadcast/multicast traffic isn't going anywhere - why should it be allowed.

        No such thing as broadcast on IPv6. Multicast might be passed by a router, depending on scope.

        PfSense running on Qotom mini PC
        i5 CPU, 4 GB memory, 32 GB SSD & 4 Intel Gb Ethernet ports.
        UniFi AC-Lite access point

        I haven't lost my mind. It's around here...somewhere...

        lohphatL 1 Reply Last reply Reply Quote 0
        • lohphatL
          lohphat @JKnott
          last edited by

          @JKnott I understand that. My question is why are Layer 2 packets used for IPv6 housekeeping making it into the logs in the first place? Either they're all handed properly as part of the protocol spec or they're blocked and not processed. Thus the confusion caused by layer 2 housekeeping showing up. If it's not going to be processed by the definition of link local, then why log it?

          SG-3100 24.11-RELEASE (arm) | Avahi (2.2_6) | ntopng (5.6.0_1) | openvpn-client-export (1.9.5) | pfBlockerNG-devel (3.2.1_20) | System_Patches (2.2.20_1)

          JKnottJ 1 Reply Last reply Reply Quote 0
          • lohphatL
            lohphat @JKnott
            last edited by

            @JKnott I apologize for using "broadcast" I was referring to the all hosts multicast address. Old habits die hard. ;-)

            SG-3100 24.11-RELEASE (arm) | Avahi (2.2_6) | ntopng (5.6.0_1) | openvpn-client-export (1.9.5) | pfBlockerNG-devel (3.2.1_20) | System_Patches (2.2.20_1)

            1 Reply Last reply Reply Quote 0
            • JKnottJ
              JKnott @lohphat
              last edited by

              @lohphat said in pfsense and IPv6 default behavior:

              My question is why are Layer 2 packets used for IPv6 housekeeping making it into the logs in the first place?

              Layer 2 is Ethernet. I thought we were talking about IPv6, which is L3. Even link local addresses are L3. Perhaps this is where some of your confusion is coming from.

              PfSense running on Qotom mini PC
              i5 CPU, 4 GB memory, 32 GB SSD & 4 Intel Gb Ethernet ports.
              UniFi AC-Lite access point

              I haven't lost my mind. It's around here...somewhere...

              lohphatL 1 Reply Last reply Reply Quote 1
              • lohphatL
                lohphat @JKnott
                last edited by

                @JKnott Yes, probably. With IPv6 the reserved multicast address member management packets are link local too (IGMP, etc.) so why aren't those packets showing up in the firewall logs but the mDNS packets are?

                SG-3100 24.11-RELEASE (arm) | Avahi (2.2_6) | ntopng (5.6.0_1) | openvpn-client-export (1.9.5) | pfBlockerNG-devel (3.2.1_20) | System_Patches (2.2.20_1)

                1 Reply Last reply Reply Quote 0
                • johnpozJ
                  johnpoz LAYER 8 Global Moderator
                  last edited by johnpoz

                  I knew you would call me out on the "broadcast" term ;) My bad yes - bad habit I do need to break, and yes you are correct the term is not correct in relation to ipv6.. But its the same sort of thing in use ;)

                  An intelligent man is sometimes forced to be drunk to spend time with his fools
                  If you get confused: Listen to the Music Play
                  Please don't Chat/PM me for help, unless mod related
                  SG-4860 24.11 | Lab VMs 2.7.2, 24.11

                  1 Reply Last reply Reply Quote 0
                  • IsaacFLI
                    IsaacFL @lohphat
                    last edited by

                    @lohphat

                    pfsense by default blocks everything that isn't explicitly passed.

                    The more correct way would be to have a rule that passes "any" to "multicast". I use ff00::/8 as multicast.

                    The reason is that you will see multicast coming from your local ipv6 addresses and link local addresses both.

                    You have to have a rule to pass multicast, if you are using Avahi for instance. The Avahi service inside pfsense will never see the mDNS traffic via ipv6 otherwise.

                    1 Reply Last reply Reply Quote 0
                    • IsaacFLI
                      IsaacFL @johnpoz
                      last edited by

                      @johnpoz said in pfsense and IPv6 default behavior:

                      @lohphat said in pfsense and IPv6 default behavior:

                      I've had to add an IPv6(any) fe80::/10(from) any(to) to the LAN firewall rules to handle basic multicast traffic which is required for basic IPv6 operation

                      Where did you get idea that you had to add that?

                      And that is link-local space, multicast space would be ff00::/8

                      If you don't have a rule to allow "any" to "multicast", then Avahi will not work on ipv6.

                      You can verify it with wireshark. If you have no rule to pass the multicast, you will see devices asking for devices via mDNS, but no response from the router on ipv6 so it falls back to ipv4. If you pass the multicast then you will see the router respond via ipv6.

                      With no ipv6 rule Avahi never receives the packet to process it. The reason Avahi seems to works is many people have a rule that passes "LAN net" to "any" which allows ipv4 multicast, but ipv6 link local is not part of "LAN net" so it gets blocked.

                      lohphatL 1 Reply Last reply Reply Quote 0
                      • johnpozJ
                        johnpoz LAYER 8 Global Moderator
                        last edited by

                        @IsaacFL said in pfsense and IPv6 default behavior:

                        if you are using Avahi for instance

                        Which is not default setup.. So yes if you are adding new services that pfsense to do - then yes you might have to adjust the rules..

                        An intelligent man is sometimes forced to be drunk to spend time with his fools
                        If you get confused: Listen to the Music Play
                        Please don't Chat/PM me for help, unless mod related
                        SG-4860 24.11 | Lab VMs 2.7.2, 24.11

                        1 Reply Last reply Reply Quote 0
                        • lohphatL
                          lohphat @IsaacFL
                          last edited by lohphat

                          @IsaacFL This is my original point about pfSense's base config not supporting multicast by default. IPv6 relies on multicast for basic operations (e.g. enumerating the all hosts group) -- why should anyone need to manually enable rules for IPv6 multicast?

                          SG-3100 24.11-RELEASE (arm) | Avahi (2.2_6) | ntopng (5.6.0_1) | openvpn-client-export (1.9.5) | pfBlockerNG-devel (3.2.1_20) | System_Patches (2.2.20_1)

                          1 Reply Last reply Reply Quote 0
                          • johnpozJ
                            johnpoz LAYER 8 Global Moderator
                            last edited by

                            because pfsense doesn't do anything with ipv6 multicast out of the box..

                            An intelligent man is sometimes forced to be drunk to spend time with his fools
                            If you get confused: Listen to the Music Play
                            Please don't Chat/PM me for help, unless mod related
                            SG-4860 24.11 | Lab VMs 2.7.2, 24.11

                            IsaacFLI 1 Reply Last reply Reply Quote 0
                            • JeGrJ
                              JeGr LAYER 8 Moderator
                              last edited by

                              And it doesn't have to - per default. We're running an IPv6 enabled dualstacked hosting setup for years now without needing that. Only time I had to actually pass in multicast traffic was for allowing downstream core switch to talk OSPF with the firewall via FRR, and that was necessary for IP4 & IP6. Besides that, nothing comes to mind, that absolutely needs multicast to pass a firewall with IPv6?

                              Don't forget to upvote 👍 those who kindly offered their time and brainpower to help you!

                              If you're interested, I'm available to discuss details of German-speaking paid support (for companies) if needed.

                              lohphatL IsaacFLI 2 Replies Last reply Reply Quote 0
                              • lohphatL
                                lohphat @JeGr
                                last edited by

                                @JeGr One of the befits of IPv6 is that it finally fixes multicast to enable realtime media streaming from non-local sources to reduce bandwidth needs consumed by unicast.

                                IPTV is one such solution where each channel is it's own multicast channel. http://www.klicktv.co.uk/iptv-multicasting

                                SG-3100 24.11-RELEASE (arm) | Avahi (2.2_6) | ntopng (5.6.0_1) | openvpn-client-export (1.9.5) | pfBlockerNG-devel (3.2.1_20) | System_Patches (2.2.20_1)

                                1 Reply Last reply Reply Quote 0
                                • IsaacFLI
                                  IsaacFL @JeGr
                                  last edited by

                                  @JeGr said in pfsense and IPv6 default behavior:

                                  And it doesn't have to - per default. We're running an IPv6 enabled dualstacked hosting setup for years now without needing that. Only time I had to actually pass in multicast traffic was for allowing downstream core switch to talk OSPF with the firewall via FRR, and that was necessary for IP4 & IP6. Besides that, nothing comes to mind, that absolutely needs multicast to pass a firewall with IPv6?

                                  If you turn off ipv4 you will find that some some services may not function correctly without a rule passing multicast into the router. Your dual stack lets it fall back on ipv4.

                                  1 Reply Last reply Reply Quote 1
                                  • IsaacFLI
                                    IsaacFL @johnpoz
                                    last edited by

                                    @johnpoz said in pfsense and IPv6 default behavior:

                                    because pfsense doesn't do anything with ipv6 multicast out of the box..

                                    Not correct. The routing in ipv6 uses multicast and there are some built in rules to pass them in. There are also some that have been missed and are getting blocked that shouldn’t be

                                    I know of at least one bug that I submitted that is being fixed in 2.5

                                    If you add a pass rule to multicast it fixes it in meantime.

                                    lohphatL 1 Reply Last reply Reply Quote 0
                                    • lohphatL
                                      lohphat @IsaacFL
                                      last edited by

                                      @IsaacFL This is my point, thanks. There are basic IPv6 functionality which is partially taken care of by default hidden rules and others which need manual intervention. This needs to be cleaned up and or clarified. WAN and LAN segments need to handle link local traffic properly (as an example) for both routing (OSPF broadcasts), ICMP, IGMP, etc. so that basic IPv6 functionality isn't broken due to incomplete/inconsistent/poorly documented defaults.

                                      In another pointless rant of mine =), all pfSense settings should have the default setting called out in the setting description. Currently it's very inconsistent.

                                      SG-3100 24.11-RELEASE (arm) | Avahi (2.2_6) | ntopng (5.6.0_1) | openvpn-client-export (1.9.5) | pfBlockerNG-devel (3.2.1_20) | System_Patches (2.2.20_1)

                                      IsaacFLI 1 Reply Last reply Reply Quote 0
                                      • IsaacFLI
                                        IsaacFL @lohphat
                                        last edited by

                                        @lohphat said in pfsense and IPv6 default behavior:

                                        @IsaacFL This is my point, thanks. There are basic IPv6 functionality which is partially taken care of by default hidden rules and others which need manual intervention. This needs to be cleaned up and or clarified. WAN and LAN segments need to handle link local traffic properly (as an example) for both routing (OSPF broadcasts), ICMP, IGMP, etc. so that basic IPv6 functionality isn't broken due to incomplete/inconsistent/poorly documented defaults.

                                        In another pointless rant of mine =), all pfSense settings should have the default setting called out in the setting description. Currently it's very inconsistent.

                                        I think the philosophy of pfSense is that by default everything is rejected. There are some exceptions for some of the internal functions, ie DHCP etc. but for the most part you are expected to explicitly pass via a firewall rule.

                                        That way the end user has complete control which means they can also shoot themselves in the foot.

                                        lohphatL 1 Reply Last reply Reply Quote 0
                                        • lohphatL
                                          lohphat @IsaacFL
                                          last edited by

                                          @IsaacFL I understand that and agree however multicast is intrinsic to IPv6 not optional with IPv4. IPv6 internal consistency of multicast groups replacing broadcast and other functionality means that it should either be enabled fully or a clear, clean setting to enable multimedia multicast. The separation of some things into hidden (supporting host, routing, and service groups) vs. explicit rules (to support media streaming and mDNS) muddles the config process.

                                          SG-3100 24.11-RELEASE (arm) | Avahi (2.2_6) | ntopng (5.6.0_1) | openvpn-client-export (1.9.5) | pfBlockerNG-devel (3.2.1_20) | System_Patches (2.2.20_1)

                                          JKnottJ 1 Reply Last reply Reply Quote 0
                                          • JKnottJ
                                            JKnott @lohphat
                                            last edited by

                                            @lohphat said in pfsense and IPv6 default behavior:

                                            I understand that and agree however multicast is intrinsic to IPv6 not optional with IPv4. IPv6 internal consistency of multicast groups replacing broadcast and other functionality means that it should either be enabled fully or a clear, clean setting to enable multimedia multicast.

                                            For stuff directly on the LAN, multicast works fine and pfSense is not involved, except for it's own needs. It's only when you go beyond that you have to enable it. This is the same for every just about everything. By default, firewalls block everything coming in.

                                            PfSense running on Qotom mini PC
                                            i5 CPU, 4 GB memory, 32 GB SSD & 4 Intel Gb Ethernet ports.
                                            UniFi AC-Lite access point

                                            I haven't lost my mind. It's around here...somewhere...

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