Нажмите "Enter", чтобы перейти к содержанию

Etc host: The OpenNet Project: .

host.conf(5) — Arch manual pages

host.conf(5)File Formats Manualhost.conf(5)

host.conf — файл с настройками для резолвера

В файле /etc/host.conf содержатся настройки для библиотеки резолвера (resolver). Данный файл должен содержать в каждой строке одно ключевое слово, за которым следует информация о соответствующей этому ключевому слову настройке. Ключевые слова:

trim
This keyword may be listed more than once. Each time it should be followed by a list of domains, separated by colons (‘:’), semicolons (‘;’) or commas (‘,’), with the leading dot. When set, the resolver library will automatically trim the given domain name from the end of any hostname resolved via DNS. This is intended for use with local hosts and domains. (Related note: trim will not affect hostnames gathered via NIS or the hosts(5) file.
Care should be taken to ensure that the first hostname for each entry in the hosts file is fully qualified or unqualified, as appropriate for the local installation.)
multi
Допустимыми для этого ключевого слова являются значения on и off. Если задано on, то библиотека резолвера будет возвращать все допустимые адреса узла, которые встретились в файле /etc/hosts, а не только первый из них. По умолчанию используется off, так как в противном случае возможно существенное снижение производительности на машинах с большими файлами узлов.
reorder
Допустимыми для этого ключевого слова являются значения
on
и off. Если задано on, то библиотека резолвера будет пытаться перегруппировать адреса узлов так, чтобы локальные адреса (т. е. адреса в той же подсети) были выданы первыми, когда выполняется вызов gethostbyname(3). Перегруппировка выполняется для всех методов поиска. По умолчанию значение установлено в off.

Существуют переменные окружения, которые могут быть использованы, чтобы позволить пользователям изменить поведение, настроенное через /etc/host.conf:

RESOLV_HOST_CONF
Если значение этой переменной является именем файла, то он будет прочитан вместо файла
/etc/host.conf
.
RESOLV_MULTI
Заменяет значение ключа multi.
RESOLV_REORDER
Заменяет значение ключа reorder.
RESOLV_ADD_TRIM_DOMAINS
A list of domains, separated by colons (‘:’), semicolons (‘;’), or commas (‘,’), with the leading dot, which will be added to the list of domains that should be trimmed.
RESOLV_OVERRIDE_TRIM_DOMAINS
A list of domains, separated by colons (‘:’), semicolons (‘;’), or commas (‘,’), with the leading dot, which will replace the list of domains that should be trimmed. Overrides the trim command.
/etc/host.conf
Файл с настройками резолвера
/etc/resolv.conf
Файл с настройками резолвера
/etc/hosts
Локальная база данных узлов

Существуют следующие различия с первоначальной реализацией: новая команда spoof и новая переменная окружения RESOLV_SPOOF_CHECK могут быть установлены в значение off, nowarn и warn. Комментарии могут вставляться везде, а не только в начале строки.

Современным способом управления порядком поиска узлов является файл nsswitch. conf(5).

В glibc 2.4 и старее, распознаётся следующее ключевое слово:

order
Данное ключевое слово задает метод, с помощью которого будет осуществляться поиск адреса узла. За этим словом должно следовать одно или несколько названий методов, разделённых запятыми. Допустимы следующие названия методов:
bind
, hosts и nis.
RESOLV_SERV_ORDER
Заменяет команду order.

Начиная с glibc 2.0.7 и до версии 2.24 не обрабатываются, но распознаются следующие ключевые слова и переменная окружения:

nospoof
Допустимыми для этого ключевого слова являются значения on и off Если задано on, то библиотека резолвера будет пытаться предотвратить подмену имён узлов для усиления безопасности rlogin and rsh.
Это работает так: после выполнения поиска адреса узла по имени, библиотека резолвера будет выполнять поиск имени узла по адресу. Если два имени не совпадут, то запрос завершается ошибкой. По умолчанию значение установлено в off.
spoofalert
Допустимыми для этого ключевого слова являются значения on и off. Если задано on и при этом также установлен параметр nospoof, то библиотека резолвера будет записывать в системный журнал предупреждения об ошибках через syslog. По умолчанию значение установлено в off.
spoof
Допустимыми для этого ключевого слова являются значения off, nowarn и warn. Если задано off, то подмена адресов допускается и в системный журнал через syslog не будет попадать никаких предупреждающих сообщений. Если значение параметра равно warn, то библиотека резолвера будет пытаться предотвратить обман по именам узлов для усиления безопасности и в системный журнал через syslog будут записываться предупреждения об ошибках. Если значение параметра равно nowarn, то библиотека резолвера будет пытаться предотвратить обман по именам узлов для усиления безопасности, но предупреждающие сообщения генерироваться не будут. Присвоение других значений будет считаться установкой в значение
nowarn
.
RESOLV_SPOOF_CHECK
Заменяет значение ключей nospoof, spoofalert и spoof тем же способом как задаётся значение для ключа spoof. Допустимыми являются значения off, nowarn и warn.

gethostbyname(3), hosts(5), nsswitch.conf(5), resolv.conf(5), hostname(7), named(8)

Русский перевод этой страницы руководства был сделан Yuri Kozlov <[email protected]> и Иван Павлов <[email protected]>

Этот перевод является бесплатной документацией; прочитайте Стандартную общественную лицензию GNU версии 3 или более позднюю, чтобы узнать об условиях авторского права. Мы не несем НИКАКОЙ ОТВЕТСТВЕННОСТИ.

Если вы обнаружите ошибки в переводе этой страницы руководства, пожалуйста, отправьте электронное письмо на man-pages-ru-talks@lists. sourceforge.net.

5 февраля 2023 г.Linux man-pages 6.03

где находится и как его изменить

Справочная информация >> Часто задаваемые вопросы >> Технические вопросы (MySQL, FTP, SSH и т.п.) >> Файл hosts: где находится и как его изменить


Файл hosts — текстовый документ, который содержит в себе информацию о домене и IP-адресе, который ему соответствует. Со дня своего появления файл hosts служил неким маршрутизатором, пока на замену ему не пришла служба DNS. Но он по-прежнему используется как инструмент, который обладает приоритетом в обращение с DNS-серверами. Как работают DNS-сервера вы можете узнать в статье «Что такое DNS».

Зачем нужен файл hosts

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

Где находится файл hosts

Путь к папке, где лежит файл hosts, зависит от операционной системы, которая установлена на вашем компьютере:

  • Windows XP, 2003, Vista, 7, 8, 10 — c:\windows\system32\drivers\etc\hosts;
  • Linux, Ubuntu, Unix, BSD — /etc/hosts;
  • macOS — /private/etc/hosts.

Редактировать файл etc hosts нужно от имени администратора, иначе вы не сможете сохранить внесённые изменения.

Как внести изменения в файл hosts

Ниже мы рассмотрим, как редактировать и как сохранить изменения в файле hosts. Важно открыть файл с правами администратора, иначе система не даст вам его сохранить.

В Windows 8, 10

Чтобы изменить файл hosts в Windows 8, 10, выполните следующие действия:

  1. Запустите «Блокнот» или любой другой редактор от имени администратора:

  2. В меню «Файл» нажмите Открыть и перейдите в каталог, где находится файл hosts. Измените тип файла на «Все файлы»:

  3. Выберите файл hosts и откройте его:

  4. Добавьте в конце файла необходимую запись в формате:

    000.000.000.000 hostland.ru www.hostland.ru

    000.000.000.000 — IP-адрес вашего сервера или хостинга;

    hostland.ru www.hostland.ru — имя вашего домена.

  5. Сохраните изменения в файле.

Теперь вы можете открыть ваш сайт в браузере, не дожидаясь обновления DNS-серверов.

В Linux, Unix

Чтобы изменить файл hosts в Linux, Unix , выполните следующие действия:

  1. В Linux файл hosts находится в папке etc. Чтобы отредактировать его, введите втерминал linux команду:

    sudo nano /etc/hosts
  2. Добавьте в конце файла необходимую запись в формате:

    000.000.000.000 hostland.ru www.hostland.ru

    000.000.000.000 — IP-адрес вашего сервера или хостинга;

    hostland.ru www.hostland. ru — имя вашего домена.

  3. Сохраните изменения в файле.

Теперь вы можете открыть ваш сайт в браузере, не дожидаясь обновления DNS-серверов.

Файл hosts в Ubuntu редактируется так же, как и во всех Unix-системах.

В MacOS

Файл hosts в Mac OS расположен в каталоге: /private/etc/hosts. Чтобы изменить его выполните следующие действия:

  1. Запустите терминал с помощью горячих клавиш: Command (⌘) + T или через Spotlight;
  2. Введите команду:

    sudo nano /etc/hosts

    и нажмите Enter:

  3. Добавьте в конце файла необходимую запись в формате:

    000. 000.000.000 hostland.ru www.hostland.ru

    000.000.000.000 — IP-адрес вашего сервера или хостинга;

    hostland.ru www.hostland.ru — имя вашего домена.

  4. Сохраните изменения в файле.

Теперь вы можете открыть ваш сайт в браузере, недожидаясь обновления DNS-серверов.

Удачной работы! Если возникнут вопросы — напишите нам, пожалуйста, тикет из панели управления хостингом, раздел «Помощь и поддержка».

Файловая система

. Какая польза от /etc/hosts?

спросил

Изменено 6 лет, 2 месяца назад

Просмотрено 91к раз

Я новичок в Ubuntu и хочу знать: каково точное использование /etc/hosts ?

Допустим, я добавляю в него это:

 127. 0.x.x мой домен
 

Что это значит?

  • файловая система
  • Интернет

Файл hosts является одним из нескольких системных средств, помогающих адресовать сетевые узлы в компьютерной сети. Это обычная часть реализации интернет-протокола (IP) операционной системы, которая выполняет функцию преобразования удобных для человека имен хостов в числовые адреса протокола, называемые IP-адресами, которые идентифицируют и определяют местонахождение хоста в IP-сети. В некоторых операционных системах содержимое файла hosts используется предпочтительно по сравнению с другими методами, такими как система доменных имен (DNS), но многие системы реализуют переключатели службы имен (например, nsswitch.conf для Linux и Unix) для обеспечения настройки. В отличие от DNS, файл hosts находится под непосредственным контролем администратора локального компьютера 9.0005

Файл hosts содержит текстовые строки, состоящие из IP-адреса в первом текстовом поле, за которым следует одно или несколько имен хостов. Каждое поле отделяется пробелом (пробелы или символы табуляции). Могут быть включены строки комментариев; они обозначаются решеткой (#) в первой позиции таких строк. Полностью пустые строки в файле игнорируются. Например, типичный файл hosts может содержать следующее:

.
 # Это пример файла hosts
127.0.0.1 петля на локальном хосте
::1 локальный хост
 

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

Википедия


Это неверно (?):

 127.0.xx mydomain
 

Подстановочные знаки: * , поэтому должно быть 127.0.*.* , но я почти ничего не вижу, кроме 127.0.0.1 😉


Это означает, что вы можете использовать mydomain в качестве имени для этого IP-адреса. Легче использовать www.google.com , чем помнить IP-адрес ( 74.125.132.106 ), который Google использует для своей поисковой системы. То же самое работает локально (localhost) на вашем компьютере. Если вы запускаете свой собственный экземпляр Apache, вы можете установить локальный IP-адрес на имя и использовать это имя в браузере.


::1 в примере — это версия IP v6 для IP-адресов.

0

Это означает, что система не будет выполнять поиск DNS для mydomain , он будет автоматически перенаправлен на IP-адрес, указанный вами в файле hosts.

В большинстве систем запись по умолчанию в файле hosts:

 127.0.0.1 localhost
 

127.0.0.1 — это всегда адрес компьютера, на котором вы находитесь. Например, если вы запускаете веб-сервер на своем компьютере, вы можете получить к нему доступ из веб-браузера через http://localhost:port вместо ввода всего IP-адреса http://127. 0.0.1:port .

Зарегистрируйтесь или войдите в систему

Зарегистрируйтесь с помощью Google

Зарегистрироваться через Facebook

Зарегистрируйтесь, используя электронную почту и пароль

Опубликовать как гость

Электронная почта

Требуется, но не отображается

Опубликовать как гость

Электронная почта

Требуется, но не отображается

Нажимая «Опубликовать свой ответ», вы соглашаетесь с нашими условиями обслуживания, политикой конфиденциальности и политикой использования файлов cookie

.

12.04 — Почему файл /etc/hosts не работает?

Задавать вопрос

спросил

Изменено 1 год, 7 месяцев назад

Просмотрено 157 тысяч раз

У меня были проблемы с этим некоторое время, и я перепробовал все, что знал, поэтому я решил, что наконец пришло время обратиться за помощью.

Любое изменение, которое я делаю в /etc/hosts , просто не работает.

Пример:

 julian@ifrit:~$ cat /etc/hosts
127.0.0.1 локальный хост
127.0.1.1 ифрит
192.168.1.100 dev.julianfernand.es
 

В приведенном выше примере, когда я получаю доступ к dev. julianfernand.es (этого не существует), он должен загружаться из 192.168.1.100 .

Если я пингую, все работает нормально. Однако, когда я получаю доступ к dev.julianfernand.es с помощью Google Chrome или Firefox, это не так.

Теперь, после пары перезагрузок, все работает. Но поскольку я работаю в управляемой хостинговой компании WordPress, мне приходится сталкиваться со многими ситуациями, когда мне приходится редактировать свой файл, чтобы увидеть сайт клиента на нашем сервере.

Я просто не могу больше перезагружать свой компьютер. Это совсем не продуктивно. Перезапуск сетевой службы не работает, то же самое касается очистки кеша (даже внутреннего кеша Chrome DNS).

У кого-нибудь есть идея? Это происходит с elementaryOS (на основе Ubuntu 12.04) и Ubuntu 13.10 (ежедневно). С другой версией пока не пробовал.

PS: Если это имеет значение, у меня есть сервер NGINX, работающий на этой машине с PHP-FPM и MySQL.

Заранее спасибо 🙂

  • 12.04
  • сеть
  • DNS
  • хосты

4

В Ubuntu, если вы хотите очистить кэш DNS, вам необходимо перезапустить демон nscd .

Установите nscd с помощью следующей команды:

 sudo apt-get install nscd
 

Очистить кеш DNS в Ubuntu с помощью следующей команды:

 перезапуск службы sudo nscd
 

ИЛИ

 служба sudo dns-чистый запуск
 

Ссылка: http://www.upubuntu.com/2012/05/how-to-flush-clear-dns-cache-under.html

2

Для меня решением было отредактировать файл /etc/nsswitch.conf (вы можете использовать команду sudo vim /etc/nsswitch.conf ). Я изменил строку:

 hosts: файлы mdns4_minimal [NOTFOUND=return] dns
 

для:

 хостов: файлы DNS mdns4_minimal [NOTFOUND=return]
 

и теперь он работает как положено!

3

У меня сработало следующее: добавить

 addn-hosts=/etc/hosts
 

в

 /etc/NetworkManager/dnsmasq. d/hosts.conf
 

убить dnsmasq и

 перезапустить службу NetworkManager
 

1

Принятый ответ работает с 12.04 по 13.04 путем отключения dnsmasq , но у меня он перестал работать в 13.10. Я нашел следующее новое решение для 13.10.

Отредактируйте файл /etc/default/dnsmasq и измените ENABLED=1 на ENABLED=0 и перезапустите.

2

Откуда: http://blog.calebthorne.com/2012/08/broken-etchosts-in-ubuntu-1204.html

Новая «функция» настольной версии Ubuntu 12.04 — использовать dnsmasq в качестве плагина к NetworkManager для локального DNS. Dnsmasq предназначен для ускорения служб DNS и DHCP, но имеет один неприятный побочный эффект: dnsmasq кэширует локальный DNS и игнорирует изменения в /etc/hosts . Я часто вношу изменения в файл hosts во время работы с веб-сайтами, поэтому эта «функция» меня сильно раздражала.

Решение — отключить dnsmasq в файле конфигурации Networkmanager. Открыть /etc/NetworkManager/NetworkManager.conf и закомментируйте строку:

 dns=dnsmasq
 

Мой файл NetworkManager.conf содержит следующее:

 [основной]
плагины = ifupdown, ключевой файл
# dns=dnsmasq
[ifupdown]
управляемый = ложь
 

См. также https://bugs.launchpad.net/ubuntu/+source/network-manager/+bug/993298

3

Глупо, но в моем случае «виноват» кеш браузера = должно быть очевидно для разработчика 🙁

Еще одна глупая (очевидная) вещь, которую я упустил. Браузеры (Chrome, Mozilla) выполняют поиск в Google (или поисковой системе) прямо из адресной строки, поэтому вместо разрешения адреса, который вы дали, они ищут это слово в Интернете!

Решение:

  • После редактирования файла /etc/hosts пропингуйте выбранный адрес! Если команда ping разрешает IP-адрес, который вы указали, файл «hosts» работает!

  • Очистить кеш браузера (браузеры кэшируют разрешения DNS на некоторое время (TTL))

  • Отключить поисковую систему по умолчанию используемого вами браузера

1

  1. Создать /etc/NetworkManager/dnsmasq. d/hosts.conf .
  2. Поместите в него строки типа address=/whatever/1.2.3.4 . См. документы (ищите --адрес ). Возможны подстановочные знаки: address/.whatever./1.2.3.4 .
  3. Убить dnsmasq (ошибка).
  4. Перезапустите его: $ перезапуск диспетчера сети службы .

Изменить /etc/nsswitch.conf , закомментировать строку ниже, добавив # перед строкой

 hosts: files mdns4_minimal [NOTFOUND=return] dns myhostname
 

и добавить

 хостов: файлы mdns4_minimal [NOTFOUND=return] dns
 

В основном конфигурация изменена. Теперь процесс поиска домена сначала будет обращаться к файлу /etc/hosts , а затем к DNS. С конфигурацией по умолчанию он сначала консультируется с DNS, прежде чем с любыми другими соответствующими службами или файлами.

Для быстрой проверки работоспособности вы можете использовать

 sudo python -m SimpleHTTPServer 80
 

, чтобы создать простой HTTP-сервер для обслуживания файлов из каталога, а затем прокомментировать строку ниже в файле /etc/hosts

 127. 0.0.1 localhost
127.0.1.1 01hw730983
 

и добавьте содержимое

 127.0.0.1
 

, затем перейдите в браузер и введите content/ , если вы видите, что структура каталогов работает, иначе нет.

Похоже, ваша установка очень похожа на мою. У меня есть коробка с Ubuntu в качестве моего офисного сервера и хоста для разработки. На этом компьютере я запускаю приложения Nginx, Apache, Tomcat, Rails и все, что мне нужно.

С моего Mac я могу просто добавить запись hosts и загрузить сервер с любым именем, которое мне нужно, но с клиента ElementaryOS это не работает.

Я пробовал указанные выше исправления, но безуспешно.

Я запустил Squid Proxy Server и добавил имена хостов в /etc/hosts на сервере. (Редактирование требует перезапуска squid.)

После этого выполните соответствующие настройки прокси в браузере или панели управления ОС.

Проверьте права доступа к файлу /etc/hosts .

В моей облачной службе после клонирования сервера права доступа к файлу hosts изменились с 644 на 600 , поэтому файл не может быть прочитан apache ( www-data ), я думаю.

Ваш комментарий будет первым

    Добавить комментарий

    Ваш адрес email не будет опубликован. Обязательные поля помечены *