I have a typical router with IPv4 and NAT setup. My provider sends an IPv6 address to the router, but it does not support the IPv6 prefix delegation.

How can I get IPv6 addresses for my private network without relying to my provider that much?

With IPv4 this was easily solved using NAT, but IPv6 does not support NAT.

I found a workaround for routers supporting ebtables, but this looks like an ugly hack to me.

Bridge the two ethernet cards (internal and external) for IPv6 traffic, thus, taking an IPv6 directly from the range of the provider, and use ebtables to force IPv4 traffic to take the NAT way: http://www.linksysinfo.org/index.php?threads/customizing-tomato-with-ipv6-bridge.24238/#post-114281

After applying this workaround I still get a problem. My private network can get IPv6, but the router cannot. Also if the router does not support ebtables, this cannot be used so it is not a generic workaround at all.

Is there a recommended generic solution to this problem?

  • Did your ISP actually give you a block of addresses? Something like 2001:db8:1234::/48 or 2001:db8:5678:9a00::/56 – Michael Hampton Feb 10 '13 at 2:53
  • No, this is the prefix delegation from what I understand but the provider does not support it yet. I asked for it and they recommended to bridge my internal/external networks to get directly IP's from their DHCP, but then I have the IPv4 NAT issue. – Vangelis Tasoulas Feb 10 '13 at 11:55

Ask your provider to give you a /64. They can use static routing, which is easier than DHCPv6 PD for providers just getting started with IPv6. The provider will use your WAN link local address or possibly your WAN global unicast address.

An alternative is Neighbor Discovery proxy (http://forums.gentoo.org/viewtopic-t-630854-start-0.html).

  • 1
    You should complain bitterly if the ISP hasn't given you at least a /56. – Michael Hampton Feb 11 '13 at 15:08
  • 1
    Yes, a /48 or /56 would be ideal. We still have work to do in convincing some engineers that the scarcity approach to IPv4 addresses is not applicable to IPv6. – Jeff Loughridge Feb 11 '13 at 18:26
  • 1
    Quote RFC 6177 at them. If they aren't giving at least a /56 to residential customers, and /48 to business customers, they're doing it wrong. – Michael Hampton Feb 11 '13 at 19:39
  • I see, I have to keep on nagging them until they realize that they have to do this properly if there is no alternative. Thanks for the answer and the discussion! – Vangelis Tasoulas Feb 12 '13 at 11:28

Your ISP should really get their act together and suport prefix delegation but that is outside your control.

Also as far as I can tell while nested prefix delegation is theoretically possible there are no good implementations yet. This makes life difficult if you want to place a router behind a router for some reason.

IPv6 does not support NAT.

Many IPv6 proponents are/were vocally against NAT but there is nothing fundamentally preventing the same NAT techniques used for IPv4 from being used with IPv6.

Linux added support for IPv6 NAT in 3.9.0. http://mirrors.bieringer.de/Linux+IPv6-HOWTO/nat-netfilter6..html https://lwn.net/Articles/452293/

  • 1
    In the intervening 3 and a bit years the ISP may well have got their act together. – Iain Jul 8 '16 at 20:02
  • They may well have done but AIUI the point of stackexchange is that questions/answers are not just for the original asker but for future readers too. IMO it is therefore important to point out outdated information even when the OP has likely moved on. – Peter Green Jul 8 '16 at 20:10
  • Perhaps your first sentence threw me then. – Iain Jul 8 '16 at 22:16

Your Answer

 

By clicking "Post Your Answer", you acknowledge that you have read our updated terms of service, privacy policy and cookie policy, and that your continued use of the website is subject to these policies.

Not the answer you're looking for? Browse other questions tagged or ask your own question.