- •Учебная группа 693
- •Инструкция по подготовке и выполнению лабораторных работ
- •А.С. Швецов
- •Сети и телекоммуникации
- •Руководство к лабораторным работам
- •Часть 2
- •Работа с ресурсами глобальной сети в ос мсвс
- •Санкт-Петербург
- •Содержание
- •Список сокращений
- •Введение
- •1. Ip адресация и ip маршрутизация
- •1.1. Теоретическая часть
- •1.1.1. Схема распределения адресного пространства
- •1.1.2. Ip маршрутизация
- •1.1.3. Управление маршрутизацией в ос мсвс
- •1.1.4. Управление маршрутизацией в ос Windows
- •1.1.5. Используемые в работе команды
- •1.2. Практическая часть
- •1.2.1. Алгоритм выполнения работы
- •1.2.2. Варианты индивидуальных заданий
- •1.2.3. Содержание отчёта
- •1.3. Примерный перечень вопросов для самостоятельного контроля
- •Литература
- •2. Сбор информации о сетевом трафике
- •2.1. Теоретическая часть
- •2.1.1. Модель osi
- •2.1.2. Протокол Ethernet
- •2.1.3. Протокол arp
- •2.1.4. Протокол ip
- •2.1.5. Протокол icmp
- •2.1.6. Проверка доступности удалённого хоста. Программа ping
- •2.1.7. Используемые в работе команды
- •2.2. Практическая часть
- •2.2.1. Алгоритм выполнения работы
- •2.2.2. Варианты индивидуальных заданий
- •2.2.3. Содержание отчёта
- •2.3. Примерный перечень вопросов для самостоятельного контроля
- •Литература
- •3. Технология nat
- •3.1. Теоретическая часть
- •3.1.1. Основы технологии nat
- •3.1.2. Общие принципы работы nat
- •3.1.4. Работа nat в мсвс
- •Icmp критерии
- •3.1.5. Проверка наличия установленного пакета iptables
- •3.1.6. Используемые в работе команды
- •3.2. Практическая часть
- •3.2.1. Алгоритм выполнения работы
- •3.2.2. Варианты индивидуальных заданий
- •3.2.3. Содержание отчёта
- •3.3. Примерный перечень вопросов для самостоятельного контроля
- •Литература
- •4. Фильтрация пакетов
- •4.1. Теоретическая часть
- •4.1.1. Принципы работы межсетевых экранов
- •4.1.2. Работа межсетевого экрана в мсвс
- •4.1.3. Проверка наличия установленного пакета iptables
- •4.1.4. Используемые в работе команды
- •4.2. Практическая часть
- •4.2.1. Алгоритм выполнения работы
- •4.2.2. Варианты индивидуальных заданий
- •4.2.3. Содержание отчёта
- •4.3. Примерный перечень вопросов для самостоятельного контроля
- •Литература
- •5. Настройка dns
- •Теоретическая часть
- •Принципы работы dns
- •Понятие зоны.
- •Типы серверов доменных имен (типы запросов: рекурсивные, не рекурсивные), прямые обратные зоны.
- •Кэширующие (cache) серверы
- •Серверы, обслуживающие корневую зону (Root servers)
- •Протокол dns
- •Сокращение имен
- •Общие сведения о вариантах настройки bind версий 8 и 9
- •Кеширующий сервер (Cache server)
- •Официальный (Authoritative) сервер зоны
- •Вспомогательный сервер (secondary, slave)
- •Файлы описания зон
- •Массовое создание зон
- •Утилита nslookup
- •Последовательность действий настройки dns-сервера
- •Практическая часть
- •Алгоритм выполнения работы
- •Варианты индивидуальных заданий
- •Содержание отчёта
- •Примерный перечень вопросов для самостоятельного контроля
- •Литература
- •6. Настройка службы ftp
- •6.1. Теоретическая часть
- •Проблема безопасности
- •Основные команды
- •Создание ftp-сервера в ос мсвс
- •Проверка наличия установленного пакета ftp-сервера, при отсутствии установленного пакета его необходимо установить из дистрибутива ос мсвс.
- •Конфигурирование ftp-сервера (vsftpd).
- •Запуск (перезапуск) демона vsftpd в ос мсвс.
- •6.1.6.1. Проверка наличия установленного пакета ftp-сервера
- •6.1.6.2. Конфигурирование ftp-сервера
- •Управление доступом
- •Сетевые параметры
- •6.1.6.3. Файл «/etc/vsftpd/ftpusers»
- •6.1.6.4. Файл «/etc/vsftpd/user_list»
- •6.1.6.5. Запуск демона ftp (vsftpd) в ос мсвс
- •Настройка ftp-клиента в «Total Commander»
- •Используемые в работе команды
- •6.2. Практическая часть
- •6.2.1. Алгоритм выполнения работы
- •6.2.2. Варианты индивидуальных заданий
- •6.2.3. Содержание отчёта
- •6.3. Примерный перечень вопросов для самостоятельного контроля
- •Литература
- •7. Настройка почтового сервера
- •7.1. Теоретическая часть
- •Названия
- •История
- •Современная архитектура (smtp)
- •Маршрутизация почты
- •Протокол передачи почты smtp
- •Установление соединения.
- •Аутентификация.
- •Передача данных.
- •Безопасность smtp и спам
- •Протоколы получения почты
- •Различия
- •Структура письма
- •7.1.8.1. Заголовок smtp
- •7.1.8.2. Заголовок письма
- •7.1.8.3. Часто используемые поля
- •7.1.8.4. Тело письма
- •Цепочки писем
- •Почтовые рассылки
- •Коммерческое использование
- •7.1.11.1. Спам
- •Шифрование почты
- •Создание почтового сервера в ос мсвс
- •7.1.13.1. Настройка smtp-сервера
- •7.1.13.2. Настройка pop3-сервера
- •Настройка и работа в «Outlook Express 6»
- •Используемые в работе команды
- •7.2. Практическая часть
- •7.2.1. Алгоритм выполнения работы
- •7.2.2. Варианты индивидуальных заданий
- •7.2.3. Содержание отчёта
- •7.3. Примерный перечень вопросов для самостоятельного контроля
- •Литература
- •8. Настройка веб-сервера
- •8.1. Теоретическая часть
- •8.1.1.1. Дополнительные функции Веб-сервера
- •8.1.1.2. Программное обеспечение Веб-сервера
- •8.1.1.3. Клиенты
- •8.1.2.1. История url
- •8.1.2.2. Структура url
- •8.1.2.3. Схемы (протоколы) url
- •8.1.3.1. Динамическая Веб-страница
- •8.1.3.2. Персональная интернет-страница
- •8.1.4.1. История Веб-сайтов
- •8.1.4.2. Устройство Веб-сайтов
- •8.1.4.3. Классификация сайтов
- •Apache http-сервер
- •8.1.7.1. Архитектура Ядро
- •Система конфигурации
- •Система модулей
- •Механизм виртуальных хостов
- •8.1.7.2. Функциональные возможности Интеграция с другим по и языками программирования
- •Безопасность
- •Интернационализация
- •Обработка событий
- •Создание Веб-сервера в ос мсвс
- •8.1.13.1. Установка и настройка «Apache http-сервера»
- •Конфигурирование Apache http-сервера.
- •8.1.13.2. Установка и настройка «MySql-сервера»
- •Конфигурирование MySql-серверf.
- •8.1.13.3. Установка и настройка php
- •Проверка наличия установленного пакета php, при отсутствии установленного пакета его необходимо установить из дистрибутива ос мсвс.
- •Конфигурирование php.
- •Используемые в работе команды
- •8.2. Практическая часть
- •8.2.1. Алгоритм выполнения работы
- •8.2.2. Варианты индивидуальных заданий
- •8.2.3. Содержание отчёта
- •8.3. Примерный перечень вопросов для самостоятельного контроля
- •Литература
4.2.3. Содержание отчёта
Отчёт о проделанной работе должен содержать следующее:
Тема, цель работы, номер варианта и содержание индивидуального задания.
Схему собранной сети с указанием ОС и всех IP адресов.
Схему прохождения генерируемых в работе пакетов по цепочкам.
Алгоритм (последовательность действий) настройки МСЭ с описанием выполненных действий и команд.
Выводы о работе.
4.3. Примерный перечень вопросов для самостоятельного контроля
Для чего используется поле TTL в IP-пакетах? В чём измеряется величина, заносимая в TTL?
В чём отличие блокирования прохождения пакетов с помощью действия DROP от блокирования с помощью действия REJECT?
Каким образом помечаются пакеты с использованием действия MARK?
Влияет ли фильтрация пакетов на безопасность ЛВС? Почему?
Каково назначение режима forwarding?
Каково дальнейшее продвижение пакета по цепочкам, если он попадает под действие ACCEPT?
Каково дальнейшее продвижение пакета по цепочкам, если он попадает под действие DROP?
Каково дальнейшее продвижение пакета по цепочкам, если он попадает под действие REJECT?
В каких случаях необходимо применять цепочку FORWARD для таблицы filter, а в каких цепочку INPUT?
В какие цепочки не попадают пакеты, к которым применено действие REDIRECT?
Литература
Бруй В.В., Карлов С.В. LINUX-сервер: пошаговые инструкции инсталляции и настройки. – Москва, 2003. – 572 с.
Единая система документации ОС МСВС.
Интернет-Университет Информационных Технологий. http://www.INTUIT.ru
Колисниченко Д.Н. Linux-сервер своими руками. СПб., 2002. – 576с.
Мохаммед Д.К. RedHat Linux 6 Server. – Москва, 2001. – 560с.
Немет Э., Снайдер Г., Хейн Т.Р. Руководство администратора Linux, 2-е издание. – Москва, 2007. – 1072с.
Стахнов А.А. Сетевое администрирование Linux. – СПб., 2004. – 480с.
5. Настройка dns
Цель: приобрести навыки работы со службой доменных имён.
Теоретическая часть
Принципы работы dns
Как известно, протокол TCP/IP, которым пользуются в Интернете, может адресовать хосты лишь по IP-адресу. Запоминание четырёх трёхзначных чисел довольно сложно для человека, поэтому был изобретен механизм, называемый службой доменных имён (DNS), позволяющий называть хосты по имени — например, «ask.microsoft.com.». Точка после com — вовсе не опечатка. Она должна там быть. Тем не менее, браузеры позволяют её опускать. Задача DNS — взять доменный адрес хоста и преобразовать его в IP-адрес хоста10. Именно это и делают браузеры перед тем, как подключаются к запрашиваемому сайту (обычно этот процесс занимает около секунды — от появления слов «Connecting» до «Connected, waiting for reply» в строке состояния браузера).
Завершающая точка (в представленном примере после com) в терминологии DNS называется корневым доменом, или доменом нулевого уровня. Фактически, он представляет собой базу данных, распределенную по нескольким интернациональным серверам по всему миру, в которой содержится список всех доменов первого уровня, таких как com., net., ru. и т. д. Совершенно такая же схема применяется и далее: каждый домен первого уровня содержит в себе список доменов второго уровня (например, dklab.ru.), и соответствующий ему список IP-адресов. При этом в нём, конечно, не содержится никакой информации о доменах третьего уровня — этим занимается второй уровень.
Согласно руководящим материалам (RFC 1034, RFC 1035) система доменных имен состоит из трех основных частей:
всего множества доменных имен (domain name space)
серверов доменных имен (domain name servers)
клиенты DNS (Resolver’ы)
Сервис системы доменных имен строится по схеме «клиент-сервер». В качестве клиентской части выступает прикладной процесс, который запрашивает информацию о соответствии имени IP-адресу (или наоборот IP-адреса имени). Это программное обеспечение и называют resolver. В качестве сервера выступает прикладная программа-сервер.
Чаще всего, Resolver не является какой-либо программой или системной компонентой. Это набор процедур из библиотеки прикладного программного обеспечения (например, из библиотеки libc), которые позволяют программе, отредактированной с ними, выполнять запросы к системе доменных имен и получать ответы на них. Эти процедуры обращаются к серверу доменных имен и сервер обслуживает запросы прикладных программ пользователя.
Ряд производителей операционных систем, например, Sun или SGI, предлагали решения, в которых resolver являлся отдельным процессом, и прикладные программы через него реализовывали взаимодействие с DNS.
Другой пример реализации resolver’а – это браузеры Nescape некоторых версий, где для ускорения процесса получения ответов на запросы к DNS запускался отдельный процесс resolver’a.
Самостоятельный resolver может быть собран и в BIND версии 9. Это, так называемый, lightweight resolver. Он состоит из rosolver-демона и библиотеки взаимодействия с этим демоном, процедуры которой линкуются с прикладным ПО. Данный resolver позволяет не только посылать запросы к серверу доменных имен, но кэшировать соответствия между доменным именем и IP-адресом.
В качестве серверов доменных имен чаще всего используются различные версии BIND11 (Berkeley Internet Name Domain). Если сервер реализован на платформе Windows, то тогда используют решение от Microsoft, хотя для этой платформы также существуют версии BIND.
Общую схему взаимодействия различных компонентов системы доменных имен можно изобразить так, как это представлено на рисунке 5.1.
Рис. 5.1. Рекурсивный запрос resolver и не рекурсивная (итеративная) процедура на разрешение доменного имени сервером доменных имен
Данную схему разрешения имени (установки соответствия между именем и IP-адресом) называют не рекурсивной (итеративной). Отличие процедур будет рассмотрено далее.
Поясним приведенную схему не рекурсивной процедуры разрешения запроса:
Прикладная программа через resolver запрашивает IP-адрес по доменному имени у местного сервера (запрос resolver рекурсивный, т.е. resolver просит server найти ему адрес).
Местный сервер сообщает прикладной программе IP-адрес запрошенного имени, выполняя при этом нерекурсивный опрос серверов доменных имен. При этом:
если адрес находится в зоне его ответственности (местного сервера), сразу сообщает его resolver’у;
если адрес находится в зоне ответственности другого сервера доменных имен, то обращается к корневому серверу системы доменных имен за адресом TLD-сервера (top-level domain server);
обращается к TLD-серверу за адресом;
получает от него адрес удаленного сервера;
обращается к удаленному серверу за адресом;
получает от удаленного сервера адрес.
В данном случае была рассмотрена вложенность доменного имени второго порядка, т.е. хост имел имя похожее на «quest.example.com» или даже «example.com».
Последнее важно понять, т.к. корпоративные почтовые адреса типа «user@example.com» как раз и требуют от прикладного программного обеспечения обращения за IP-адресом хоста «example.com». TLD-сервер домена «com» не обладает информацией о том, какому IP-адресу данное имя соответствует, но при этом он знает какой сервер отвечает за домен «example.com».
Если вложенность доменного имени будет большей, скажем третьего уровня («host.department.corp.ru»), и этот уровень будет поддерживаться другим сервером доменных имен, отличным от того, который поддерживает второй уровень вложенности, то тогда локальному серверу удаленный сервер доменных имен передаст не адрес хоста, а адрес нового сервера доменных имен, в зоне ответственности которого находится запрашиваемое имя.
Как видно из приведенной схемы, получение информации из системы доменных имен – это многоходовой процесс, который не реализуется мгновенно. В следующем примере показано как на практике ощущается работа DNS.
При входе в режиме удаленного терминала на компьютер «polyn.net.kiae.su» по команде:
MCBC > telnet polyn.net.kiae.su
Получаем в ответ:
trying 144.206.130.137 ...
login:
.....
Строчка, в которой указан IP-адрес компьютера «polyn.net.kiae.su», показывает, что к этому времени доменное имя было успешно разрешено сервером доменных имен. После этого прикладная программа, в данном случае telnet, получила на свой запрос IP-адрес. Таким образом, после ввода команды с консоли, и до появления IP-адреса на экране монитора прикладная программа осуществила запрос к серверу доменных имен и получила ответ на него.
Довольно часто можно столкнуться с ситуацией, когда после ввода команды довольно долго приходиться ждать ответа удаленной машины, но зато после первого ответа удаленный компьютер начинает реагировать на команды с высокой скоростью В этом случае, скорее всего, в первоначальной задержке виноват сервис доменных имен.
Другой пример – это программа traceroute12. Здесь задержка на запросы к серверу доменных имен проявляется в том, что время ответов со шлюзов, на которых «умирают» ICMP пакеты, указанное в отчете, маленькое, а задержки с отображением каждой строчки отчета довольно большие.
Если в примере с telnet и ftp были рассмотрены, только «прямые» (forward) запросы к серверу доменных имен, то в примере с traceroute впервые были упомянуты «обратные» (reverse) запросы. В «прямом» запросе прикладная программа запрашивает у сервера доменных имен IP-адрес, сообщая ему доменное имя. При «обратном» запросе прикладная программа запрашивает доменное имя, сообщая серверу доменных имен IP-адрес.
Следует заметить, что скорость разрешения «прямых» и «обратных» запросов в общем случае будет разная. Все зависит от того, где описаны «прямые» (forward) и «обратные» (reverse) зоны в базах данных серверов доменных имен, обслуживающих соответствующие домены (прямой и обратный).
Не рекурсивным рассмотренный выше запрос является только с точки зрения сервера. С точки зрения resolver’а процедура разрешения запроса является рекурсивной, так как resolver перепоручил локальному серверу доменных имен заниматься поиском необходимой информации. Согласно RFC 1035, resolver и сам может опрашивать удаленные серверы доменных имен и получать от них ответы на свои запросы.
В этом случае resolver обращается к локальному серверу доменных имен, если не получает от него адреса, то опрашивает сервер корневого домена, получает от него адрес удаленного сервера TLD, опрашивает этот сервер, получает адрес удаленного сервера, опрашивает удаленный сервер и получает IP-адрес, если он посылал, так называемый «прямой» запрос.
Рис.5.2. Нерекурсивный запрос resolver’а
Как видно из этой схемы (рисунок 5.2), resolver сам нашел нужный IP-адрес. Однако общая практика такова, что resolver не порождает не рекурсивных запросов, а переадресовывает их локальному серверу доменных имен.
Локальный сервер и resolver не все запросы выполняют по указанной процедуре. Дело в том, что существует кэш, который используется для хранения в нем полученной от удаленного сервера информации.
Самые умные resolver’ы, такие, например, как resolver Windows 2000 Server и BIND 9 умеют поддерживать кэш, в котором сохраняют не только удачно установленные соответствия имени и адреса (positive response), но и так называемые «негативные» отклики (negative response results) на запросы. Кроме того, эти resolver’ы упорядочивают отклики об адресах серверов в соответствии с принятыми в них (resolver’ах) алгоритмами выставления предпочтений, которые базируются на времени отклика сервера (рисунок 5.3).
Рис.5.3.
Схема разрешения запросов с кэшированием
ответов
Если пользователь обращается в течение короткого времени к одному и тому же ресурсу сети, то запрос на удаленный сервер не отправляется, а информация ищется в кэше.
Прядок обработки запросов можно описать следующим образом:
Поиск ответа в локальном кэше.
Поиск ответа на локальном сервере.
Поиск информации в сети.
При этом кэш может быть как у resolver’а, так и у сервера.
