Використання CNAME для вказівки на інший домен для збереження IP-адрес


39

У мене є один сервер, на якому я розміщую кілька сайтів.

В даний час на кожному веб-сайті є домен, розміщений незалежним постачальником, і кожен має запис A, що вказує на IP-адресу сервера.

Але якщо я хочу змінити сервер у майбутньому, мені доведеться повернути оновлення кожної IP-адреси у кожному записі DNS.

Чи можна використовувати запис CNAME на кожному домені, щоб вказати на інший домен, яким я безпосередньо керую?

Це так, що я можу оновлювати IP-адресу на 1 місці самостійно і не потрібно змушувати всіх цих інших DNS-провайдерів оновлювати свої записи окремо?

Відповіді:


25

Саме в цьому і полягає CNAME. CNAME не потрібно вказувати на DNS в тій же зоні, він може вказувати на будь-яке ім'я DNS, зареєстроване на будь-якому сервері імен.

Що означає для ваших клієнтів - це додатковий пошук DNS в NS для іншого хоста, але це невелика ціна, яку потрібно заплатити за більшість веб-сайтів в Інтернеті.


як правило, це рекурсивний сервер, який буде виконувати цей додатковий пошук, а не роздільну здатність заглушки в клієнті.
Альнітак

27

Відповідь Farseeker, так, це (наче) те CNAME, для чого потрібні записи.

Однак в той час як ви можете використовувати це в точку , www.example.netщоб www.example.comви не можете використовувати його , щоб вказати example.netна його власну (тобто без wwwпрефікса) до чого - то ще.

Це пояснюється тим, що в DNS example.netтакож має бути SOAзапис і NSзаписи, і в DNS нелегально мати CNAMEподарунок у тій самій частині дерева, що і будь-які інші записи (виключаються ключі DNSSEC).

Класифікатор "свого роду" вище, тому що строго кажучи CNAMEзапис вводить "ліву частину" як псевдонім для цілі CNAMEзапису, де ця мета насправді є "канонічним ім'ям".

Отже, якщо ви бачите, наприклад:

www.example.net IN CNAME www.example.com.

Це не говорить про те, що www.example.netслід "перенаправляти" на www.example.comце, це говорить, що www.example.netце інша назва www.example.com .


2
"example.net також повинен мати запис SOA". Дехто обманює: подивіться на lrnskls.com.
борцмейєр

це неприємне руйнування, і вони матимуть величезну проблему, якщо вони коли-небудь захочуть підписати DNSSEC.
Альнітак

5
+1 це хороший момент і один з більших недоліків (і причина, чому жоден з моїх сайтів не можна використовувати www-менше, оскільки для цих доменів також потрібен запис MX, забороняючи це).
Оскар Дувеборн

3

Так, це можливо.

Ось так я роблю свої експериментальні веб-сервери, які також мають динамічні IP-адреси (хоча вони рідко змінюються).


0

Мені доведеться повернути оновлення кожної IP-адреси у кожному записі DNS.

Ну, CNAME - це справді можливе рішення (див. Відповідь Alnitak для обмеження CNAME), але є ще одне: замість керування вашими зональними файлами вручну створіть програму з десяти рядків (Perl / Python / Ruby / cpp / m4 / що завгодно), який буде генерувати зонні файли від головного (текстовий файл, XML-файл, СУБД і все, що завгодно)

Таким чином, ваша IP-адреса може бути лише в одному місці. Коли вона зміниться, просто перезапустіть програму.

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