Не стандартный тип DNS64.
Переписанный встроенный модуль coredns dns64
Всегда на запрос А или АААА запрашивает сразу оба в любом из вариантов.
Умеет вырезать оригинальные ответы А и\или АААА
Применение мидлвара forward или аналогов внутри сервера нужно исключить!
dns64_hack является тупиковым в цепочке. Т.е. другие мидлвары имеющие меньший приоритет не отработают!
Параметры
prefix на какой префикс мапировать ipv4
jump-to-dns следующая цепочка\сервер днс куда идти резолвить адреса
v4_delete если указано значит из ответов необходимо удалить А ответы оставляя только АААА
v6_delete если указано значит из ответов нужно удалять оригинальные АААА записи оставив только смапированные А в АААА
Примеры конфигурации
Удалять А записи но не трогать оригинальные АААА
Подходит для хостингов где в наличии только ipv6 и полностью отсутсвует ipv4.
Также вызвать finalize чтобы отрезолвить все CNAME в адреса.
.:53 {
dns64_hack {
v4_delete
prefix 64:1337::/96
jump-to-dns 127.0.0.1:5302
}
}
.:5302 {
forward . 8.8.8.8:53
finalize
}
Направлять весь трафик через nat64
Удалять оригинальные А\АААА записи и оставлять только смапированные dns64 записи.
Также вызвать finalize чтобы отрезолвить все CNAME в адреса.
.:53 {
dns64_hack {
v4_delete
v6_delete
prefix 64:1337::/96
jump-to-dns 127.0.0.1:5302
}
}
.:5302 {
forward . 8.8.8.8:53
finalize
}
Примеры ответов в зависимости от опций
Домен cloudflare.com
В оригинале запрос А:
A 104.16.133.229
A 104.16.132.229
В оригинале запрос АAAA:
AAAA 2606:4700::6810:85e5
AAAA 2606:4700::6810:84e5
Без опций v4_delete и v6_delete для любого запроса А\АААА
Будут запрошены одновременно А и АААА записи, будут добавлены смапированные dns64 записи.
Весь ответ собран в один
A 104.16.133.229
AAAA 64:1337::6810:85e5
A 104.16.132.229
AAAA 64:1337::6810:84e5
AAAA 2606:4700::6810:85e5
AAAA 2606:4700::6810:84e5
С опцией v4_delete и без v6_delete для любого запроса А\АААА
Будут запрошены одновременно А и АААА записи, будут добавлены смапированные dns64 записи.
Из ответа будут удалены А записи даже если они придут от вышестоящего сервера
AAAA 64:1337::6810:85e5
AAAA 64:1337::6810:84e5
AAAA 2606:4700::6810:85e5
AAAA 2606:4700::6810:84e5
С опцией v4_delete и v6_delete для любого запроса А\АААА
Будут запрошены только А записи, будут добавлены смапированные dns64 записи.
Из ответа будут удалены оригинальные A и АAAA записи даже если они придут от вышестоящего сервера
AAAA 64:1337::6810:85e5
AAAA 64:1337::6810:84e5