Документация по ОС FreeBSD Суббота, 27.04.2024, 04:42
Приветствую Вас Гость | RSS
Меню сайта

Категории каталога
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
Просмотров: 1628 | Рейтинг: 4.0/1 |
Всего комментариев: 0
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]
Форма входа

Beastie

Друзья сайта

Статистика

Онлайн всего: 1
Гостей: 1
Пользователей: 0
links

Copyright MyCorp © 2024