IPv6 это во многом Н.Ё.Х. (неведома еретическа хрень, по крайней мере для меня и миллионов других пользователей Интернета). А обратные зоны IPv6 – это Н.Ё.Х. в квадрате. Часто надо преобразовать IP адрес из прямого в обратный формат, то есть из привычного
2a12:2666:0000:0001:9b8:1bf8:6694:3686 (адрес вымышленный)
примерно в вот такой:
3.2.6.a.e.d.4.6.6.6.a.0.3.2.f.3 (цифры в нем пишутся в обратном порядке, а самой младшей hex цифры IPv6 адреса)
Для решения такой задачи я написал программу. На ее входе текстовый файл вида
2a22:2666:0000:0001:a9b8:1bf8:6694:3686 hot-babes-with-hot-skins.com.
а на выходе фрагмент, готовый для вставки в файл обратной зоны
3.2.6.a.e.d.4.6.6.6.a.0.3.2.f.3 PTR hot-babes-with-hot-skins.com.
(я обрезаю первые 20 символов IPv6 адреса, так как они указаны в заголовке блока ORIGIN, это число можно поменять
в исходнике 😉
Да, совсем забыл сказать, при кодировании алгоритма я использовал придуманный мной недавно стиль “программирование без использования головного мозга”
А вот более совершенный онлайновый калькулятор обратных зон IPv6 (не мой): http://rdns6.com/zone
И совсем хардкорный вариант
dig -x 2a12:2666:0000:0001:9b8:1bf8:6694:3686
(в выводе будет обратная запись)