- •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.7.1. Небольшой поддомен в домене ru
В данном случае организация получила домен в домене ru и зарегистрировала его в РосНИИРОС. Primary сервер доменных имен установлен на шлюзе 194.226.43.1. Это единственная машина в сети, которая работает под управлением Unix. Все остальные машины - это персональные компьютеры сотрудников. В общем виде схему такого домена можно представить в виде рисунка 3.13:
Рис. 3.13. Структура простой локальной сети
Домен, который зарегистрировала данная организация, пусть будет называться vega.ru. Так как это домен второго уровня, то он должен иметь как минимум два сервера доменных имен: primary и secondary. Основной сервер, primary, установлен на машине-шлюзе, на размещение вторичного получено разрешение от администратора сервера ns.rekarn.ru, который расположен в другой сети, имеющей свой собственный выход в Internet.
Программа named, установленная на машине шлюзе будет иметь следующую конфигурацию, которая задается файлом named.boot:
;
; Zone vega.ru data base files.
;
directory /etc/namedb
primary vega.ru vega.ru
primary 127.in-addr.arpa localhost
primary 43.226.194.in-addr.arpa vega.rev
forwarders 144.206.136.1 144.206.130.137
cаche . named.root
В этом файле определено, что директория расположения описания файлов зоны vega.ru - /etc/namedb. Это стандартная директория для операционной системы FreeBSD. Файла описания "прямой" зоны домена vega.ru - файл vega.ru будет размещен в этой директории (/etc/namedb/vega.ru). Кроме "прямой" зоны описаны еще две "обратных" зоны 127.in-adrr.arpa и 43.226.194.in-addr.arpa. Первая определяет обратное соответствие между адресом 127.0.0.1 и именем localhost, а вторая множество обратных соответствий для сети 194.226.43.0. Последним указан файл начальной загрузки cache. Символ "." в качестве первого аргумента указывает на описание домена root.
Кроме этого команда forwarders указывает IP-адреса серверов доменных имен, к которым следует обращаться в случае невозможности самостоятельно получить адрес. Это сделано для того, чтобы в начальный период функционирования сервера он мог отвечать на запросы клиентов из данной зоны, хотя сам он еще и не зарегистрирован в корневом сервере домена ru.
В принципе, можно было бы просто указать данные сервера в настройках resolver для машин данного домена, но зато потом везде нужно было бы их снова менять. Использование forwarders позволяет после регистрации домена и размещения серверов не перестраивать настройки всех компьютеров в домене. Кроме того, named сразу начинает работать как интеллектуальный кэширующий сервер, что при частом обращении к одним и тем же именам позволяет быстро получать IP-адреса или имена машин.
Файл описания "прямой" зоны для домена vega.ru будет выглядеть следующим образом (/etc/namedb/vega.ru):
@ IN SOA vega-gw.vega.ru paul.vega.ru (
101 ;serial number
86400 ;refresh
3600 ;retry
3888000 ;expire
99999999 ;minimum
)
; Name server
IN NS vega-gw.vega.ru.
IN NS ns.relarn.ru.
IN NS polyn.net.kiae.su.
IN A 194.226.43.1
IN MX 0 vega-gw.vega.ru.
IN MX 10 ns.relarn.ru.
;
localhost IN A 127.0.0.1
;
vega-gw IN A 194.226.43.1
IN MX 0 vega-gw
IN MX 10 ns.relarn.ru.
www IN CNAME vega-gw
ftp IN CNAME vega-gw
gopher IN CNAME vega-gw
;
dos1 IN A 194.226.43.2
dos2 IN A 194.226.43.3
; The rest of net should be presented below.
Запись SOA берет имя зоны из записи primary файла named.boot (символ "@"). В качестве машины, на которой установлен сервер, указана машина vega-gw.vega.ru, а в качестве администратора - paul@kiae.su. Остальные поля установлены в соответствии с описанием записи SOA.
Обратите внимание на следующее обстоятельство: имя текущей зоны будет взято из команды primary файла named.boot и использоваться для описания зоны, только в том случае если в записи SOA будет указан символ коммерческого "@". Например, в следующем примере могут возникнуть проблемы с описанием зоны:
IN SOA vega-gw.vega.ru paul.vega.ru (
101 ;serial number
86400 ;refresh
3600 ;retry
3888000 ;expire
99999999 ;minimum
)
; Name server
IN NS vega-gw.vega.ru.
IN NS ns.relarn.ru.
IN NS polyn.net.kiae.su.
IN A 194.226.43.1
IN MX 0 vega-gw.vega.ru.
IN MX 10 ns.relarn.ru.
Ни NS-записи, ни A-запись, ни MX-записи не привязаны к конкретному домену, и следовательно не используются named.
Две NS-записи определяют три машины в качестве сервера доменных имен для данной зоны: vega-gw.vega.ru, ns.relarn.ru и polyn.net.kiae.su. Первая запись типа A определяет адрес всего домена для обслуживания неполных запросов. Следующие две записи MX определяют правила пересылки почты на домен по адресам типа user@vega.ru.
За описанием зоны в нашем файле следует описание "петли", т.е. имени для адреса 127.0.0.1. В FAQ по сервису доменных имен можно найти и другие решения, но в большинстве случаев, обычно, рекомендуется определять имя localhost как localhost.domain.name, или в нашем случае - localhost.vega.ru.
Первой в домене описана машина-шлюз. На ней установлены сервисы World Wide Web, FTP и Gopher. Для каждого из них определены имена, которые должны облегчить запоминание доменного имени сервера. После записей CNAME идут записи описания других машин зоны. Так как это обычные рабочие места под управлением MS-DOS и Widows, то никаких дополнительных записей для их описания не требуется.
Как утверждается во всех руководствах по DNS, описание обратных зон для домена не является обязательным, но крайне желательно. Для нашего простого домена в файле named.boot описаны две обратные зоны: 127.in-addr.arpa и 43.226.194.in-addr.arpa.
Зона 127.in-addr.arpa описывает обратное соответствие межу адресом 127.0.0.1 и именем lo-calhost.vega.ru. Описание зоны будет располагаться в файле /etc/namedb/localhost:
@ IN SOA vega-gw.vega.ru paul.vega.ru (
101 ;serial number
86400 ;refresh
3600 ;retry
3888000 ;expire
99999999 ;minimum
)
; Localhost declaration
1 IN PTR localhost.vega.ru.
В данном случае имя зоны также, как и в предыдущем случае берется из команды primary файла named.boot:
primary 127.in-addr.arpa localhost
Согласно этому описанию символ "@" заменяется на имя 127.in-addr.arpa, которое и добавляется к цифре 1, образуя имя 1.127.in-addr.arpa. Так как сеть 127.0.0.0 - это сеть класса А, то адрес 127.1 эквивалентен адресу 127.0.0.1.
Вторая "обратная" зона описывает все остальные IP-адреса и размещается в файле /etc/namedb/vega.rev:
@ IN SOA vega-gw.vega.ru paul.vega.ru (
101 ;serial number
86400 ;refresh
3600 ;retry
3888000 ;expire
99999999 ;minimum
)
IN NS vega-gw.vega.ru.
IN NS ns.relarn.ru.
IN NS polyn.net.kiae.su.
; Reverse zone description.
1 IN PTR vega-gw.vega.ru.
2 IN PTR dos1.vega.ru.
3 IN PTR dos2.vega.ru.
; description of the other hosts should be placed below.
;
Первые две NS-записи в этом примере определяют сервера доменных имен для этой зоны. Так как "прямая" зона это зона второго уровня в домене ru, то будет логичным и для "обратной" зоны разместить дублирующий сервер в том же месте, что и дублирующий сервер для "прямой" зоны. Имя зоны берется из команды primary файла named.boot:
primary 43.226.194.in-addr.arpa vega.rev
Таким образом к единичке, указанной в записи PTR для машины vega-gw.vega.ru будет получено "обратное" имя 1.43.226.194.in-addr.arpa.
Все имена машин в поле данных записей типа PTR должны обязательно заканчиваться точкой, иначе они будут расширены именем зоны.
И последний файл, который необходим для запуска сервера доменных имен, - это файл начальной загрузки named, определенный в команде cache файла named.boot. В нашем случае этот файл имеет полное имя - /etc/namedb/named.root. Содержание этого файла приведено в примере 5. Файл просто копируется с сервера ftp.internic.net. В ряде случаев провайдеры рекомендуют пользоваться их файлом начальной загрузки, а не стандартным.