Як створити 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.