Файл /etc/resolv.conf используется для указания Linux-серверу, какому DNS-серверу должны направляться DNS-запросы. Здесь можно указать до трех DNS-серверов. Второй и третий серверы из списка будут использоваться в качестве резервных, если ответ не будет получен от первого (главного) сервера. Если в вашей сети имеется локальный DNS-сервер, то его нужно использовать в качестве главного. Если в локальной сети доступ организован на базе имен компьютеров, то это значительно увеличит скорость доступа, так как преобразование имен хостов в адреса через локальный DNS-сервер происходит быстрее. Если же DNS используется для доступа к удаленным компьютерам вне сети, то не следует ожидать повышения скорости доступа. Кроме того, в этом файле можно указать имя домена по умолчанию для ускорения поиска доменов системой DNS. Например, можно указать начало поиска доменов с домена smallorg.org как с домена по умолчанию. Теперь, если нужно получить IP-адрес для хоста fred.smallorg.org, можно просто указать имя хоста fred, и ОС Linux будет автоматически добавлять к нему имя домена smallorg.org. К сожалению, это может работать и против вас. Дело в том, что система DNS будет добавлять имя домена smallorg.org ко всем хостам, для которых она производит преобразование имен. Так, если осуществляется соединение с узлом www.linux.org, сначала ведется поиск узла www.linux.org.smallorg.org. Если найти его не удалось, то производится поиск уже www.linux.org. В листинге 1 показан пример файла /etc/resolv.conf для клиента DNS на базе ОС Linux.
1 search smallorg.org
2 nameserver 10.0.0.1
3 nameserver 10.0.0.2
4 nameserver 10.0.0.3
Листинг 1. Пример файла /etc/resolv.conf
В строке 1 задается поиск домена по умолчанию, который следует использовать во всех DNS-запросах. Помните, что это может замедлить обработку запросов для хостов, не принадлежащих к вашему домену, так как текст по команде search будет добавляться ко всем запросам. В строках 2–4 указаны главный, вторичный и третичный DNS-серверы, которые обслуживают данного клиента. Наиболее часто в их роли выступают DNS-серверы провайдера, назначаемые для вашей сети, хотя вполне возможно использование и других DNS-серверов по желанию (если, конечно, ваш провайдер не фильтрует DNS-запросы).
Файл hosts
Еще один метод преобразования имен заключается в использовании локальной базы данных имен хостов, подобно тому, как это делалось на заре сети Internet. Файл /etc/hosts содержит список имен хостов с соответствующими IP-адресами. В листинге 2 приводится пример файла /etc/hosts для клиента на базе ОС Linux. В нем должны содержаться имя вашей машины и ее IP-адрес, а также IP-адрес петли 127.0.0.1 для служебных целей. Кроме того, если имеются какие-либо удаленные хосты, к которым периодически подключается ваш сервер на ОС Linux, их IP-адреса также желательно указать в файле /etc/hosts. Теперь при каждом обращении к этим хостам у Linux-сервера уже будут их IP-адреса; таким образом, необходимость в выполнении DNS-запросов отпадает. К тому же это намного ускоряет установление соединения.
1 127.0.0.1 localhost
2 192.168.0.1 shadrach.smallorg.org
3 10.0.0.1 mail1.isp.net
4 10.0.0.2 mail2.isp.net
5 10.0.0.3 fred.otherplace.com
Листинг 2. Пример файла /etc/hosts
В первой и второй строках указываются IP-адреса для локального Linux-сервера. В строках 3–5 представлены IP-адреса для наиболее часто запрашиваемых машин вашей сети. Благодаря этому ускоряется доступ к ним c сервера на базе ОС Linux, по сравнению с использованием системы DNS.
Имя localhost
Во всех компьютерах с ОС Linux осуществляется поддержка имени localhost. Этому имени всегда соответствует IP-адрес 127.0.0.1, который присваивается специальному сетевому устройству типа "петля". Эти имя и адрес позволяют внутренним процессам взаимодействовать с другими процессами в этой же системе по сетевым протоколам. Многие программы даже сконфигурированы на использование имени localhost. Изменение этого имени или соответствующего ему IP-адреса может повлиять на работу этих программ.