- •Учебная группа 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. Примерный перечень вопросов для самостоятельного контроля
- •Литература
Вспомогательный сервер (secondary, slave)
В документации по BIND описание «master сервера» доменных имен и «slave сервера» совпадают. Но методически правильнее их разнести, что здесь и сделано.
options {
directory «/var/named»; // Working directory
pid-file «named.pid»; // Put pid file in working
allow-query { any; }; // This is default
recursion no; // Do not provide recursion service
};
zone «.» {
type hint;
file «root.hint»;
};
zone «0.0.127.in-addr.arpa» {
type master;
file «0.0.127.in-addr.arpa»;
notify no;
};
zone «eng.example.com.» {
type slave;
file «eng.example.com»;
masters { 192.168.4.12;};
};
То, что здесь имеется дело с вспомогательным сервером для зоны «eng.example.com» определено в соответствующей директиве «zone». В качестве типа сервера (type) указано значение «slave», что и определяет сервер как вспомогательный. В опции «masters» определяется список официальных серверов, с которых вспомогательный сервер может списывать зону в файл «eng.example.com». В данном случае указан только один – «192.168.4.12».
Выше были рассмотрены типовые настройки файла конфигурации «named». Далее будут рассмотрены файлы описания зон.
Файлы описания зон
Файлы описания зон хранятся в /var/named/, как это указано в файле конфигурации «named». В файле присутствуют следующие обозначения:
Запись «начало полномочий» (SOA- Start of Authority)
Всякая база данных DNS должна начинаться с записи SOA, которая отмечает начало зоны, описываемой в базе данных.
Формат записи SOA:
domain name [TTL] [class] SOA origin
person (
serial number
refresh
retry
expire
minimum)
Здесь «domain name» — имя зоны, которая далее описывается в базе данных (можно использовать также знак «@» для обозначения домена по-умолчанию для данного компьютера).
«TTL» — время (в секундах), в течение которого запрашивающий компьютер может хранить любую информацию в своем локальном кэше DNS. Этот параметр не является обязательным.
«class» обозначает протокол, который используется в системе (здесь будет присутствовать класс «IN» для сети Internet). Этот параметр также необязателен и по-умолчанию ставится в значение «IN».
«origin» — имя компьютера, где ведётся основная зона. Необходимо соблюдать осторожность при расстановке разделительных точек (.)! Не следует забывать поставить точку после имени хоста, иначе доменное имя будет добавлено к имени хоста.
«person» — адрес электронной почты лица, ответственного за данную зону. Здесь имеется небольшое отличие от предыдущих версий DNS. Так как значок «@» уже применяется для указания домена по-умолчанию, его нельзя ещё раз указывать в адресе электронной почты. Вместо знака «@» используйте обычную точку «.». Так, например, вместо адреса «sysadm@smallorg.org» используется «sysadm.smallorg.org». Если в адресе электронной почты имеются другие точки, то вместо них используйте обратную косую черту «\». Например, адрес «john.jones@smallorg.org» будет преобразован в «john\jones.smallorg.org».
«serial number» является уникальным числом, которое идентифицирует версию файла базы данных. Очень часто для этой цели используется дата создания файла или последней его модификации и номер версии файла (например, «200026061»).
«refresh» — интервал времени (в секундах), по истечении которого вторичный DNS-сервер должен опрашивать первичный DNS-сервер о текущей версии записи SOA. Если версия отличается от имеющейся во вторичном сервере DNS, то он пошлет запрос на обновление своей базы данных. Обычно для этого параметра устанавливается значение 1 час (3600 секунд).
«retry» — интервал времени (в секундах), по истечении которого вторичный DNS-сервер повторяет попытку обновить содержимое своей базы после неудачной предыдущей попытки.
«expire» — это интервал времени (в секундах) по истечении которого вторичный DNS-сервер может использовать данные, полученные от первичного DNS-сервера, без обновлений. Обычно это значение довольно большое, например 3600000 секунд (около 42 дней).
«minimum» — интервал времени (в секундах), который должен использоваться как TTL для всех исходных записей в зоне. Обычно 86400 секунд (т.е. одного дня) достаточно для этого параметра.
Запись Internet-адреса (A)
Каждый хост в зоне должен иметь в базе данных запись типа «А», которая определяет его имя в сети Internet. Формат записи типа «А»:
host [TTL] [ class ] A address,
где «host» — полностью определенное имя компьютера (включая доменное имя), а «address» — IP-адрес этого компьютера.
Каноническое имя (CNAME)
Кроме обычного имени, некоторые хосты могут иметь два-три дополнительных имени (псевдонима). Это удобно, когда требуется идентифицировать различные сервисы. При этом нет необходимости переименовывать компьютеры в домене. Например, имя, зарезервированное для Web-сервера, — «www.smallorg.org». Запись «CNAME» связывает псевдонимы с реальными именами хостов. Её формат следующий:
nickname [TTL] [ class ] CNAME host name
Запись сервера имен (NS)
В каждой зоне должно быть, по крайней мере, два сервера DNS. Записи «NS» служат для их идентификации другими DNS-серверами, которые пытаются преобразовать имена хостов, относящихся к данной зоне. Формат записи «NS»:
domain [TTL] [ class ] NS server
«domain» — имя домена в зоне, за которую отвечает DNS-сервер. Если оно опущено, то «NS-запись» относится к зоне, указанной в записи «SOA».
«server» — имя DNS-сервера. Для него также должна существовать соответствующая запись типа «А», где будет указан его IP-адрес.
Запись с информацией о хосте (HINFO)
Дополнительную информацию о параметрах компьютера можно сделать доступной для DNS посредством объявления записи «HINFO». Формат записи «HINFO» следующий:
host [TTL] [ class ] HINFO hardware software
«host» — имя хост-компьютера, к которому относится информация из записи.
«hardware» — краткая характеристика аппаратного обеспечения компьютера.
«software» — тип и номер версии операционной системы, используемой в компьютере.
Запись указателя (PTR)
Кроме записи «А», для каждого компьютера в зоне создается также запись типа «PTR». Это позволяет серверу DNS выполнять обратное преобразование для IP-адресов. Без этой информации удалённые серверы не смогут определить имя домена, в котором находится ваш компьютер. Формат записи «PTR»:
IN-ADDR name [TTL] [ class ] PTR name
«IN-ADDR name» — это обратное отражение имени DNS в IP-адрес. Это, может показаться немного запутанным, но соответствует действительности. Это имя позволяет DNS-серверу работать в обратном порядке, когда преобразованию в имя подлежит IP-адрес компьютера. Адрес «IN-ADDR.ARPA» является специальным доменом, который поддерживает работу шлюза и преобразование Internet-адресов в имена хостов. При этом нет необходимости в обратных запросах, так как IP-адрес соответствует фиктивному имени хоста. Так, например, имя «IN-ADDR name» для компьютера с IP-адресом «192.168.0.1» будет «1.0.168.192.IN-ADDR.ARPA».
«name» в конце записи обозначает имя хост-компьютера согласно записи «А».
Запись почтового сервера (MX)
Наиболее важными (по крайней мере, для администраторов систем электронной почты) являются записи MX. С их помощью удалённые серверы электронной почты узнают, куда отправлять почту для вашей зоны. Формат записи типа МХ следующий:
name [TTL] [ class ] MX preference host
Здесь «name» — имя зоны (если оно опущено, то запись относится к зоне, указанной в «SOA»). Можно также указывать здесь имя хоста в сети, на который вы хотели бы перенаправлять всю электронную почту.
Параметр «preference» — целое число, обозначающее порядок подключения, если почта принимается от нескольких почтовых серверов. Он представляет собой приоритет, на основе которого, принимается решение о предпочтительности того или иного почтового сервера. Так, значение «0» соответствует наивысшему приоритету среди почтовых серверов. Приоритет убывает с увеличением значения «preference». С помощью этого параметра обычно создаются первичные и вторичные почтовые серверы для данной зоны. Когда от удаленного почтового сервера на DNS-сервер поступает запрос о почтовом сервере, ответственном за данную зону, то в ответ ему посылается список всех почтовых серверов с соответствующими им приоритетами. Удаленный почтовый сервер попытается соединиться с сервером, у которого самый высокий приоритет из списка, и, если попытка оказалась неудачной, продолжает устанавливать соединение с менее приоритетными серверами.
«host» — имя почтового сервера. Ему также должна соответствовать запись типа «А», где будет указан его адрес IP.
options {
directory «/var/named»; // Working directory
pid-file «named.pid»; // Put pid file in working
allow-query { any; }; // This is default
recursion no; // Do not provide recursion service
};
Однако, если «named» выполняется с использованием команды «chroot», то для вышеприведённого файла конфигурации зоны будут находиться в «/var/named/chroot/var/named».
Файл зоны для официального (первичного) сервера DNS имеет следующий вид:
zone «example.com.» {
type master;
file «example.com»;
allow-transfer { 192.168.4.14; 192.168.5.53; };
};
Здесь записано, что данные о зоне ответственности находятся в файле «/var/named/example.com». Файл, описывающий прямую зону (в предположении, что письма о различных ошибках в работе DNS будут приходить на адрес «myhost@mail.ru») имеет следующий вид:
$TTL 43200
; Символ @ при анализе файла заменяется named на
; то, что указано в кавычках после слова «zone»
; в named.conf – в представленном случае это example.com.
; Именно поэтому в E-mail адресе, указанном
; на следующей строке, нужно применять
; точку вместо @.
@ SOA @ myhost.mail.ru. (
2000092940 ; serial
3600 ; refresh
900 ; retry
1209600 ; expire
86400 ; minimum TTL
)
; Текущую зону можно получить с серверов example.com.
@ NS example.com.
; ... и ns2.trifle.net
@ NS ns2.trifle.net.
; Домен, имя которого совпадает с именем текущей зоны,
; а также все его поддмены имеют нужный IP-адрес.
@ A 192.168.73.1 ; IP адрес хоста, имя которого совпадает с именем домена
vasja A 192.168.73.2 ;IP хоста vasja.example.com
; Наконец, почта, приходящая на адрес
; вида что-то@example.com, будет попадать на
; SMTP-сервер, запущенный на mail.example.com,
; то есть на текущую машину (вместо mail
; здесь можно было бы написать любое имя,
; ведь все поддомены имеют одинаковый IP-адрес).
@ MX 10 mail
Следует обратить внимание, что нигде нет привязки непосредственно к имени «example.com.», за исключением первой «NS»-строки. Теперь, если кто-то подключится к данному DNS-серверу и попросит определить IP-адрес «vasja.example.com.», «named» обнаружит, что этот домен принадлежит зоне «example.com.» и вернет IP-адрес, тот самый, который указан во второй «A»-строке.
Строка с типом «A» означает: «Домен имеет IP-адрес ...».
Строка с типом «NS» означает: «Зона хранится на DNS-сервере ...».
Строка типа «MX» означает: «Для указанного домена после @ перенаправлять всю почту на ...».
Со значениями остальных строк можно ознакомиться в документации.
В файле «named.conf» первая, корневая, зона нужна только для того, чтобы сама машина могла определить адрес общемирового корневого DNS-сервера. Именно в этой зоне он (точнее, они) и задается. Описание корневой зоны находится в файле «/var/named/root.hint» и имеет следующий вид:
. 3600000 IN NS A.ROOT-SERVERS.NET.
A.ROOT-SERVERS.NET. 3600000 A 198.41.0.4
. 3600000 NS B.ROOT-SERVERS.NET.
B.ROOT-SERVERS.NET. 3600000 A 128.9.0.107
. 3600000 NS C.ROOT-SERVERS.NET.
C.ROOT-SERVERS.NET. 3600000 A 192.33.4.12
. 3600000 NS D.ROOT-SERVERS.NET.
D.ROOT-SERVERS.NET. 3600000 A 128.8.10.90
. 3600000 NS E.ROOT-SERVERS.NET.
E.ROOT-SERVERS.NET. 3600000 A 192.203.230.10
. 3600000 NS F.ROOT-SERVERS.NET.
F.ROOT-SERVERS.NET. 3600000 A 192.5.5.241
. 3600000 NS G.ROOT-SERVERS.NET.
G.ROOT-SERVERS.NET. 3600000 A 192.112.36.4
. 3600000 NS H.ROOT-SERVERS.NET.
H.ROOT-SERVERS.NET. 3600000 A 128.63.2.53
. 3600000 NS I.ROOT-SERVERS.NET.
I.ROOT-SERVERS.NET. 3600000 A 192.36.148.17
. 3600000 NS J.ROOT-SERVERS.NET.
J.ROOT-SERVERS.NET. 3600000 A 198.41.0.10
. 3600000 NS K.ROOT-SERVERS.NET.
K.ROOT-SERVERS.NET. 3600000 A 193.0.14.129
. 3600000 NS L.ROOT-SERVERS.NET.
L.ROOT-SERVERS.NET. 3600000 A 198.32.64.12
. 3600000 NS M.ROOT-SERVERS.NET.
M.ROOT-SERVERS.NET. 3600000 A 202.12.27.33
Все эти DNS-серверы совместно обслуживают корневую зону, и все они являются как бы вторичными серверами друг для друга.
Для файлов зон «in-addr.arpa» (обратные записи DNS) используется тот же самый формат, отличающийся только использованием записей «PTR» вместо «A» или «CNAME». Пример описания обратной зоны.
Выдержка из файла /etc/named
// reverse zone for kurs
zone «73.168.192.in-addr.arpa» IN {
type master;
file «73.168.192. in-addr.arpa»;
allow-update { none; };
};
Файл 73.168.192.in-addr.arpa:
$TTL 86400
@ IN SOA @ mail.kurs. (
148 ; serial (d. adams)
3H ; refresh
15M ; retry
1W ; expiry
1D ) ; minimum
@ IN NS kurs.
; PTR records
;
134 IN PTR kurs
1 IN PTR gate.kurs.
