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

    IPv6 No Gateway after 2.5 upgrade

    Scheduled Pinned Locked Moved IPv6
    97 Posts 27 Posters 27.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.
    • peteP
      pete @chicaneau
      last edited by pete

      I still have no ipv6 connectivity from any windows devices. ping6 in the pfsense shell is working for external addresses

      Initially iPFSense shell was the only way to ping6 IP6 addresses. Not my LAN devices. Then I set RA to the following and it worked.

      Try setting:

      Services / DHCPv6 Server & RA / LAN / Router Advertisements

      Stateless DHCP
      Will advertise this router with stateless autoconfig and other configuration information available via DHCPv6.

      I did this and see IP6 addresses from any LAN connected device and pass all IP6 testing from laptop / desktop. Here is an Ubuntu terminal window.

      root@ICS-IBM-T540P-0:/home/pete# ping6 2001:4860:4860::8888
      PING 2001:4860:4860::8888(2001:4860:4860::8888) 56 data bytes
      64 bytes from 2001:4860:4860::8888: icmp_seq=1 ttl=113 time=13.7 ms
      64 bytes from 2001:4860:4860::8888: icmp_seq=2 ttl=113 time=14.7 ms
      64 bytes from 2001:4860:4860::8888: icmp_seq=3 ttl=113 time=14.5 ms
      64 bytes from 2001:4860:4860::8888: icmp_seq=4 ttl=113 time=11.5 ms
      64 bytes from 2001:4860:4860::8888: icmp_seq=5 ttl=113 time=11.6 ms
      

      For Windows 10 it use ping or ping -6 in command prompt or power shell.

      Windows10.jpg

      • Pete

      Auto mater
      23.09.1-RELEASE (amd64)
      built on Mon Dec 11 12:24:00 CST 2023
      FreeBSD 14.0-CURRENT
      PFSense + Qotom - Master
      PFSense + Jetway - Backup
      PFSense + Jetway - Backup
      PFSense + Generic - Backup

      C 1 Reply Last reply Reply Quote 1
      • M
        mloiterman
        last edited by

        This is incredibly frustrating.

        I have changed and tried nearly every ipv6 setting in my 2.5 install and I cannot get it to route ipv6 at all.

        I have reinstalled 2.5 and migrated configuration and it just continues to give this error:

        There were error(s) loading the rules: /tmp/rules.debug:315: no routing address with matching address family found. - The line in question reads [315]: pass in quick on $LAN1_PRIMARY $GWDefault_Gateway_Group_ipv6 inet6 from xxx:xxx:xxx:xxx::/64 to any tracker 1436634070 keep state label "USER_RULE: LAN1 -> any Default IPv6"
        

        2.4.5 worked perfectly with this config.

        G MikeV7896M 2 Replies Last reply Reply Quote 0
        • G
          g.shaffer @mloiterman
          last edited by g.shaffer

          @mloiterman
          I've noticed some issues with the IPv6 routing tables, it doesn't look like routes are getting setup when you enable IPv6 on an interface. After setting up an interface, DHCPv6 and RA for the interface (VLAN), I've rebooted by FW and IPv6 routing starts working for clients on the VLAN. I've also had issues setting up interfaces as "Track Interface" and gone to Static IPv6 address allocations on my local network interfaces.

          1 Reply Last reply Reply Quote 0
          • C
            chicaneau @pete
            last edited by

            @pete This kind of works... I now have 2 IPv6 addresses and a temporary ipv6 address on my win10 device. But it still feels like the routing is broken. All pings fail, attempting to load any ipv6 site in the browser just falls back to ipv4

            https://ipv6-test.com/ completely fails.
            It really feels like a firewall or routing issue. I'm at a loss, cant believe how broken this is.

            G peteP 2 Replies Last reply Reply Quote 0
            • G
              g.shaffer @chicaneau
              last edited by g.shaffer

              @chicaneau

              Given how this issue cascades throughout the system - it breaks the gateway, routing, firewall rules, etc. I amazed that netgate doesn't appear to be looking at this. IPv6 was rock solid in 2.4.5-p1, seems to have been broken in 2.5.0!

              1 Reply Last reply Reply Quote 1
              • peteP
                pete @chicaneau
                last edited by

                @chicaneau

                Try this:

                1 - remove all of the IP6 related stuff on your WAN / LAN links.
                2 - TFTP to the /tmp directory and remove all related IP6 entries.
                3 - reboot PFSense and your modem
                4 - re-enable IP6 on WAN / LAN interfaces.

                See if that works.

                • Pete

                Auto mater
                23.09.1-RELEASE (amd64)
                built on Mon Dec 11 12:24:00 CST 2023
                FreeBSD 14.0-CURRENT
                PFSense + Qotom - Master
                PFSense + Jetway - Backup
                PFSense + Jetway - Backup
                PFSense + Generic - Backup

                C 1 Reply Last reply Reply Quote 0
                • C
                  chicaneau @pete
                  last edited by

                  @pete tried this. No difference. I’m on the cusp of giving up on this. Might need someone much smarter than me to resolve the underlying routing issues

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

                    I'm seeing similar behavior on SG-3100 21.02_1. Speculum (NYC)

                    I have to manually specify a monitoring IPv6 address (or disable monitoring and assume it's up).

                    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_5)

                    1 Reply Last reply Reply Quote 0
                    • MikeV7896M
                      MikeV7896 @mloiterman
                      last edited by

                      @mloiterman If you're routing with rules, that's another effect of this gateway issue. If the gateway doesn't populate, there's no gateway to be selected in the rules. Some have found a way around by manually creating files or manually editing scripts, but there's been no progress on a formal fix for this bug that I'm aware of.

                      The S in IOT stands for Security

                      C 1 Reply Last reply Reply Quote 0
                      • C
                        chicaneau @MikeV7896
                        last edited by chicaneau

                        @virgiliomi its so strange, everything seems fine for me, all the right values are in the right fields in the UI. in the routing table i have a route to my isp gateway FE80 address and i can ping out to anything from the router itself. it just seems something is blocking my devices from seeing anything. Either firewall or routing... but i dont really know how to be sure which.

                        I've tried adding firewall rules for allow all on lan ipv6 etc to see if i can get some traffic moving, but nothing happens.

                        I've just noticed my LAN adapter has no link local address..... perhaps this is part of the non-communication issue?

                        C 1 Reply Last reply Reply Quote 0
                        • C
                          chicaneau @chicaneau
                          last edited by chicaneau

                          @chicaneau OMG! i fixed it!!!

                          So... let me start with a confession. I do have 2 of my LAN ports in a bridge. Which has never ever been a problem before and I figured it was just acting as a regular interface! BUT!!! i found that under the bridge config, there is a tickbox (not sure if its new) called "Enable IPv6 auto linklocal" once i enabled this and "saved, apply changes" on my WAN interface boom. its all working.

                          To summarise. all i've done is

                          • the 2 line change to /etc/var/interfaces.inc

                          • ticked this ipv6 auto linklocal setting.

                          I have not added an ipv6 monitoring address at all, it is automatically using the gateway i hardcoded in the interfaces.inc file

                          To clarify existing config, i am running DHCP6 server = off and RA = unmanaged,
                          wan type = dhcp6 and ra hint =off and do not wait for ra = off

                          Thanks everyone on this forum for their input and support. I hope my find can help another lost soul. Cheers

                          1 Reply Last reply Reply Quote 0
                          • M
                            mloiterman
                            last edited by mloiterman

                            So I spent a huge amount of time on this yesterday and was finally able to get it to route, but it's not entirely clear what fixed it and I still believe that it's broken.

                            Anyway, I was able to get it to route IPV6 by resaving the gateway I use for IPV6. That kicked it over and it started working.

                            BUT

                            I was also able to get it started by resaving the various WAN and LAN interfaces as well as resaving the DHCP6 Server page, as well as changing the Router Advertisements from Stateless to Unmanged and then back to my original setting of Assisted.

                            A few caveats:

                            1. A reboot will cause it to not pull the route again. So then I have to go into all of those settings pages and resave and cross my fingers that something causes it to kick over.
                            2. Even when it starts routing correctly, the monitor issue still persists. But, I have worked around that by manually entering the link-local address. But, the gateway in the widget is still listed as "~" even though it says that it's online.

                            I also tried recreating my ipv6 gateways and gateway groups, but nothing would cause that widget to work automatically. Another point, in my situation, I have made NO changes to the /etc/var/interfaces.inc files which probably explains why this still doesn't work.

                            For me, as @virgiliomi says, I'm routing with rules, so I don't know if this is really applicable to everyone else.

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

                              so thanks to this thread I was able to successfully edit the /etc/inc/interfaces.inc file as described and everything works, but I made a slight change so that it grabs the default gateway from the routing table automatically rather than having to hardcode it into the interfaces.inc file. I did the following:

                              $my_gw = shell_exec("/usr/bin/netstat -rn6 | grep ^default | awk '{print $2}' | sed 's/%.*//g' | tr -d '\n'");
                              
                              //$rtsoldscript .= "echo $2 > {$g['tmp_path']}/{$wanif}_defaultgwv6\n";
                              $rtsoldscript .= "echo $my_gw > {$g['tmp_path']}/{$wanif}_routerv6\n";
                              
                              //$rtsoldscript .= "echo $2 > {$g['tmp_path']}/{$wanif}_defaultgwv6\n";
                              $rtsoldscript .= "echo $my_gw > {$g['tmp_path']}/{$wanif}_defaultgwv6\n";
                              

                              This is working for me and I'm happier with this in case I have to replace my cable modem or something and my ipv6 info changes. Just my 2 cents, hopefully someone finds this useful.

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

                                Oops, and just to update my own post here - my default gateway as reported by netstat was fe80::X:X:X:X%igb0. I was intentionally stripping off the interface specification from the default gateway, but this caused the route not to be detected as the default gateway on the system routing page or by dpinger (globe icon was missing). Leaving the interface appended to the ipv6 address seems to work better. So I now have this instead:

                                $my_gw = shell_exec("/usr/bin/netstat -rn6 | grep ^default | awk '{print $2}' | tr -d '\n'");
                                
                                //$rtsoldscript .= "echo $2 > {$g['tmp_path']}/{$wanif}_defaultgwv6\n";
                                $rtsoldscript .= "echo $my_gw > {$g['tmp_path']}/{$wanif}_routerv6\n";
                                
                                //$rtsoldscript .= "echo $2 > {$g['tmp_path']}/{$wanif}_defaultgwv6\n";
                                $rtsoldscript .= "echo $my_gw > {$g['tmp_path']}/{$wanif}_defaultgwv6\n";
                                

                                Everything now seems fully functional

                                @mintypickle said in IPv6 No Gateway after 2.5 upgrade:

                                so thanks to this thread I was able to successfully edit the /etc/inc/interfaces.inc file as described and everything works, but I made a slight change so that it grabs the default gateway from the routing table automatically rather than having to hardcode it into the interfaces.inc file. I did the following:

                                $my_gw = shell_exec("/usr/bin/netstat -rn6 | grep ^default | awk '{print $2}' | sed 's/%.*//g' | tr -d '\n'");
                                
                                //$rtsoldscript .= "echo $2 > {$g['tmp_path']}/{$wanif}_defaultgwv6\n";
                                $rtsoldscript .= "echo $my_gw > {$g['tmp_path']}/{$wanif}_routerv6\n";
                                
                                //$rtsoldscript .= "echo $2 > {$g['tmp_path']}/{$wanif}_defaultgwv6\n";
                                $rtsoldscript .= "echo $my_gw > {$g['tmp_path']}/{$wanif}_defaultgwv6\n";
                                

                                This is working for me and I'm happier with this in case I have to replace my cable modem or something and my ipv6 info changes. Just my 2 cents, hopefully someone finds this useful.

                                G SpaceyS 2 Replies Last reply Reply Quote 0
                                • G
                                  g.shaffer @A Former User
                                  last edited by

                                  @mintypickle The issue looks like its been fixed in the 2.5.1-RCs.

                                  1 Reply Last reply Reply Quote 1
                                  • P
                                    pLu
                                    last edited by

                                    Yes, upgrade to the 2.5.1 RC instead.

                                    1 Reply Last reply Reply Quote 0
                                    • SpaceyS
                                      Spacey @A Former User
                                      last edited by

                                      @mintypickle Nice find I'm about to try this, where exactly in the /etc/inc/interfaces.inc file did you add that too? Just anywhere?

                                      G ? 2 Replies Last reply Reply Quote 0
                                      • G
                                        g.shaffer @Spacey
                                        last edited by

                                        @spacey it was around line 5142, search for "rtsoldscript" to find the right spot. Or you could upgrade to the latest 2.5.1-RC.

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

                                          @spacey

                                          here's a patch file if you want to apply it, but as g.shaffer said it's around line 5142

                                          interfaces.inc.patch

                                          SpaceyS 2 Replies Last reply Reply Quote 0
                                          • SpaceyS
                                            Spacey @A Former User
                                            last edited by

                                            @mintypickle I would upgrade to the 2.5.1 RC instead but I'm a bit weary, on the reddit sub there are quite a few posts about how buggy it is outside of this fix. What are your thoughts on it?

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