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

    NDP proxy where are you

    Scheduled Pinned Locked Moved IPv6
    50 Posts 17 Posters 20.2k 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.
    • D
      davidbrodbeck
      last edited by

      I can try, but I don't have much leverage over them. They're the central IT department for the university I work for.

      As an aside, this is what I really don't like about IPv6.  It takes away the ability for end users to do stuff on their own.  NAT was invented to begin with because ISPs weren't interested in giving out extra subnets; now we're back to begging for them to give out static routes again.  I remember the "bad old days" when ISPs would only allow you one computer per Internet connection…one of IPv6's goals seems to have been to enable that kind of restriction again. :/

      1 Reply Last reply Reply Quote 0
      • jimpJ
        jimp Rebel Alliance Developer Netgate
        last edited by

        IPv6 was designed to eliminate the need for any of that. Any ISP that doesn't give you multiple subnets is implementing IPv6 incorrectly. IPv4 was scarce, IPv6 is not. There is no reason (aside from pure greed) that they should not give you at least two /64's with one routed to your address in the other.

        Remember: Upvote with the 👍 button for any user/post you find to be helpful, informative, or deserving of recognition!

        Need help fast? Netgate Global Support!

        Do not Chat/PM for help!

        1 Reply Last reply Reply Quote 0
        • D
          davidbrodbeck
          last edited by

          The response to my ticket asking for another routable block was "why don't you use NAT?"  Trying to get it escalated to someone who at least understands the difference between IPv4 and IPv6.  ::)

          1 Reply Last reply Reply Quote 0
          • D
            doktornotor Banned
            last edited by

            @davidbrodbeck:

            The response to my ticket asking for another routable block was "why don't you use NAT?"

            Perhaps this might clarify the issue to them?

            1 Reply Last reply Reply Quote 0
            • C
              candlerb
              last edited by

              I have now come across two providers in the UK who give you a flat /48: i.e. the CPE is configured with address 2001:db8:1234::1/48, and no static routes.

              It's nuts. You need to ndp proxy blocks of /64 to make routing work. We are back to the bad old days of "ip proxy-arp".

              Anyway, it looks like FreeBSD ndproxy(4) can be used to implement this:
              http://www.fenyo.net/newweb/ndproxy.html

              1 Reply Last reply Reply Quote 0
              • jimpJ
                jimp Rebel Alliance Developer Netgate
                last edited by

                @candlerb:

                I have now come across two providers in the UK who give you a flat /48: i.e. the CPE is configured with address 2001:db8:1234::1/48, and no static routes.

                Are you certain there are no routes? It's also quite common to see a /48 allocation like that with the first /64 assumed to be the interconnect and the balance of the /48 routed to the CPE.

                NDP Proxy is the wrong answer though, getting the provider to fix their broken design is better. Might take significant convincing, though. A flat /48 is insane and should not be encouraged.

                Remember: Upvote with the 👍 button for any user/post you find to be helpful, informative, or deserving of recognition!

                Need help fast? Netgate Global Support!

                Do not Chat/PM for help!

                1 Reply Last reply Reply Quote 0
                • C
                  chorus
                  last edited by

                  I was just searching the same for a friend who uses pfsense, when I stumbled on this post. I'd like to clarify what the OP is asking as it seems to me.

                  Asking how to do ndp proxying is not like asking "how to build a socks5 proxy". In fact: what OP is asking is very similar to the question "how do I do ARP proxying". FD: I am not using pfsense (not right now anyway, but I used to and might again!) but still, here's a setup I am using myself on a linux box, and shows what ndp proxying does:

                  This is my host:

                  Upstream router -> host(eth0)
                  host(bridge1) -> guest(eth0)

                  As you can see, bridge1 connects the host and the guest together, without having added eth0. It's like a cable between host and guest. I know you guys probably understand this, but I'm just adding it for brevity.

                  On host(eth0) I have configured an IPv6 address, let's call it haddr1::1/64. On bridge1 I have configured an address, let's call it baddr1::0/127, which is inside the /64 subnet.

                  On the guest(eth0) I have configured the address baddr1::1/127. The host and guest can now ping each other: from the host, ping6 baddr1::1 gets a reply, and from the guest, ping6 baddr1::0 gets a reply. Next, I configure the guest to use baddr1::0 as the default route. So far so good.

                  Now the guest wants to connect to a host; let's say that the guest wants to ping orange.kame.net*. It does ping6 orange.kame.net and the packet with source address baddr1::1 goes out, the host receives it on bridge1, and because forwarding is enabled, the host forwards it to its default route which means via eth0 to the upstream router. No problem.

                  But now the reply comes. The upstream router asks something like "who has baddr1::1". Gets no reply. Packet discarded.

                  This is where ndp proxying comes in, cf. the following command: "ip -6 neigh add proxy baddr1::1 dev eth0" and this commmand means: "answer on behalf of baddr1::1 on eth0". This causes the host to say "I'm the one you need for baddr1::1" and the packet gets through. Full duplex connectivity, fully working!

                  It's the same as arp proxying: I have a route to an IP on some interface, so I answer arp requests to that IP on some other interface.

                  This is exactly what I have been using for a long time. It does not violate specs, it does not work around problems, it's doing exactly what it's supposed to be doing: enable normally routed packet flows. I know people might disagree or think that other ways are better, that's fine, but to each their own: it does not mean that this way of doing things is wrong. Not at all. There are more ways to do anything and everything.

                  Hope this makes it clear what OP is asking with ndp proxying, or if anyone thinks I have it wrong, feel free to say so as well. Just know: this setup works for me 100% and arp/ndp proxying is a normal thing to do with virtual machines and multiple networks. It's a lot better than NAT and so forth.

                  • I'm being nostalgic!
                  1 Reply Last reply Reply Quote 0
                  • jimpJ
                    jimp Rebel Alliance Developer Netgate
                    last edited by

                    Yes – I'm aware of what he's asking and what it does -- but it does not solve the problem of the ISP delivering him a broken configuration. He's trying to work around it and enable their awful behavior, but doing proxy NDP for billions of addresses is not the answer. Getting the ISP to deliver a proper configuration is the answer. Don't let the ISP get away with it, you're paying them for the service and they're failing to provide a proper configuration for the service.

                    You have a choice between an ugly, ugly hack (proxy NDP) and the ISP doing what amounts to a one or two-line change in their upstream router config for the customer to do it properly.

                    Remember: Upvote with the 👍 button for any user/post you find to be helpful, informative, or deserving of recognition!

                    Need help fast? Netgate Global Support!

                    Do not Chat/PM for help!

                    1 Reply Last reply Reply Quote 0
                    • C
                      chorus
                      last edited by

                      Agreed, jimp. I wasn't under the impression that you didn't get it, so when I was reading my own post again just now, I realised I had to reword the first few sentences: I didn't want to sound like I thought no one understood what OP was trying to say. Just that some of the replies came across to me like they didn't get what proxy ndp is all about. Much is lost in translation and English also isn't my first language.

                      I'm also wondering - In the explanation of my own setup, do you also think ndp proxy is an ugly hack? Or just in the case of him trying to work around his provider's setup. I agree that an ndp subnet proxy is not exactly the cleanest way to go, but if you have to deal with this setup, I can see why he asked for this. Better than NAT I would think. And some ISPs, or actually, many of them, probably think "ok we have it working now so let's not touch anything IPv6 related ever again!"

                      1 Reply Last reply Reply Quote 0
                      • D
                        dragon2611
                        last edited by

                        @candlerb:

                        I have now come across two providers in the UK who give you a flat /48: i.e. the CPE is configured with address 2001:db8:1234::1/48, and no static routes.

                        It's nuts. You need to ndp proxy blocks of /64 to make routing work. We are back to the bad old days of "ip proxy-arp".

                        Anyway, it looks like FreeBSD ndproxy(4) can be used to implement this:
                        http://www.fenyo.net/newweb/ndproxy.html

                        Few Hosting companies do this as well, They'll allocate a /64 but presumably assume you are just going to direct bridge any VM's you run to the physical port and don't want to route yourself :-(

                        Fine in some cases but can't really do that with my VPN (well i could but it would be messy)

                        1 Reply Last reply Reply Quote 0
                        • B
                          bruor
                          last edited by

                          Just came across this issue with OVH using their Dedicated Private Cloud product.    They terminate a /56 on the WAN vlan and provide no routing capability for /64 addresses.  I'm trying to find out if there is some way to use PD or RA to get them to route /64's properly but no responses from their team yet.

                          1 Reply Last reply Reply Quote 0
                          • B
                            bruor
                            last edited by

                            Just a follow up,  OVH provide no way to route /64 at all,  you are forced to use ndp proxy if you want to use some of the /56 address space internally.

                            1 Reply Last reply Reply Quote 0
                            • jimpJ
                              jimp Rebel Alliance Developer Netgate
                              last edited by

                              Then take your money elsewhere. That is an AWFUL network design and it's impossible to expect anyone to have a /56 in one massive flat network. Don't let them get away with that lazy crap. They have to route it to you, full stop. NDP Proxy isn't happening.

                              Remember: Upvote with the 👍 button for any user/post you find to be helpful, informative, or deserving of recognition!

                              Need help fast? Netgate Global Support!

                              Do not Chat/PM for help!

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

                                Im with jimp that sort of setup is just moronic… There is zero reason to be so freaking stupid in their design.  Route networks they assign to you be it a /48, /56 or /60 even - or for that matter even a single /64 should be routed to you if your going to be doing anything other than hosting a few hosts on their network directly.

                                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.8, 24.11

                                1 Reply Last reply Reply Quote 0
                                • B
                                  bruor
                                  last edited by

                                  I've worked around this by putting a linux box on the wan segment that runs ndppd with ipv6 forwarding enabled.  Now I can configure any of the /64s within the /56 in ndppd and it works as if it was properly routed to pfsense and can be used on my internal network segments.

                                  1 Reply Last reply Reply Quote 0
                                  • R
                                    richardd
                                    last edited by

                                    News flash:
                                    Just this week, ndproxy by Aexandre Freyo (a package that has already been mentioned earlier in this thread) has been added to the official FreeBSD ports tree!
                                    See: https://github.com/AlexandreFenyo/ndproxy

                                    That may open up new possibilities. I will ask if feature request #7746 can be reopened: https://redmine.pfsense.org/issues/7746

                                    BTW: I love pfSense, to me it's like a Swiss Army knife for networking. I can solve any IPv4 problem with it. pfSense should be able to solve real world IPv6 problems like this one as well.

                                    1 Reply Last reply Reply Quote 0
                                    • DerelictD
                                      Derelict LAYER 8 Netgate
                                      last edited by

                                      It is not a real world IPv6 problem. It is a completely broken ISP configuration. They need to fix it.

                                      18-billion-billion * 256 addresses on one flat interface. Asinine. Don't host there.

                                      Chattanooga, Tennessee, USA
                                      A comprehensive network diagram is worth 10,000 words and 15 conference calls.
                                      DO NOT set a source address/port in a port forward or firewall rule unless you KNOW you need it!
                                      Do Not Chat For Help! NO_WAN_EGRESS(TM)

                                      1 Reply Last reply Reply Quote 0
                                      • K
                                        kpa
                                        last edited by

                                        Keep it away from pfSense, stuff the matter in the face of your ISP instead.

                                        1 Reply Last reply Reply Quote 0
                                        • B
                                          bimmerdriver
                                          last edited by

                                          Not trying to be contrarian, but ISPs are not exactly known for giving a sh*t about their customers. I googled "america's most hated companies". Comcast was number 1 and Charter was number 12. ISPs aren't any more well liked in Canada, for good reason. It's probably no different in a lot of other countries. Some people are located in areas where there are few or no alternatives.

                                          As an engineer, it has always grated on me to pollute a design or an implementation in order to accommodate something because someone else didn't do their job properly or at all. Unfortunately, sometimes you have to accept such things. With respect to pfsense, the "Do not wait for a RA" setting could be considered such a thing. I'm not in a position to do any development, but thankfully marjohn56 had the same issue and he implemented a fix that works very well. pfsense has a few more users because of this.

                                          1 Reply Last reply Reply Quote 0
                                          • H
                                            hvisage
                                            last edited by

                                            @Derelict:

                                            It is not a real world IPv6 problem. It is a completely broken ISP configuration. They need to fix it.

                                            18-billion-billion * 256 addresses on one flat interface. Asinine. Don't host there.

                                            Easier set than done ;(

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