Я запускаю Xen Dom0 с двумя виртуальными машинами, подключенными к NAT (другие виртуальные машины подключены к мосту, и все в порядке).
Этот Dom0 имеет адреса IPv6 и IPv4. Запросы, например, к порту 25 пересылаются на адрес LAN, который обрабатывает одна из виртуальных машин.
Например:
VM_DNS_MAIL=172.16.1.1
iptables -t nat -A PREROUTING -d 1.2.3.4/26 -p tcp --dport 25 -j DNAT --to $VM_DNS_MAIL
iptables -t nat -A PREROUTING -d 1.2.3.4/26 -p tcp --dport 53 -j DNAT --to $VM_DNS_MAIL
1.2.3.4 - это мой публичный IP-адрес Dom0.
Это отлично работает с IPv4. Как я могу добиться того же с IPv6?
Не надо. Получите маршрутизируемый сетевой блок размером v6 или подсеть в существующей подсети и дайте маршрутизируемым виртуальным машинам реальные маршрутизированные адреса v6.
У меня есть опыт работы с IPv6 в IPv4 NAT, и есть некоторые проблемы с фрагментацией. Лучше использовать обратный прокси, например, haproxy.