Як створити CNAME для кореневого імені домену


12

Я хотів би встановити ім'я кореня домену на CNAME замість звичайного запису A.

Ось ідеальний приклад того, що я намагаюся зробити:

dig lrnskls.com

Зверніть увагу на розділ відповідей:

;; ANSWER SECTION:

lrnskls.com.            300     IN      CNAME   partner.adjix.com.

partner.adjix.com.      300     IN      A       67.121.212.61

Я намагаюся це зробити, тому я можу вказати ім'я кореня домену через псевдонім CNAME на S3 Amazon. Використання запису A не працює, оскільки IP-адреси S3 змінюються кожні кілька хвилин для балансування навантаження.

PS - Це, мабуть, є законним відповідно до розділу 3.6.2 RFC 1034 (зверніть увагу на приклад USC-ISIC.ARPA): http://www.faqs.org/rfcs/rfc1034.html


2
Хороший момент щодо цього, здавалося б, є законним згідно з прикладом у розділі 3.6.2. RFC1034 створений з 1987 року, і його слід читати з оглядом до сучасних потреб. Деякі люди / багато людей вважають це незаконним у сучасних умовах, див. Serverfault.com/questions/55528/… . Найкраще IMHO помилятися з боку обережності, тобто не намагайтеся натиснути DNS за допомогою конфігурації, яку деякі сервери DNS можуть відхилити.
Jesper M

2
@jesper - приклад RFC 1034 не має значення. Він показує CNAME як окремий запис. Делегований домен .com повинен мати запис SOA та записи NS. Конфігурація lrnskls.com технічно недійсна.
Альнітак

Ви повинні виправити свою термінологію, "ім'я кореня" не є загальним терміном для опису, який ви описуєте (який, здається, називає вершину вашої зони).
bortzmeyer

Відповіді:


14

Amazon знає про проблему з кореневими доменами та регулювачем еластичного навантаження. Вони рекомендують це рішення:

  • Налаштуйте кореневий домен для служби, яка перенаправляє mydomain.com на www.mydomain.com (або будь-який інший субдомен на ваш вибір)
  • Налаштуйте запис CNAME, який відображає DNS-ім'я балансира навантаження на "www.mydomain.com".

Мені це рішення не подобається, але воно є більш "чистим", ніж рішення "примусити кореневий домен CNAME".

ОНОВЛЕННЯ: Amazon тепер вирішує це для ELB / S3 через записи ALIAS, функцію DNS Route53.


5
+1 для вказівки на сумісний спосіб цього. Щоб переформулювати це рішення (див. Також пов'язану відповідь Amazon): Ви робите дійсну запис A для кореневого домену, з дійсним SOA. Ця запис вказує на послугу третьої сторони, яку ви домовилися надсилати перенаправлення HTTP рівня 301/302 на www.mydomain.com.
Jesper M

@JesperMortensen Чи можете ви порадити підрядникам, які роблять такі переадресації? Це дуже прикро, що мої користувачі переходять на mycompany.com і бачать лише рекламу мого постачальника доменних імен. A recordвказує на IP-адресу, і я точно не збираюся купувати статичну IP-адресу саме для цієї мети.
foresightyj

10

Ні, це не законно. CNAMEзаборонено співіснувати з іншими записами, і вам потрібно принаймні SOAтут.

Приклад не доводить іншого, тому що він не означає, що там є якісь інші записи.


Отже, справжній сенс мого питання полягає в тому, як це зробити? Як встановити ім'я кореня домену як CNAME, а не запис A? Приклад "копати lrnskls.com" працює точно так, як я очікував, що він спрацює. Або я пропускаю щось із прикладу копання?

Ви можете поставити його так, як це робиться lrnskls.com- просто поставте там CNAMEзапис, але його незаконно не мати SOA;-)
Майкл Крелін - хакер

Тож я здогадуюсь, що немає законного способу вказати кореневе ім’я домену на S3 як CNAME?

Існує легальний спосіб мати хост, як, наприклад, s3stuff.example.comюридично вказувати на S3.
Майкл Крелін - хакер

3
Дійсно, правильне рішення - мати, щоб example.com не делегував і переконував реєстр .COM, Verisign, додати CNAME у зону .COM ... Технічно обгрунтовано, але Verisign та ICANN, безумовно, знайдуть нетехнічні причини відмовитись від цього. .
bortzmeyer

2

Але мій DNS-сервер цього не дозволяє; також не йде менеджер DNS GoDaddy. Тож я хочу зробити саме те, що зробив власник lrnskls.com. Хтось знає, як він це зробив?

Можливо, вам знадобиться зробити деякий пошук на серверах DNS. Більшість серверів DNS не дозволяють цього робити. Я думаю, що я пам’ятаю, що на сервері за замовчуванням бачив ще одне запитання, де хтось розміщував, який DNS-сервер хтось використовував для встановлення імені в корені, але я не можу його знайти.

Дивіться також: - Корінне ім'я - WHM? - Встановити запис кореневого домену як CNAME


Відповідно до цього питання було 1і1
сервер

1

Якщо ви використовуєте DNS-сервери Amazon’s Route 53, то це дозволить досягти того, що ви хочете.

Мені було цікаво: жодне CNAME у вершині заборонено RFC. Яка технічна причина цього (якщо це не довільно).


1
CNAME замінює всі інші записи. Тому неможливо побудувати дійсну зону, де на вершині є CNAME, оскільки це також перекриє SOA.
Майкл Хемптон
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.