> NAT is a hack for getting more machines online without having more IPs available. Obviously, IPv6 makes that obsolete.
The problem is that the addresses might not be where you need them. Let's say you bring an OpenVPN-running Linksys router to a hotel room and plug your devices into them so they can be on their own firewalled subnet with VPN access (this is the ultimate road-warrior setup). Unless the hotel routes a subnet to you (and they won't be), you can't do this. The hotel's subnet might have plenty of public IPv6 addresses available, but you won't have any to make your own subnet. What should you do instead? Bridge the networks and use layer 2 firewalling? The VPN routing would be a nightmare. This question has been plaguing me.
To be clear, I do not think NAT should be used in most cases. But for rare or temporary cases it would be very useful to have available if you know what you're doing.
This is a problem only if you don't default-route everything from the Linksys LAN through the VPN, with the IPv6 LAN subnet being routed through the VPN. In fact the IPv6 LAN subnet might just as well be at the remote endpoint with a tap bridge (which is actually very close to my openvpn ipv4+ipv6 setup)
That's not a bad idea, especially since these days you often can't rely on someone else's network to be secure and free of shenanigans like this: http://news.ycombinator.com/item?id=3804608
On the other hand, this leads to suboptimal routing. If I'm in Australia and the VPN server is in the US, connections to Australian hosts would be routed across the Pacific and back.
I think it's the opposite: NAT almost made IPv6 obsolete. I spent a large time trapped behind a NAT by my former ISP, getting "you are alredy downloading" errors. So I absolutely hate whoever invented that crap.