- •2. Основы межсетевого обмена в сетях tcp/ip
- •2.1. Структура стека протоколов tcp/ip
- •2.2. Основные протоколы стека tcp/ip
- •2.2.1. Протоколы slip и ppp
- •2.2.2. Протокол arp. Отображение канального уровня на уровень межсетевого обмена
- •2.2.3. Протокол ip
- •2.8. Формат пакета Ipv4
- •2.2.4. IPing - новое поколение протоколов ip
- •2.2.6. User Datagram Protocol - udp
- •2.2.7. Transfer Control Protocol - tcp
- •2.3. Принципы построения ip-адресов
- •2.4. Подсети
- •2.5. Порты и сокеты
- •2.6. Основные принципы ip-маршрутизации
- •2.7. Настройка операционной системы и сетевые интерфейсы
- •2.8. Настройка сетевых интерфейсов
- •2.8.1. Настройка Ethernet-интерфейса
- •2.8.2. Настройка slip
- •2.8.3. Настройка интерфейса ppp
- •2.9. Маршрутизация, протоколы динамической маршрутизации, средства управления маршрутами
- •2.9.1. Статическая маршрутизация
- •2.9.2. Динамическая маршрутизация
- •2.9.3. Программа routed
- •2.9.4. Программа gated
- •2.10 Анализ и фильтрация tcp/ip пакетов
- •3. Информационные сервисы Internet
- •3.1. Система Доменных Имен
- •3.1.1. Принципы организации dns
- •3.1.2. Bind (Berkeley Internet Name Domain)
- •3.1.3. Регистрация доменных имен
- •3.1.4. Серверы доменных имен и механизм поиска ip-адреса
- •3.1.5. Настройка resolver
- •3.1.6. Программа named
- •3.1.6.1. Файлы настройки named
- •3.1.6.2. Запись "Start Of Authority"
- •3.1.6.3. Запись "Name Server"
- •3.1.6.4. Адресная запись "Address"
- •3.1.6.5. Запись Mail eXchanger
- •3.1.6.6. Запись назначения синонима каноническому имени "Canonical Name"
- •3.1.6.7. Записи типа "Pointer"
- •3.1.6.8. Запись типа hinfo
- •3.1.6.9. Запись определения информационных сервисов "Well Known Services"
- •3.1.6.10. Команды описания зоны
- •3.1.6.11. Файлы описания зоны
- •3.1.7. Примеры настроек программы named и описания зон
- •3.1.7.1. Небольшой поддомен в домене ru
- •3.1.7.2. Описание "прямой" и "обратной" зон для поддомена определенного на двух подсетях
- •3.1.7.3. Делегирование поддомена внутри домена
- •3.1.8. Программа nslookup
- •3.1.9. Dns и безопасность
- •3.2. Электронная почта в Internet
- •3.2.1. Принципы организации
- •3.2.2. Формат почтового сообщения (rfc-822)
- •3.2.3. Формат представления почтовых сообщений mime и его влияние на информационные технологии Internet
- •3.2.3.1. Поле версии mime (mime-Version)
- •3.2.3.2. Поле типа содержания тела почтового сообщения (Content-Type)
- •3.2.3.3. Поле типа кодирования почтового сообщения (Content-Transfer-Encoding)
- •3.2.3.4. Дополнительные необязательные поля
- •3.2.4. Протокол обмена почтой smtp (Simple Mail Transfer Protocol)
- •3.2.5. Интерфейс Eudora
- •3.2.6. Системы почтовой рассылки (программа sendmail)
- •3.2.6.1. Принцип работы программы sendmail
- •3.2.7. Настройка программы sendmail
- •3.2.7.1. Тестирование Sendmail и способы запуска
- •3.3. Эмуляция удаленного терминала. Удаленный доступ к ресурсам сети
- •3.3.1. Протокол Telnet
- •3.3.2. Интерфейс пользователя (telnet) и демон (telnetd)
- •3.3.2.1. Программа-сервер (telnetd)
- •3.3.2.2. Программа-клиент (telnet)
- •3.3.3. Организация модемных пулов, настройка оборудования. Квоты пользователей
- •3.4. Обмен файлами. Служба архивов ftp
- •3.4.1. Типы информационных ресурсов
- •3.4.2. Протокол ftp
- •3.4.3. Сервер протокола - программа ftpd
3.1.5. Настройка resolver
Как уже говорилось выше, система разрешения доменных имен IP-адресами и обратная процедура построены по схеме "клиент-сервер". Функции из библиотеки libc.a выступают в качестве клиентов и вся их совокупность носит название resolver. Для того, чтобы клиент мог обратиться к серверу, он должен знать следующее:
-
Установлен ли вообще сервер доменных имен;
-
Если сервер установлен, то где (IP-адрес);
-
Если сервер установлен, то к какому домену относится машина.
Вся совокупность этих параметров задается в файле resolv.conf. Приведем пример этого файла и разберем назначение каждой из команд, которая может быть использована в файле настройки resolver.
Пример 2. Содержание файла resolv.conf.
# Resolver config for paul.
#
#nonameserver
domain polyn.kiae.su
nameserver 144.206.130.137
nameserver 144.206.136.1
Строки, начинающиеся с символа "#" - это комментарии. Среди них следует выделить строку "nonameserver". В нашем примере она не влияет на работу системы разрешения доменных имен, но если в сети нет сервера доменных имен, то следует с этой строки снять символ комментария, а прочие команды напротив превратить в комментарии. При отсутствии сервера доменных имен система будет использовать файл hosts.
По команде domain система определяет к какому домену она относится. Обычно, именем, которое указано после команды расширяются неполные имена хостов. Например, если обратиться к какой-либо машине только по ее имени:
/usr/paul> telnet radleg
Указанный выше пример - это только частный случай процедуры расширения неполного имени, которая используется функциями resolver. В общем виде она выглядит следующим образом:
-
Если в прикладной программе указано имя хоста с точкой на конце, то расширение имени не производится:
-
/usr/paul>ping polyn.
В данном случае имя "polyn." завершено точкой.
-
Если имя указано без точки, расширение производится по следующим правилам: либо происходит добавление имени домена, либо происходит обращение к файлу синонимов. Вообще говоря, в различных системах это расширение может быть организовано различными способами. Например, HP-UX имя фала синонимов указывается в переменной окружения HOSTALIASES. Пример расширения доменным именем был приведен выше.
-
Если в качестве имени указывается составное имя, то производится серия подстановок, при помощи которых пытаются получить IP-адрес хоста:
-
/usr/paul> ping paul.polyn.kiae
Если в качестве домена в resolv.conf указан домен polyn.kiae.su, то будет проверена следующая последовательность имен: paul.polyn.kiae.polyn.kiae.su; paul.polyn.polyn.kiae.su; paul.polyn.kiae.su. Последнее имя будет разрешено сервером доменных имен.
При указании имени домена следует также учитывать и то, как будет в этом случае работать вес комплекс программного обеспечения, установленный на данном компьютере. Дело в том, что некоторые программы, sendmail, например, способны сами решат проблему определения IP-адресов по именам. В ряде случаев это может привести к противоречиям и ошибкам при функционировании такого сорта программ (о настройках sendmail см. раздел "Электронная почта")
Команда nameserver определяет адрес сервера доменных имен для домена, в котором данная машина состоит. Возможно указание нескольких серверов. Обычно - это не более трех серверов доменных имен. В таких системах как Windows NT, например, администратор просто не в состоянии указать более трех адресов серверов доменных имен.
Порядок в указании серверов в файле resolv.conf определяет порядок опроса серверов. Таким образом первым в нашем случае будет опрашиваться сервер с адресом 144.206.130.137, а затем сервер с адресом 144.206.136.1. Наиболее целесообразно первым указывать основной сервер доменных имен данного домена, а вторым дублирующий сервер доменных имен данного домена .
В качестве сервера доменных имен можно также указать и сервер вышестоящего домена, что позволит подстраховаться на случай отказа основного и вспомогательного серверов. При этом не будут решены проблемы адресации машин данного домена, но зато не пропадет возможность обращаться по имени к машинам, расположенным за пределами домена.
В настройках resolver надо также учитывать возможность запуска программы named, которая будет работать как кэш-сервер, что на машинах с "интеллектуальным" resolver'ом, что позволяет обеспечить более эффективную процедуру разрешения запросов к системе DNS.