Назад | Перейти на главную страницу

Почему я должен использовать полное доменное имя вместо IP-адреса сервера?

В своей работе с серверами мне приходилось сталкиваться с конфигурационными файлами, в которых нужно вводить адрес внешнего сервера. Я видел, как некоторые используют IP-адрес сервера напрямую, но я слышал много рекомендаций использовать имя хоста. полное доменное имя (FQDN) вместо этого. Почему я должен использовать имя хоста вместо прямого IP-адреса?

Потому что, если вы используете имя хоста, вам понадобится локальный DNS-сервер, который будет связывать каждое имя хоста с IP-адресом. В чем заключается недостаток использования имени хоста или IP-адреса?

Использование IP-адреса гарантирует, что вы не полагаетесь на DNS-сервер. Он также имеет преимущество предотвращения атак посредством подмены DNS.

Использование полного доменного имени вместо IP-адреса означает, что, если бы вы перенесли свою службу на сервер с другим IP-адресом, вы могли бы просто изменить запись в DNS, а не пытаться найти везде, где используется IP-адрес. .

Это особенно полезно, когда у вас есть много серверов и служб, настроенных несколькими людьми.

DNS - это не просто FQDN = IP

Важным в DNS является то, что он предоставляет больше, чем просто A-записи (hostname = IP). DNS предоставляет различные типы записей, такие как MX, CNAME, TXT и т. Д., Которые иногда могут потребоваться некоторым программам. Он позволяет использовать несколько адресных записей, записи IPv4 + IPv6, динамические адреса, балансировку нагрузки, разрешение на основе географического местоположения, отказоустойчивость / избыточность и т. Д. DNS сообщает вам, что такое (www.google.com - это веб-сервис Google, 172.217 .4.110? Что это такое?) Это позволяет вам изменять эти настройки / записи и получать их от клиентов без внесения изменений на всех клиентах. DNS может делать сложные вещи.

Использование DNS по прямому IP-адресу часто дает явное преимущество.

Полное доменное имя может быть требованием

Некоторые вещи, такие как веб-серверы, которые используют виртуальный хостинг на основе имени или балансировщики нагрузки и т. Д., Абсолютно требуют, чтобы вы обращались к ним через полное доменное имя или имя хоста. Они определяют, как ответить на ваш запрос, на основе полного доменного имени, к которому вы подключаетесь. Подключение через IP может вообще не работать.

Сертификаты SSL выдаются на основе доменных имен, поэтому вы не сможете (должным образом) использовать некоторые службы с поддержкой SSL без DNS.

Это поисковый запрос для домена google.com, который дает вам представление о сложности DNS.

google.com.             299     IN      A       172.217.0.174
google.com.             299     IN      AAAA    2607:f8b0:400b:807::200e
google.com.             599     IN      MX      10 aspmx.l.google.com.
google.com.             599     IN      MX      40 alt3.aspmx.l.google.com.
google.com.             59      IN      SOA     ns2.google.com. dns-admin.google.com. 126990955 900 900 1800 60
google.com.             599     IN      MX      30 alt2.aspmx.l.google.com.
google.com.             21599   IN      NS      ns2.google.com.
google.com.             599     IN      MX      20 alt1.aspmx.l.google.com.
google.com.             599     IN      MX      50 alt4.aspmx.l.google.com.
google.com.             21599   IN      NS      ns1.google.com.
google.com.             3599    IN      TXT     "v=spf1 include:_spf.google.com ~all"
google.com.             21599   IN      CAA     0 issue "symantec.com"
google.com.             21599   IN      NS      ns3.google.com.
google.com.             21599   IN      NS      ns4.google.com.

Yahoo отвечает 3 IP-адресами

$ host -ta yahoo.ca
yahoo.ca has address 77.238.184.24
yahoo.ca has address 74.6.50.24
yahoo.ca has address 98.137.236.24

Преимущество использования IP-адреса

Для меня это обычно, когда DNS может как-то мешать или недоступен. Обычно я бы использовал DNS для большинства вещей.

Один из примеров, когда IP-адрес может быть лучше, - это когда у вас есть две машины с прямой связью между ними (без коммутатора) с адресами частной сети (скажем, 192.168.1.1 и 192.168.1.2), и они используют его для связи с высокой доступностью. или DRBD или другой очень специфический сервис. В этом случае настройка DNS, вероятно, не имеет смысла. В этом нет необходимости, это добавит сложности, проблем с производительностью и может стать причиной отказа.

Другой пример - маршрутизация. Таблицы маршрутизации записывают IP-адреса по разным причинам.

Другой ссылается на серверы имен (например, в /etc/resolv.conf). Поскольку без сервера имен вы ничего не можете решить.