Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

МУ2799_Лаб1-5_Linux

.pdf
Скачиваний:
21
Добавлен:
11.05.2015
Размер:
833.85 Кб
Скачать

zone <доменное имя> {

primary <IР-адрес носителя зоны DNS>; >

Настройка дополнительных опций DHCP. В DHCP-сервер от ISC

встроен механизм определения новых DHCP-опций. Новая DHCP-опция

описывается следующим образом:

option <название опции> code <номер опции> = <тип>;

Поле <тип> имеет следующий синтаксис:

<тип>:= {<атомарный тип> | array of <атомарный тип> <размер>}

<атомарный тип> := { [unsigned] integer | string }

Определение классов клиентов DHCP. DHCP-сервер от ISC может выдавать разные опции DHCP в зависимости от информации, предоставленной клиентом. Для решения этой задачи он использует механизм классификации

клиентов. Класс клиентов DHCP описывается следующим образом:

class "<имя класса>" { match if <условие>;

}

Поле <условие> задает критерий принадлежности клиента к определяемому классу и имеет следующий синтаксис:

<условие> := <переменная> = <значение>

Настройка подсетей, обслуживаемых DHCP-сервером Подсети и опции,

выдаваемые клиентам DHCP из этих подсетей, определяются записями subnet

конфигурационного файла DHCP-сервера:

subnet <номер подсети> netmask <маска подсети> {

<описание пулов адресов подсети>

}

Адресное пространство подсети может быть разбито на несколько пулов,

для каждого из которых могут быть заданы опции DHCP, передаваемые клиентам. Пул адресов внутри подсети описывается записью:

pool {

range <первый адрес пула> <последний адрес пула>;

32

[ option <имя опции> = <значение опции>; ]*

{allow | deny } members of "<имя класса клиентов

DHCP>";

}

Если в описании пула присутствует запись allow, то сервер будет выдавать адреса из этого пула клиентам указанного класса. Если в описании пула присутствует запись deny, то сервер не будет выдавать адреса из этого пула клиентам указанного класса.

Записи option определяют, какие опции DHCP будут передаваться клиенту, если ему выдается IP-адрес из данного пула. В следующей таблице приведены описания встроенных опций, необходимых для выполнения лабораторной работы:

 

 

Таблица 3.

 

Описания встроенных опций

 

 

 

 

Опция

Номер

Описание

 

 

 

 

 

domain-name

15

Суффикс доменного имени клиента

 

 

 

 

 

domain-name-

6

Список DNS-серверов в порядке убывания

 

servers

 

предпочтительности

 

 

 

 

 

routers

3

Список шлюзов по умолчанию в порядке

 

 

 

убывания предпочтительности

 

 

 

 

 

2.2. Настройка клиентов Прежде всего следует настроить имя узла. Имя узла храниться в файле

/etc/hostname.

Дистрибутив GNU/Linux Debian 5 . 0 Lenny в качестве клиента DHCP по умолчанию использует клиент DHCP от ISC. Этот клиент настраивается с помощью конфигурационного файла /etc/dhcp3/dhclient.conf. В этом файле можно указать, какие опции DHCP клиент будет передавать серверу, а

какие — запрашивать.

33

Значения опций, передаваемых DHCP-серверу, задаются с помощью

записи send:

send <имя опции DHCP> <значение>

Имена опций DHCP совпадают с именами опций DHCP-сервера,

рассмотренного в предыдущем разделе.

Список запрашиваемых опций DHCP задается записью request:

request <имя опции DHCP>*;

3. Пример выполнения работы

Рассмотрим сеть, изображенную на рис. 7:

Рис. 7. Пример схемы сети для лабораторной работы

3.1. Настройка сервера DHCP

Содержимое конфигурационного файла /etc/dhcp3/dhcpd. conf на машине debian-svr:

option rfc3004-user-class code 77 = string; option rfc3442-classless-static-routes code 121

= array of unsigned integer 8; ddns-update-style interim; default-lease-time 600;

34

max-lease-time 7200;

ddns-domainname "Workgroup3_5.local."; zone Workgroup3_5.local. {

primary 127.0.0.1;

}

zone 5.3.10.in-addr.arpa. { primary 127.0.0.1;

}

class "classl" {

match if option rfc3004-user-class = "classl";

}

subnet 10.3.5.0 netmask 255.255.255.0 { pool {

range 10.3.5.2 10.3.5.127;

option rfc3442-classless-static-route 16, 192, 168, 10, 3, 5, 1, 8, 10, 10, 3, 5, 1;

allow members of "classl";

}

pool {

range 10.3.5.128 10.3.5.254; option routers 10.3.5.1; deny members of "classl";

}

}

Первые две строчки конфигурационного файла определяют две дополнительные опции: DHCP-сервер, входящий в состав дистрибутива Debian

5.0, не «знает» о существовании опций User Class, рекомендованной RFC 3004, и Classless Static Route, рекомендованной RFC 3442.

35

В следующих четырех строчках разрешается динамическое обновление зоны Workgroup3_5. local, устанавливается максимальное время аренды

IP-адреса и время аренды адреса по умолчанию (7200 и 600 сек.

соответственно).

Записи zone говорят о том, что сервер-носитель зон

Workgroup3_5.local и 5.3.10.in-addr.агра работает на той же машине, что и DHCP-сервер.

Запись class определяет класс клиентов DHCP с именем class1:

клиент принадлежит к этому классу, если в качестве значения опции User Class он передал строку class1.

Запись subnet определяет подсеть (10.3.5.0/24), узлам которой данный

DHCP-сервер будет выдавать IP-адреса. Множество адресов этой подсети разбито на два диапазона: 10.3.5.2-10.3.5.127 и 10.3.5.128-10.3.5.254; адреса первого диапазона выдаются клиентам класса class1, кроме того, этим клиентам передается статическая таблица маршрутизации; адреса второго пула выдаются всем остальным клиентам, кроме того, им передается адрес шлюза по умолчанию.

3.2. Настройка клиентов DHCP

Конфигурационный файл (/etc/dhcp3/dhclient.conf) DHCP-

клиента, работающего на машине debianl, имеет вид:

option rfc3442-classless-static-routes code 121 = array of unsigned integer 8;

option rfc3004-user-class code 77 = string; send host-name "debianl";

send rfc3004-user-class "classl";

request subnet-mask, broadcast-address, time-offset, routers, domain-name, domain-name-servers, domainsearch, host-name, interface-mtu, rfc3442-classless- static-routes;

36

Записи send заставляют DHCP-клиент передать DHCP-серверу

значения опций Host Name и User Class.

Лабораторная работа №5 «Настройка сервисов поддержки системы обмена

электронной почтой»

Цель работы — изучение особенностей конфигурации и возможностей

POP и SMTP серверов на примере Postfix и Dovecot.

1.Задание кафедры

1.Установить РОРЗ-сервер

2.Создать почтовый домен.

3.Создать три почтовых ящика.

4.Установить SMTP-сервер

5.Настроить параметры доступа к SMTP-серверу

6.Настроить зону DNS почтового домена для обеспечения пересылки почтового трафика на сервер SMTP.

7.Настроить пересылку уведомления о проблемах с доставкой почты на один из созданных почтовых ящиков.

8.В зоне DNS создать псевдонимы pop и smtp для машины, на которой работают сервера РОРЗ и SMTP.

9.На клиентских машинах полигона создать учетные записи для трех пользователей.

10.Для созданных учетных записей провести настройку POP-клиентов на использование созданных почтовых ящиков. В качестве серверов Р0Р-

сервера указать pop, а в качестве SMTP-сервера — smtp.

2. Указания к выполнению лабораторной работы

2.1. Настройка сервера SMTP

Рассмотрим настройку SMTP-сервера Postfix [7].

37

Основной конфигурационный файл по умолчанию имеет имя

/etc/postfix/main.cf и состоит из строк формата <имя опции> =

<значение>. После каждого изменения этого файла следует вызывать команду

postfix reload

Настройка псевдонимов локальных пользователей. Postfix может отправ-

лять уведомления о проблемах с доставкой почты с помощью агента локальной доставки, поэтому сначала следует настроить параметры локальной доставки почты. Псевдонимы локальных пользователей хранятся в базе данных,

указанной в переменных alias_maps и alias_database:

alias_maps = <СУБД>:<таблица>

alias_database = hash:<nyть к файлу>

Поле <СУБД> определяет способ хранения таблицы псевдонимов пользователей: таблица может храниться в базе данных (Postfix умеет работать с такими серверами базами данных, как MySQL и PostgreSQL), в каталоге сетевых служб LDAP и NIS, в файле локальной файловой системы. В лабо-

раторной работе мы будем использовать таблицы, хранящиеся в локальной файловой системе, (хэш-таблицы) поэтому поле <СУБД> всегда будет прини-

мать значение hash; в этом случае поле <таблица> является путем к файлу с таблицей. В одном случае мы будем использовать статическую таблицу, т. е.

такую таблицу, в которой любому ключу соответствует одно значение; для таких таблиц поле <СУБД> принимает значение static, а поле <таблица>

как раз и определяет это значение.

Хэш-таблица является текстовым файлом, состоящим из строк <ключ> <значение>; если таблица является базой данных псевдонимов, то записи в этом файле имеют вид <псевдоним>: <значение>.

Хэш-таблица после редактирования должна быть преобразована в двоич-

ный формат командой postmap <путь к файлу с таблицей> для

38

ускорения операций поиска; если таблица является базой данных псевдонимов,

то достаточно выполнить команду newaliases.

Поле <значение> записи в таблице псевдонимов может быть:

именем реального пользователя операционной системы — в этом случае агент локальной доставки поместит письмо в домашний каталог пользователя;

путем к файлу — в этом случае письмо будет дописано в конец указанного файла;

именем комадны — в этом случае имя команды должно предворяться символом |, письмо записывается в поток стандартного ввода указанной команды.

Настройка локального почтового домена. Postfix рассылает почту локального почтового домена с помощью агента локальной доставки. Имя этого домена задается переменной mydomain. Если значение этой переменной не указано, то локальным почтовым доменом считается значение переменной myhostname без домена самого низкого уровня. По умолчанию, значение переменной myhostname есть результат функции gethostname().

Настройка прослушиваемых интерфейсов. Postfix прослушивает порт

SMTP (25) на интерфейсах, перечисленных в переменной inet_interf aces:

inet_interfaces = { <IР-адрес интерфейса>* | all | loopback-

only }

Если значение этой переменной равно all, то 25-й TCP-порт будет прослушиваться на всех интерфейсах.

Если значение этой переменной равно loopback-only, то 25-й ТСР-

порт будет прослушиваться на всех интерфейсах подсети 127.0.0.0/8.

Настройка релея почты. Postfix разрешает релей электронной почты только для подсетей, перечисленных в переменной mynetworks:

mynetworks = <номер подсети в нотации CIDR>*

39

Postfix осуществляет релей электронной почты с помощью агента,

указанного в переменной relay_transport. По умолчанию, значение этой переменной равно relay, что и необходимо для нормального релея, однако в шаблоне конфигурационного файла значение этой переменной равно error

в этом случае релей почты будет запрещен.

Postfix'y также следует указать домены, в которые разрешен релей.

Список этих доменов хранится в переменной relay_domains: relay_domains = { [!]{ <доменное имя> | <путь к файлу> |

<СУБД>:<таблица> } }*

Кроме того для предотвращения атаки с подменой IP-адресов, релей почты должен быть разрешен только тем клиентам, которые прошли процедуру аутентификации. Переменная smtpd_client_restrictions содержит список ограничений доступа к сервису SMTP. Часто используется аутентификация по методу SASL [8], поэтому в качестве значения этой переменной следует использовать permit_sasl_authenticated.

Настройка аутентификации. Прежде всего, следует активировать

аутентификацию по методу SASL:

smtpd_sasl_auth_enable = yes

Postfix поддерживает две реализации аутентификации по методу SASL;

выбор реализации зависит от значения переменной sasl_auth_type:

smtpd_sasl_type = { dovecot | cyrus }

Поскольку в качестве сервера РОРЗ будет использоваться Dovecot, то рекомендуется установить значение этой переменной в dovecot — в этом случае Postfix будет использовать сервис аутентификации, экспортируемый

Dovecot'ом.

Путь (относительно каталога, в котором Postfix хранит очередь сообщений) к оконечной точке коммуникационного канала системы IPC

операционной системы Linux, созданной внешним агентом аутентификации,

определяется переменной smtpd_sasl_path.

40

Метод аутентификации SASL предоставляет несколько механизмов

аутентификации. Ограничить набор используемых механизмов позволяет

переменная smtpd_sasl_security_options:

smtpd_sasl_security_options = { noplaintext | noanonymous }*

Опция noplaintext запрещает использовать методы аутентификации,

в которых пароль передается открытым текстом по небезопасной сети.

Опция noanonymous запрещает установление анонимных соединений с сервером.

Переменная smtpd_sasl_security_options может принимать и другие значения, однако они не тестировались на совместимость с агентом аутентификации Dovecot'a.

Настройка агента виртуальной доставки почты. В качестве пользователей службы электронной почты могут выступать реальные пользователи операционной системы. Но поскольку пользователь будет получать почту с помощью протокола РОРЗ, то пользователей службы электронной почты следует изолировать от реальных пользователей операционной системы. Для решения этой задачи используется механизм виртуальной доставки почты.

Список виртуальных почтовых доменов, которые будет обслуживать данный сервер, хранится в переменной virtual_mailbox_domains.

Каталог, в котором будут храниться почтовые ящики виртуальных пользователей, определяется переменной virtual_mailbox_base.

Таблица, устанавливающая соответствие между именем виртуального пользователя и каталогом (относительно virtual_mailbox_base), в

котором будет храниться почта этого пользователя.

Идентификаторы пользователей-владельцев виртуальных почтовых ящиков и идентификаторы их групп определяются таблицами, на которые ссылаются переменные virtual_uid_maps и virtual_gid_maps

соответственно. В лабораторной работе эти таблицы могут быть статическими.

41