У меня есть сервер Ubuntu. Это будет веб-сервер с URI www.example.com
. У меня есть запись DNS A, указывающая www.example.com
на IP-адрес сервера.
Скажем, я выбрал «троицу» в качестве имени хоста для этого сервера.
Я хочу правильно настроить записи DNS. Мне нужен обратный DNS для www.example.com
, поэтому CNAME для www.example.com
не кажется подходящим. Вот мой вопрос:
Считается ли лучшей практикой установить две записи DNS (которые в моем случае, вероятно, будут двумя записями A), одну для www.example.com
и один для trinity.example.com
, оба указывают на IP-адрес этого сервера? (Или, даже если это не считается лучшей практикой, это хорошая идея?)
Если да, то будет ли следующий файл / etc / hosts правильным?
$ cat /etc/hosts
127.0.1.1 trinity.local trinity
99.100.101.102 trinity.example.com trinity www.example.com
Этот сервер является Linode, и документы Linode, похоже, подразумевают, что вышеуказанный подход является лучшим (если я их правильно читаю). Вот соответствующий раздел. Я выделил жирным шрифтом линию, которая, кажется, здесь применима.
Обновите / etc / hosts
Затем отредактируйте файл / etc / hosts, как в следующем примере, заменив «plato» выбранным именем хоста, «example.com» - доменным именем вашей системы, а «12.34.56.78» - IP-адресом вашей системы. Как и в случае с именем хоста, часть доменного имени вашего FQDN не обязательно должна иметь какое-либо отношение к веб-сайтам или другим службам, размещенным на сервере (хотя это может быть, если вы хотите). Например, вы можете разместить на своем сервере «www.something.com», но полное доменное имя системы может быть «mars.somethingelse.com».
Файл: / etc / hosts
127.0.0.1 localhost.localdomain localhost 12.34.56.78 plato.example.com plato
Значение, которое вы назначаете как полное доменное имя вашей системы, должно иметь запись «A» в DNS, указывающую на IP-адрес вашего Linode.. Дополнительные сведения о настройке DNS см. В нашем руководстве по настройке DNS с помощью Linode Manager.
Правильные отношения между /etc/hosts
записей и DNS заключается в том, что если у вас есть рабочий DNS, / etc / hosts должен содержать только записи для localhost
(указывает на 127.0.0.1
и ::1
). Возиться с файлом hosts, когда у вас работает DNS, - это просто способ вызвать странное поведение и проблемы позже.1
Если вам нужен обратный DNS, обратитесь к своему интернет-провайдеру (Linode) и попросите его установить соответствующий PTR
запись для вашего IP-адреса.
Здесь нет требование чтобы запись PTR соответствовала записи A (или, действительно, для любого хоста с таким именем, который вообще существовал: 69.18.136.215 заменяется на cl136-215.invision.net, у которого нет прямого адреса), поэтому вы можете установить Имя PTR для соответствия записи A, CNAME или любому допустимому имени DNS, которое вы хотите.
1Как и во всех правилах, существуют исключения. Ваш случай не похож на один из них.
Если вы поместите эти записи в /etc/hosts
file ваша система будет обходить DNS и использовать запись из файла hosts.
Это может усложнить отладку, если что-то в одной из этих конфигураций (DNS или файл hosts) не так. Или у вас странное поведение, если вы измените записи DNS и забудете /etc/hosts
файл.
Вы можете использовать /etc/hosts
файл для тестирования, например для тестирования вашего сайта перед внесением изменений в DNS.
В настройках вашей системы /etc/hosts
файл, вероятно, читается, прежде чем прибегать к поиску DNS. Поэтому я бы, вероятно, предоставил IP-адрес системы, полное доменное имя (trinity.example.com), короткое имя (trinity) и адрес веб-сайта (www.example.com).
Вот руководство по формату вашего файла hosts. Видеть: Установка имени хоста: полное доменное имя или короткое имя?