Насколько я понимаю, hosts
файл является одним из нескольких системных средств, которые помогают в адресации сетевых узлов в компьютерной сети. Но что должно быть внутри? Когда я устанавливаю Ubuntu по умолчанию
127.0.0.1 localhost
Будет здесь. Зачем?
- Как
/etc/hosts
работает в случае систем JVM, таких как Cassandra? - Когда альтернатива DNS, я думаю, не на одном компьютере?
/etc/hosts
Содержит мое содержимое,127.0.0.2 mycouchdb bookmarkdb myothercouchapp
и127.0.0.3 myapachi website
я использую его, чтобы помочь мне в разработке на моем локальном компьютере. У меня есть 3 службы, прослушивающие порт 80. Я не хочу помещать их в DNS, поскольку они являются только локальными.man 5 hosts
?Ответы:
Файл был
/etc/hosts
запущен в старые времена DARPA как файл разрешения для всех хостов, подключенных к Интернету (до появления DNS). Он имеет максимальный приоритет, то есть этот файл предпочтительнее, чем любая другая система имен. 1Однако, как один файл, он не масштабируется хорошо: размер файла становится слишком большим очень скоро. Вот почему была разработана система DNS, иерархическая система распределенных имен. Это позволяет любому хосту эффективно находить числовой адрес другого хоста.
Очень старая концепция
/etc/hosts
файла очень просто, адрес и имя хоста:для каждой строки. Это простой список пар адрес-хост. 2
Его основное современное использование - обойти разрешение DNS. Найденное в
/etc/hosts
файле совпадение будет использовано перед любой записью DNS. Фактически, если искомое имя (напримерlocalhost
) найдено в файле, разрешение DNS вообще не будет выполняться.1 Ну, на самом деле порядок разрешения имен определен в
/etc/nsswitch.conf
, который обычно имеет следующую запись:что означает «попробуй files (
/etc/hosts
); а если не получится, попробуй DNS».Но этот порядок может быть изменен или расширен.
2 (в настоящее время) Файл hosts содержит строки текста, состоящие из IP-адреса в первом текстовом поле, за которым следует одно или несколько имен хостов. Каждое поле отделено пробелом - вкладки часто предпочитаются по историческим причинам, но пробелы также используются. Строки комментариев могут быть включены; они обозначены восьмиугольником (#) в первой позиции таких строк. Полностью пустые строки в файле игнорируются. Например, типичный файл hosts может содержать следующее:
Этот пример содержит записи для петлевых адресов системы и их имен хостов, первая строка - это типичное содержимое по умолчанию файла hosts. Вторая строка имеет несколько дополнительных (возможно, допустимых только в локальных системах) имен. Пример иллюстрирует, что IP-адрес может иметь несколько имен хостов (localhost и loopback), и что имя хоста может быть сопоставлено с IP-адресами IPv4 и IPv6, как показано в первой и второй строках соответственно. Одно имя (
mycomputer.lan
) может разрешать несколько адресов (192.168.0.8 10.0.0.27
). Однако в этом случае то, какой из них используется, зависит от маршрутов (и их приоритетов), установленных для компьютера.Некоторые старые ОС не имели возможности сообщить список адресов для данного имени.
источник
Использование файла / etc / hosts для присвоения понятного человеку имени локальной системе в среде рабочего стола вполне разумно. Файл hosts отлично подходит для использования в домашней сети или даже в среде малого бизнеса. Это не может быть публичной стороной, как интернет-адресация - тогда вам нужен DNS. Если локальная сеть достаточно велика или просто обрезана в разных подсетях, или по любой другой полезной причине, DNS предпочтительнее.
Локальный хост-файл и DNS управляются с другим приоритетом, поэтому никаких конфликтов не возникает.
источник
/etc/hosts
записи, которые в будущем приводили к сбою операции by by group-B (моя группа) и мы закончили тем, что установили что-то для/etc/hosts
осмелюсь сказать, что в linux всегда должен быть хотя бы
127.0.0.1 localhost
файл,/etc/hosts
а также соответствующий IPv6-адрес для localhost .Это просто преобразование имени хоста в числовой адрес IPv4 или IPv6. Когда вы пытаетесь подключиться к сети (а) unix.stackexchange.com где-то на земле, которая, вероятно, не находится рядом с вами, или (б) myotherpc в локальной сети в вашем доме, это либо один
/etc/hosts
или несколько серверов доменных имен (DNS), которые выполняет разрешение хоста, поэтому, когда вы набираете unix.stackexchage.com, который, как человек, является тем, что вас волнует, вам не нужно помнить 185.53.179.7, а именно то, что на самом деле нужно знать компьютеру.Как было указано, в linux
/etc/nsswitch
обычно есть порядок разрешения имен хостов, то есть сначала проверьте DNS, прежде чем проверять NIS, а затем, наконец, проверьте файл,/etc/hosts
иначе хост не найден.Как вы управляете проверкой заказа и что / где / кто / кто управляет службой DNS или NIS, зависит от вас, или вы можете переопределить все, изменив / etc / nsswitch, чтобы регистрировать только
/etc/hosts
и никогда не проверять с помощью DNS или NIS или ...Для простой домашней сети, состоящей из нескольких компьютеров, скажем, от 2 до N, администратор просто отредактировал бы
/etc/hosts
на каждом компьютере, чтобы он был корректным, было бы проще, быстрее, дешевле, чем настроить сервер доменных имен или какую-либо другую службу, чтобы иметь одно главное местоположение или полномочия на разрешение имени хоста по IP-адресу.для веб-поиска linux история и причина позади
localhost
. Многие вещи в Linux основаны на том, что имя localhost разрешается до 127.0.0.1, и если этого не произойдет, это вызовет проблемы, и это определение localhost будет / должно произойти в локальном системном файле, таком как / etc / hosts./etc/hosts
по умолчанию, как правило, последнее слово и последнее, что операционная система Linux должна использовать для разрешения имен хостов. в Windows XP и 7 соответствующий файлC:\Windows\System32\drivers\etc\lmhosts
я не знаю о Windows 8 или 10.источник