Документация по ОС FreeBSD
Понедельник, 17.11.2025, 23:43
Главная
Регистрация
Вход
Приветствую Вас
Гость
|
RSS
Меню сайта
Главная страница
Новости в мире Unix
NEW
Каталог файлов
NEW
Установка и настройка
Ports & Packages
cvs
Безопасность
Работа с железом
X Window
Multimedia
Man pages
Net
Apache
DNS
FTP
Mail
Samba
Squid
SSH
VPN
РРР
Shell
IPFW
Tips'n'tricks
RFC
Книги по FreeBSD
Темы экзамена BSDA
Гостевая книга
Форум на bsdportal.ru
Каталог сайтов
Самый свежий софт
Каталог ссылок
Категории каталога
Apache
[58]
DNS
[25]
FTP
[27]
Mail
[74]
Samba
[24]
Squid
[46]
SSH
[23]
VPN
[35]
РРР
[20]
Net
[173]
Главная
»
Статьи
»
Сеть
»
DNS
Hosts - немного информации о файле hosts [2012]
Устал отвечать на вопросы: "что такое файл hosts?", и "с чем его едят?"...
hosts - текстовый файл, содержащий базу данных доменных имен и используемый при их трансляции в сетевые адреса узлов. Запрос к этому файлу имеет приоритет перед обращением к DNS-серверам. В отличие от DNS, содержимое файла контролируется администратором компьютера.
Как это было...
В далекие времена, когда Интырнеты были маленькие, а компутеры большие, аки шкафы, было создано несколько сетей. Среди них Arpa, Chaos ну и другие. Естественно встал вопрос о нумерации компьютеров в сети, который был решен средствами сетевых протоколов. Изначально, когда сеть была малого размера, доступ к компьютерам сети мог осуществляться по сетевому адресу (например по ip). Далее, с ростом сети, это стало неудобно, и потребовалась замена стандартной схемы. Поэтому сетевыми администраторами была придумана система hosts. Был создан файл, в котором в явном виде указывалось соответствие сетевого адреса адресу мнемоническому. Это нововведение значительно упростило жизнь пользователей, ведь теперь не надо было запоминать эти многочисленные цифры, а достаточно иметь такой файлик у себя. Однако подобный файл с ростом сети стал просто огромным и и плохо оптимизированным, т.е. для того, чтобы все пользователи сети узнали о новом сервере с адресом, например, 193.232.159.144 под именем music.ru, необходимо было разослать всем участникам сети этот файл и вручную добавить описание нового хоста к файлу. С ростом сети сделать это было все сложнее и сложнее, а когда запросы на добавление стали приходить несколько раз в час, то и просто невозможно. От традиционной системы пришлось отказаться, и была разработана система доменных имен - DNS.
Однако, стоит отметить, что файл hosts никуда не пропал. Даже на сегодняшний день он присутствует в большинстве операционных систем. В Unіх-системах путь к нему /etc/hosts. В продуктах Microsoft он доступен по адресу: C:\WINDOWS\system32\drivers\etc\hosts.В данном файле в прямое соответствие выставляются ip-адрес и доменное имя. Пример файла hosts:
Итак, сначала идут комментарии (начинаются со знака "#"). Ну а дальше - уже идут записи, описывающие соответствия IP-адрес<-> имя. У меня только одна запись - 127.0.0.1 - localhost. Эта запись указывает на то, что адрес обратной петли отвечает имя localhost.
Однако, ничего не запрещает добавить в hosts, например, такую запись:
93.158.134.11
yandex.ru
В этом случае, все запросы на yandex.ru будут постоянно перенаправляться на IP-адрес 93.158.134.11. Записи в файле hosts имеют первоочередной приоритет при преобразовании имени в IP.
Попробуем разобраться, почему это происходит. Ни для кого не секрет, что при попытке расшифровки имени, DNS-client компьютера обращается изначально к кешу DNS, в котором информация о предыдущих преобразованиях хранится некоторое время. Это время задается либо в записи SOA для всего доменного имени, либо отдельно для каждой зоны (для MX-записи может быть одно, для А-записи - другое...). Запись в файле hosts это время делает бесонечно большим, т.е. эта запись хранится постоянно и не изменяется.
Отображение и очистка кеша DNS
Попробуем более подробно разобраться, что такое кеш DNS. Это информация, о соответствии IP-адрес<-> имя, которая хранится в памяти устройства. Для чего это нужно? Рассмотрим на простом примере... Воспользуемся утилитой ping, которая посылает ICMP-пакеты "поверх" IP-протокола, и получает их обратно (при этом используются различные метки).
Однако, когда даем команду "ping yandex.ru", компьютер должен сначала выполнить преобразование DNS-имени yandex.ru в IP-адрес 93.158.134.11. Кеш DNS нужен для того, чтобы каждый раз не делать запросов на разрешение доменного имени в IP-адрес заново.
Если выполнить команду ping, как в примере, то если бы не было кеша DNS, процедуру преобразование DNS-имени yandex.ru в IP-адрес необходимо было бы выполнить 10 раз. Также стоит иметь ввиду, что DNS-сервера провайдера тоже кешируют информацию на период времени, указанный в SOA-записи домена.
Для просмотра локального DNS-кеша на компьютере под управлением OS Windows воспользуемся коммандой ipconfig с ключем displaydns:
Этот список и есть локальный DNS-кеш, где параметр "Срок жизни" - это время в секундах, которое запись еще будет храниться.
Чтобы сбросить кеш, необходимо использовать ключ flushdns. После выполнения "ipconfig -flushdns" будет сброшен весь кеш DNS, исключая записи, указанные в файле hosts.
Что это нам дает?
Озникомившись с информацией, необходимо взять ее "на вооружение". В основном возможность использования файла hosts пригодится веб-мастерам и системным администраторам. Довольно удобно использовать файл hosts при переносе хостинга или других операциях, где необходимо эмулировать запросы к DNS-имени.
Также стоит иметь ввиду, что в файл hosts довольно часто добавляют информацию вредоносные программы, блокируя доступ к сайтам обновлений антивирусных программ. Так что, если антивирус не обновляется - проверьте первым делом файл hosts.
Источник:
http://muff.kiev.ua/content/hosts-nemnogo-informatsii-o-faile-hosts
Категория:
DNS
| Добавил:
oleg
(11.03.2012) | Автор:
muff
Просмотров:
1778
| Рейтинг:
4.0
/
1
|
- Оценить -
Отлично
Хорошо
Неплохо
Плохо
Ужасно
Всего комментариев:
0
Добавлять комментарии могут только зарегистрированные пользователи.
[
Регистрация
|
Вход
]
Форма входа
Друзья сайта
Google+
Copyright MyCorp © 2025