DNS: rewrite answers
Привіт, маю питання. Є складна конфігурація DNS: host IN A z.z.z.z host1 IN CNAME host2 host2 IN A x.x.x.x мені треба, щоб на запит щодо host поверталась А-адреса host2. В лоб прописати нізя - host2 itself є DNS load-balancer тому повертає різні адреси в залежності від умов. Власне, host вказує на z.z.z.z, тому що це - продова адреса, а мені на тестовому сервері треба працювати з тестовою інфраструктурою. Зрозуміло, що цьому випадку /etc/hosts не при справах. Тобто треба поставити локальний DNS-сервіс, в якому прописати host IN CNAME host1 й який би повертав врешті A-record від host2. Пробував зробити це на unbound: server: local-data: "host CNAME host1" але unbound не виконує подальший lookup, а просто повертає цей CNAME - # nslookup host 127.0.0.1 Server: 127.0.0.1 Address: 127.0.0.1#53 host canonical name = host1. Як варіант - поставити ланцюжок сервісів типу dnsmasq -> unbound й звертатись до dnsmasq, який, вірогідно, зробить lookup отриманого CNAME :-D але це виглядає як патчкорд між двома портами одного пристрою :-) Перед тим, як я полізу копати, може у когось є готова відповідь? Дякую. -- Volodymyr Litovka "Vision without Execution is Hallucination." -- Thomas Edison
Привіт
Перед тим, як я полізу копати, може у когось є готова відповідь?
Кожен environment (prod / stage / dev) повинен завжди мати свою зону DNS.
Робити фокуси з оверрайдами хостів - вірний шлях отримати пошкодження
даних на проді...
--
Best regards,
Mykola
On Sat, Oct 22, 2022 at 10:22 PM Volodymyr Litovka
Привіт,
маю питання. Є складна конфігурація DNS:
host IN A z.z.z.z host1 IN CNAME host2 host2 IN A x.x.x.x
мені треба, щоб на запит щодо host поверталась А-адреса host2. В лоб прописати нізя - host2 itself є DNS load-balancer тому повертає різні адреси в залежності від умов. Власне, host вказує на z.z.z.z, тому що це - продова адреса, а мені на тестовому сервері треба працювати з тестовою інфраструктурою. Зрозуміло, що цьому випадку /etc/hosts не при справах.
Тобто треба поставити локальний DNS-сервіс, в якому прописати host IN CNAME host1 й який би повертав врешті A-record від host2.
Пробував зробити це на unbound:
server: local-data: "host CNAME host1"
але unbound не виконує подальший lookup, а просто повертає цей CNAME -
# nslookup host 127.0.0.1 Server: 127.0.0.1 Address: 127.0.0.1#53
host canonical name = host1.
Як варіант - поставити ланцюжок сервісів типу dnsmasq -> unbound й звертатись до dnsmasq, який, вірогідно, зробить lookup отриманого CNAME :-D але це виглядає як патчкорд між двома портами одного пристрою :-)
Перед тим, як я полізу копати, може у когось є готова відповідь?
Дякую.
-- Volodymyr Litovka "Vision without Execution is Hallucination." -- Thomas Edison
_______________________________________________ uanog mailing list uanog@uanog.kiev.ua https://mailman.uanog.kiev.ua/mailman/listinfo/uanog
Це правда, я підримую такий підхід, але є одне але - йде міграція, тому частина хостів вже в новому адресному просторі, частина - в старому, але всі вони - в одній зоні. Й це не виділена для них окрема зона, а загальна корпоративна зона другого рівня (corp.com, в якій є й host1, й www тощо). Тобто навіть практично неможливо створити окрему зону, бо сайд-ефекти будуть набагато яскравішими :) On 23.10.2022 10:25, Mykola Ulianytskyi wrote:
Привіт
Перед тим, як я полізу копати, може у когось є готова відповідь? Кожен environment (prod / stage / dev) повинен завжди мати свою зону DNS.
Робити фокуси з оверрайдами хостів - вірний шлях отримати пошкодження даних на проді...
-- Best regards, Mykola
On Sat, Oct 22, 2022 at 10:22 PM Volodymyr Litovka
wrote: Привіт,
маю питання. Є складна конфігурація DNS:
host IN A z.z.z.z host1 IN CNAME host2 host2 IN A x.x.x.x
мені треба, щоб на запит щодо host поверталась А-адреса host2. В лоб прописати нізя - host2 itself є DNS load-balancer тому повертає різні адреси в залежності від умов. Власне, host вказує на z.z.z.z, тому що це - продова адреса, а мені на тестовому сервері треба працювати з тестовою інфраструктурою. Зрозуміло, що цьому випадку /etc/hosts не при справах.
Тобто треба поставити локальний DNS-сервіс, в якому прописати host IN CNAME host1 й який би повертав врешті A-record від host2.
Пробував зробити це на unbound:
server: local-data: "host CNAME host1"
але unbound не виконує подальший lookup, а просто повертає цей CNAME -
# nslookup host 127.0.0.1 Server: 127.0.0.1 Address: 127.0.0.1#53
host canonical name = host1.
Як варіант - поставити ланцюжок сервісів типу dnsmasq -> unbound й звертатись до dnsmasq, який, вірогідно, зробить lookup отриманого CNAME :-D але це виглядає як патчкорд між двома портами одного пристрою :-)
Перед тим, як я полізу копати, може у когось є готова відповідь?
Дякую.
-- Volodymyr Litovka "Vision without Execution is Hallucination." -- Thomas Edison
_______________________________________________ uanog mailing list uanog@uanog.kiev.ua https://mailman.uanog.kiev.ua/mailman/listinfo/uanog
-- Volodymyr Litovka "Vision without Execution is Hallucination." -- Thomas Edison
Інший поширений підхід, коли зона лише одна:
kafka-dev-1.example.com
kafka-stage-1.example.com
kafka-prod-1.example.com
--
Best regards,
Mykola
On Tue, Oct 25, 2022 at 11:23 AM Volodymyr Litovka
Це правда, я підримую такий підхід, але є одне але - йде міграція, тому частина хостів вже в новому адресному просторі, частина - в старому, але всі вони - в одній зоні. Й це не виділена для них окрема зона, а загальна корпоративна зона другого рівня (corp.com, в якій є й host1, й www тощо). Тобто навіть практично неможливо створити окрему зону, бо сайд-ефекти будуть набагато яскравішими :)
On 23.10.2022 10:25, Mykola Ulianytskyi wrote:
Привіт
Перед тим, як я полізу копати, може у когось є готова відповідь? Кожен environment (prod / stage / dev) повинен завжди мати свою зону DNS.
Робити фокуси з оверрайдами хостів - вірний шлях отримати пошкодження даних на проді...
-- Best regards, Mykola
On Sat, Oct 22, 2022 at 10:22 PM Volodymyr Litovka
wrote: Привіт,
маю питання. Є складна конфігурація DNS:
host IN A z.z.z.z host1 IN CNAME host2 host2 IN A x.x.x.x
мені треба, щоб на запит щодо host поверталась А-адреса host2. В лоб прописати нізя - host2 itself є DNS load-balancer тому повертає різні адреси в залежності від умов. Власне, host вказує на z.z.z.z, тому що це - продова адреса, а мені на тестовому сервері треба працювати з тестовою інфраструктурою. Зрозуміло, що цьому випадку /etc/hosts не при справах.
Тобто треба поставити локальний DNS-сервіс, в якому прописати host IN CNAME host1 й який би повертав врешті A-record від host2.
Пробував зробити це на unbound:
server: local-data: "host CNAME host1"
але unbound не виконує подальший lookup, а просто повертає цей CNAME -
# nslookup host 127.0.0.1 Server: 127.0.0.1 Address: 127.0.0.1#53
host canonical name = host1.
Як варіант - поставити ланцюжок сервісів типу dnsmasq -> unbound й звертатись до dnsmasq, який, вірогідно, зробить lookup отриманого CNAME :-D але це виглядає як патчкорд між двома портами одного пристрою :-)
Перед тим, як я полізу копати, може у когось є готова відповідь?
Дякую.
-- Volodymyr Litovka "Vision without Execution is Hallucination." -- Thomas Edison
_______________________________________________ uanog mailing list uanog@uanog.kiev.ua https://mailman.uanog.kiev.ua/mailman/listinfo/uanog
-- Volodymyr Litovka "Vision without Execution is Hallucination." -- Thomas Edison
participants (2)
-
Mykola Ulianytskyi
-
Volodymyr Litovka