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

IPv6 PPPoE MSS incorrect

IPv6
5
25
4.6k
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.
  • M
    msmith100 @viktor_g
    last edited by Feb 12, 2021, 6:13 PM

    @viktor_g @BM118 Bug report created as requested: https://redmine.pfsense.org/issues/11409

    1 Reply Last reply Reply Quote 0
    • B
      BM118 @viktor_g
      last edited by Feb 13, 2021, 1:59 AM

      @viktor_g this is 100% the problem. It’s applying 40 bytes no matter what from my quick check. If that value was updated to 60 bytes it would alleviate needing to set the MSS to 20bytes lower than MTU.

      However this is a workaround that would prevent people having to apply their own workaround, and the ideal fix would be to have different MSS applied based on IPv4 or IPv6. Mind you, I don’t know how how other vendors do it, or if they simply apply the standard 40 byte, and then change that to 60byte the moment IPv6 is enabled on the interface which achieves the same as the above.

      For others reading this, as a general rule, don’t ever disable TCP MSS adjust settings, in this age of the internet you will have problems somewhere at some point, even if you don’t see it straight away. Also keep in mind that adjusting MSS only affects TCP and not UDP, which is even more reliant on a correct MTU than TCP is.

      V 1 Reply Last reply Feb 13, 2021, 6:17 AM Reply Quote 0
      • B
        BM118 @msmith100
        last edited by Feb 13, 2021, 2:21 AM

        @msmith100 said in IPv6 PPPoE MSS incorrect:

        @viktor_g Thanks for looking into this.
        As I understand it, by default pfsense does not block any essential IPv6-related ICMP.

        Regarding point 1, in a sense yes it does. IPv6 requires certain ICMP messages to be sent back to the source of a connection, which is an inbound new connection from a firewalls perspective. Specifically “Packet Too Big” messages amongst a couple of others that are critical to IPv6 working properly. Firewalls deliberately will block these packets unless you allow them inbound on your Outside/WAN interface.

        IPv6 does not allow packets to be fragmented by intermediate routers like IPv4 does, and therefore the source will never know that the packet needs to be smaller to get through hop C when going from A to D if you don’t allow that packet inbound.
        In IPv4 land, router C could have fragmented it and the packet would get there but this causes scalability and efficiency issues in the internet in general.

        When using IPv6-test.com, it has a test to see if your are accepting ICMP messages or not, and even has a screen where it sends a constant ping against your IPv6 and IPv4 address which is very useful to see if ICMPv6 messages are making it all the way to your system.

        Hint: if they aren’t succeeding, check your local system firewall as well as the PFSense rules.

        M 1 Reply Last reply Feb 13, 2021, 6:17 AM Reply Quote 0
        • M
          msmith100 @BM118
          last edited by Feb 13, 2021, 6:17 AM

          @bm118 Looking through the raw rules in pfsense, I see this:

          pass quick inet6 proto ipv6-icmp all icmp6-type unreach keep state
          pass quick inet6 proto ipv6-icmp all icmp6-type toobig keep state
          pass quick inet6 proto ipv6-icmp all icmp6-type neighbrsol keep state
          pass quick inet6 proto ipv6-icmp all icmp6-type neighbradv keep state
          

          These are not anything I created, and I believe part of the default pfsense rules. If I understand them correctly, they mean that by default pfsense will pass along "packet too big" messages without issue. I also allow pings with one of my own rules, and I pass the IPv6-test.com tests no problem. Doesn't help me on other sites though, as I think some sites like yahoo.com don't do PMTUD properly. Even for sites that do, the delay while it figures out the proper size is very noticeable and undesirable.

          B 1 Reply Last reply Feb 14, 2021, 12:55 AM Reply Quote 0
          • V
            viktor_g Netgate @BM118
            last edited by Feb 13, 2021, 6:17 AM

            @bm118

            Could you test this patch: 135.diff

            You need to install System Patches pkg:
            https://docs.netgate.com/pfsense/en/latest/development/system-patches.html

            M B 2 Replies Last reply Feb 13, 2021, 6:45 AM Reply Quote 0
            • M
              msmith100 @viktor_g
              last edited by msmith100 Feb 13, 2021, 6:47 AM Feb 13, 2021, 6:45 AM

              @viktor_g Applied on 2.4.5 without issue and confirmed working on all my problem websites with 1492 entered as MSS into WAN configuration page.

              [2.4.5-RELEASE][root@pfSense]/root: pfctl -sr | grep mss
              scrub on pppoe0 inet all max-mss 1452 fragment reassemble
              scrub on pppoe0 inet6 all max-mss 1432 fragment reassemble
              

              Thank you very much!

              EDIT: May also want to update the description on the interfaces page:
              If a value is entered in this field, then MSS clamping for TCP connections to the value entered above minus 40 (TCP/IP header size) will be in effect.

              1 Reply Last reply Reply Quote 0
              • D
                dem
                last edited by Feb 13, 2021, 2:36 PM

                Perhaps slightly off topic, but my IPv6 is via 6rd over PPPoE and when I was having PMTUD issues what I did was patch the radvd config to advertise a lower MTU.

                V 1 Reply Last reply Feb 13, 2021, 2:52 PM Reply Quote 0
                • V
                  viktor_g Netgate @dem
                  last edited by Feb 13, 2021, 2:52 PM

                  @dem please try the updated patch with 6rd/6to4 support: 135 (1).diff

                  D 1 Reply Last reply Feb 13, 2021, 3:10 PM Reply Quote 0
                  • D
                    dem @viktor_g
                    last edited by Feb 13, 2021, 3:10 PM

                    @viktor_g Thanks, but I'm unable test with my production system right now.

                    1 Reply Last reply Reply Quote 0
                    • B
                      BM118 @msmith100
                      last edited by Feb 14, 2021, 12:55 AM

                      @msmith100 said in IPv6 PPPoE MSS incorrect:

                      @bm118 Looking through the raw rules in pfsense, I see this:

                      pass quick inet6 proto ipv6-icmp all icmp6-type unreach keep state
                      pass quick inet6 proto ipv6-icmp all icmp6-type toobig keep state
                      pass quick inet6 proto ipv6-icmp all icmp6-type neighbrsol keep state
                      pass quick inet6 proto ipv6-icmp all icmp6-type neighbradv keep state
                      

                      These are not anything I created, and I believe part of the default pfsense rules. If I understand them correctly, they mean that by default pfsense will pass along "packet too big" messages without issue. I also allow pings with one of my own rules, and I pass the IPv6-test.com tests no problem. Doesn't help me on other sites though, as I think some sites like yahoo.com don't do PMTUD properly. Even for sites that do, the delay while it figures out the proper size is very noticeable and undesirable.

                      Thanks for this, I actually wasn’t aware that PFSense had any rules for ICMPv6 built-in. I wouldn’t expect to see NeighbourSolicit and NeighbourAdvertise through a WAN interface though, however to the interface may be another thing. I believe there are some types missing from that list that are commonly accepted to be essential.

                      I would recommend having a look through this article if you are so inclined as it details a bit about the types of messages that must be allowed, generally should be allowed and ones that don’t matter.

                      https://tools.ietf.org/html/rfc4890#page-14

                      J V 2 Replies Last reply Feb 14, 2021, 2:31 AM Reply Quote 0
                      • J
                        JKnott @BM118
                        last edited by Feb 14, 2021, 2:31 AM

                        @bm118 said in IPv6 PPPoE MSS incorrect:

                        I wouldn’t expect to see NeighbourSolicit and NeighbourAdvertise through a WAN interface though

                        I certainly see them here. IPv6 can't work without them.

                        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...

                        B 1 Reply Last reply Feb 14, 2021, 8:56 AM Reply Quote 0
                        • V
                          viktor_g Netgate @BM118
                          last edited by Feb 14, 2021, 6:45 AM

                          @bm118 see https://redmine.pfsense.org/issues/9167

                          1 Reply Last reply Reply Quote 0
                          • B
                            BM118 @JKnott
                            last edited by Feb 14, 2021, 8:56 AM

                            @jknott said in IPv6 PPPoE MSS incorrect:

                            @bm118 said in IPv6 PPPoE MSS incorrect:

                            I wouldn’t expect to see NeighbourSolicit and NeighbourAdvertise through a WAN interface though

                            I certainly see them here. IPv6 can't work without them.

                            I might be going on a tangent here, and while I 100% agree you need NS and NA for IPv6 to work, I still don't believe that the packets need to be allowed to transit through the WAN interface or any L3 interface for that matter. Should the packets be allowed to the interface of the Firewall, and to the Multicast address block, sure, but I don't see why they need to be allowed through them.

                            In the grand scheme of things, a routed NS/NA will likely be dropped anyway.

                            NS and NA messages are purely for local link management, and as such if you have an L2/Bridge setup then it makes sense to allow them through the interface.

                            1 Reply Last reply Reply Quote 0
                            • B
                              BM118 @viktor_g
                              last edited by Feb 14, 2021, 8:59 AM

                              @viktor_g said in IPv6 PPPoE MSS incorrect:

                              @bm118

                              Could you test this patch: 135.diff

                              You need to install System Patches pkg:
                              https://docs.netgate.com/pfsense/en/latest/development/system-patches.html

                              Works a treat, thank you very much!

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