Смысл присваивания IP-адресам имен, состоящих из слов, в том, чтобы облегчить людям их запоминание. В действительности, IP-адрес идентифицирующий сетевой интерфейс связан с устройством, таким как сетевая карта. Поскольку каждая машина может иметь несколько сетевых карт, и несколько сетевых интерфейсов на каждой карте, такой одиночный компьютер может иметь несколько имен в доменной системы имен.
Однако, вначале каждая машина идентифицируется по главному (или “каноническому”) имени, сохраненном в файле /etc/hostname
и общается с Linux-ядром сценариями инициализации через команду hostname
. Настоящее значение доступно в виртуальной файловой системе, и может быть получено с командой cat /proc/sys/kernel/hostname
.
Удивительным является то, что доменное имя не управляется подобным образом, а приходит в ядро извне от полного имени машины, которое той присвоено через систему разрешения имен. Вы можете изменить имя машины в файле /etc/hosts
; просто запишите полное имя для машины там вначале перечня имен, связав его с адресом машины, как в следующем примере:
Механизм разрешения имен в Linux модульный и может использовать различные источники информации, объявленные в файле /etc/nsswitch.conf
. Запись hosts
включает в себя порядок разрешения имен. По умолчанию эта запись содержит files dns
, а это значит, что система вначале консультируется с файлом /etc/hosts
, затем с указанными в нем DNS серверами. NIS/NIS+ или LDAP серверы являются другими возможными источниками.
8.3.1.1. Настройка DNS-серверов
DNS (Служба доменных имен) является распределенной и иерархической службой, переводящей имена машин в IP-адреса (десятичные), и наоборот. В частности, она может превратить хорошо понятное людям имя, такое как www.eyrolles.com
в реальный IP адрес, 213.244.11.247
.
Для доступа к информации, размещенной на DNS сервере, сам сервер должен быть доступен для того, чтобы передавать запросы дальше (ретранслировать). У Falcot Corp имеется свой DNS сервер, но индивидуальным пользователям более подойдет вариант использовать DNS сервер, предоставляемый их ISP (интернет-провайдером).
DNS серверы, которые будут использоваться, указываются в файле /etc/resolv.conf
, по одному в строке, где вначале строки идет слово nameserver
, а далее указан десятичный IP адрес (это при варианте статичного адреса IP вашей машины, при использовании DHCP здесь будет другая запись), так как показано в следуюшем примере:
nameserver 212.27.32.176
nameserver 212.27.32.177
nameserver 8.8.8.8
Обратите внимание, что файл /etc/resolv.conf
может быть обработан автоматически (и перезаписан) когда сетью или вашим одиноким компьютером управляет Диспетчер связи (NetworkManager) или этот файл сконфигурирован службой DHCP (или ваш модем может включать в себя такую возможность, как организация DNS сервера, следовательно такие настройки вы сделаете внутри него).
Если в локальной сети нет сервера имен, то можно создать небольшую таблицу соответствия IP адресов и имен узлов машин в файле /etc/hosts
, который обычно зерезервирован для локальной сети станций (статичная адресация). Синтаксис этого файла очень простой: каждая линия включает определенный IP адрес, а далее перечисляются любые связанные с ним имена, (первым идет настоящее доменное имя вашего компьютера, так называемое “полностью квалифицированное” имя, например "192.168.200.6 example.debian.org example").
Этот файл доступен даже во время отключения от сети (интернета) или когда DNS серверы недоступны. Для того, чтобы в данных случаях все нормально работало необходимо, чтобы копия этого файла была расположена на каждой машине в вашей сети. Как только внесли изменения в этот файл на одной из машин, тут же необходимо скопировать его на все машины вашей сети. Это объясняет, почему файл /etc/hosts
обычно содержит только самые важные записи (не перегружен другой информацией).
Такой файл будет достаточен для маленькой сети, не подсоединенной к Интернету, но с 5-ью машинами и более, рекомендуется установить правильно настроенный DNS сервер.