IPv4 external -> IPv6 internal
We are planning on a process for creating webservers going forward where all webservers would have an IPv6 VIP on our BIG IP box. Each webserver / VIPv6 would have a DNS entry for its IPv6 address. We would also like to expose an IPv4 address and DNS entry for the same webservers, but we have a limited number of external IPv4 addresses.
Is it possible to have all of the IPv4 DNS entries point to just 1 IPv4 VIP on the BIG-IP, and have that IPv4 VIP route traffic to the correct IPv6 VIP based on the incoming hostname? More importantly, is there a scalable souliton to doing this? I'm sure (for example) it could be done in an iRule with a switch statement that examines the host of the incomming HTTP_REQUEST and routes to the correct server pool. But then every time we point a new IPv4 DNS entry at our IPv4 VIP we would have to add another entry to the iRule's switch statement. We'd like something more procedural / automatic.
Is there a way to read the hostname in the incomming request, look up the IPv6 DNS entry using the hostname, and just route the request to the correct IPv6 VIP based on just the DNSv6 entry? Also, is a NAT64 or NAT46 required to make this work?