Слайд 1Образовательный комплекс
Компьютерные сети
Лекция 16
DHCP. Доставка почты.
Слайд 2Компьютерные сети
DHCP. Доставка почты.
из 37
Содержание
Dynamic Host Configuration Protocol
Доставка почты
В
качестве примера используется sendmail
Слайд 3Dynamic Host Configuration Protocol (DHCP)
Слайд 4Нижний Новгород
2007
Компьютерные сети
DHCP. Доставка почты.
из 37
DHCP
Dynamic Host Configuration Protocol
(DHCP) – протокол динамического конфигурирования адресов
DCHP-клиент при старте запрашивает параметры
TCP/IP, DHCP-сервер автоматически выделяет ему IP-адрес и назначает параметры TCP/IP
Использование DHCP
Упрощает сетевое администрирование
Обеспечивает безопасное и надежное назначение IP-адресов
Слайд 5Нижний Новгород
2007
Компьютерные сети
DHCP. Доставка почты.
из 37
DHCP
Некоторые термины
Scope (область) –
диапазон IP-адресов, из которых DHCP-сервер может предложить адрес клиенту; с
областью связаны значения других параметров TCP/IP
Exclusion range (исключаемый диапазон) – диапазон IP-адресов, которые не могу быть назначены клиентам
Address pool (пул адресов) – множество незадействованных IP-адресов, которые могут быть предложены клиентам
Lease (аренда) – период, в течение которого клиент может использовать IP-адрес (назначается DHCP-сервером). Срок аренды определяет, когда она закончится и как часто клиент должен ее возобновлять.
Reservation (резервирование) – закрепление IP-адреса за конкретным устройством
Слайд 6Нижний Новгород
2007
Компьютерные сети
DHCP. Доставка почты.
из 37
DHCP
Настройка сервера
На сервере DHCP
необходимо определить область (scope), для которого указать параметры
диапазон IP-адресов, которые
можно выделять клиентам
192.168.1.0 – 192.168.1.255
маску подсети
255.255.255.0
исключения
192.168.1.0 – 192.168.1.10
срок аренды
84600 (секунд)
другие параметры
Gateway: 192.168.1.1
DNS server: 192.168.1.2
Слайд 7Нижний Новгород
2007
Компьютерные сети
DHCP. Доставка почты.
из 37
DHCP
Получение аренды…
При первом запуске
DCHP-клиента
DHCP-клиент посылает широковещательное сообщение DHCPDiscover
DHCP-серверы отвечают сообщением DHCPOffer, содержащем предлагаемый
IP-адрес и другие параметры аренды
MACA
DHCP-клиент
IPB
MACB
1. DHCPDiscover
Source IP: 0.0.0.0
Dest. IP: 255.255.255.255
Source MAC: MACA
Dest. MAC: 111…111
DHCP-сервер
2. DHCPOffer
Source IP: IPB
Dest. IP: IPA
Source MAC: MACB
Dest. MAC: MACA
Слайд 8Нижний Новгород
2007
Компьютерные сети
DHCP. Доставка почты.
из 37
DHCP
Получение аренды…
DHCP-клиент принимает первое
пришедшее предложение и посылает DHCP-серверу уведомление о согласии (DHCPRequest)
DCHP-сервер назначает
клиенту аренду IP-адреса и посылает сообщение DCHPAck, содержащее дополнительные параметры TCP/IP
DCHP-клиент применяет параметры и начинает работу в сети
В случае отсутствия ответа от DCHP-сервера клиент может назначить себе IP-адрес самостоятельно
каждые 5 минут DCHP-клиент пытается найти DHCP-сервер
MACA
DHCP-клиент
IPB
MACB
3. DHCPRequest
DHCP-сервер
4. DHCPAck
Слайд 9Нижний Новгород
2007
Компьютерные сети
DHCP. Доставка почты.
из 37
DHCP
Получение аренды
При повторном запуске
DHCP-клиента
DCHP-клиент посылает широковещательное сообщение DHCPRequest, пытаясь получить свой предыдущий адрес
Если
запрашиваемый IP-адрес может быть использован клиентом, DHCP-сервер посылает ему сообщение DCHPAck
Клиент продолжает использовать свой IP-адрес
Если запрашиваемый IP-адрес не может быть использован клиентом, DHCP-сервер посылает ему сообщение DCHPNAk
Клиент начинает процесс получения аренды заново
Если DCHP-сервер не отвечает, клиент проверяет доступность шлюза (Gateway)
Если шлюз доступен, клиент продолжает использование IP-адреса
Если шлюз недоступен, клиент предполагает, что его переместили в другую физическую сеть, прекращает использование IP-адреса и может попытаться назначить себе IP-адрес самостоятельно
Слайд 10Нижний Новгород
2007
Компьютерные сети
DHCP. Доставка почты.
из 37
DHCP
Продление аренды
DHCP-сервер считает IP-адрес
освободившимся, если
DHCP-клиент прислал сообщение DHCPRelease, явно отказываясь от использования IP-адреса
Истек
срок аренды, назначенный клиенту
DCHP-клиент
По истечении половины срока аренды пытается продлить ее, посылая DHCP-серверу, выделившему ему IP-адрес, сообщения DCHPRequest (допускается 3 повтора через 4, 8 и 16 секунд)
В случае успеха срок аренды начинается заново
По истечении 87,5% срока аренды DHCP-клиент посылает широковещательное сообщение DHCPDiscover (допускается 3 повтора через 4, 8 и 16 секунд)
В случае получения ответа DHCPOffer клиент принимает предложение (меняет IP-адрес)
По истечении срока аренды в случае отсутствия связи с DHCP-серверами клиент прекращает использование IP-адреса и начинает действовать как при первом запуске
Слайд 12Нижний Новгород
2007
Компьютерные сети
DHCP. Доставка почты.
из 37
Доставка почты
Компоненты доставки…
Пользовательский агент
Пользовательский
агент
Транспортный агент
Агент подачи почты
Интернет
Транспортный агент
Агент доставки почты
Агент доставки почты
Почтовый ящик
Агент
доступа
Пользовательский агент
Слайд 13Нижний Новгород
2007
Компьютерные сети
DHCP. Доставка почты.
из 37
Доставка почты
Компоненты доставки
При доставке
используются следующие агенты
Пользовательский – программа, в которой пользователь читает/пишет сообщения
The
Bat!, Outlook & OE, Evolution, KMail, mutt, mail, elm,…
Транспортный – осуществляет доставку почты по протоколу SMTP
sendmail, postfix, exim, qmail
Подачи почты – предназначен для предварительной проверки и изменений в заголовках письма
RFC 2476, использует port 587
Доставки почты – помещает почту в почтовый ящик получателя
procmail
Доступа – обеспечивает доступ к почтовому ящику пользовательского агента
по протоколам pop или imap
Слайд 14Нижний Новгород
2007
Компьютерные сети
DHCP. Доставка почты.
из 37
Доставка почты
Протоколы…
При доставке почты
между транспортными агентами используются протоколы
Simple Mail Transfer Protocol (SMTP)
Extended SMTP
(ESMTP)
SMTP и ESMTP – текстовые протоколы, содержащие ограниченный набор команд
Пользователь может подключиться к транспортному агенту, используя telnet, и отправить письмо, введя определенную последовательность команд
Транспортный агент обычно использует порт 25
Слайд 15Нижний Новгород
2007
Компьютерные сети
DHCP. Доставка почты.
из 37
Доставка почты
Протоколы
Пример последовательности команд
HELLO
mail.mydomain.ru
MAIL FROM: ivanov@mydomain.ru
RCPT TO: billgates@microsoft.com
DATA
From: Ivanov I.I.
To: Bill
Gates
Subject: Hello
пустая строка
Hello, Bill!
What about lunch?
.
перевод строки
QUIT
Слайд 16Нижний Новгород
2007
Компьютерные сети
DHCP. Доставка почты.
из 37
Доставка почты
Sendmail
В качестве примера
мы рассмотрим транспортный агент sendmail
Оргинал был разработан в 1983 г.
Эриком Оллманом как приложение, поддерживающее универсальный метод анализа заголовка письма
Sendmail может всё, кроме проверки содержимого письма
но для этого он может передать письмо сторонней программе (например, procmail)
Слайд 17Нижний Новгород
2007
Компьютерные сети
DHCP. Доставка почты.
из 37
Доставка почты
Sendmail – Конфигурация…
Sendmail
использует несколько конфигурационных файлов
/etc/mail/sendmail.cf – основной конфигурационный файл
имеет довольно сложный
формат, обычно не редактируется, а формируется из
/etc/mail/submit.cf – используется, если sendmail выполняет функции агента подачи почты
/etc/mail/* - в данном каталоге лежат дополнительные конфигурационные файлы
Слайд 18Нижний Новгород
2007
Компьютерные сети
DHCP. Доставка почты.
из 37
Доставка почты
Sendmail – Конфигурация…
Описание
конфигурации в файле /etc/mail/sendmail.cf содержит несколько разделов
Описание параметров данной машины
(параметры TCP/IP и т.д.)
Описание макроопределений sendmail, отвечающих за работу в локальной сети
Описание классов имен
Внутренние макроопределения sendmail
Опции команды sendmail
Определение порядка сообщений
Описание формата заголовка почтового сообщения
Правила преобразования адресов
и т.д.
Файл /etc/mail/sendmail.cf имеет достаточно сложный формат и обычно не редактируется, а формируется из файла, содержащего описание конфигурации на языке интерпретатора m4 (например, /etc/mail/sendmail.mc)
Слайд 19Нижний Новгород
2007
Компьютерные сети
DHCP. Доставка почты.
из 37
Доставка почты
Sendmail – Конфигурация
Файл
конфигурации на языке m4 содержит макросы, при обработке которых формируется
файл sendmail.cf
Файл состоит из нескольких разделов, для которых определен порядок следования
Для указания специфичных для конкретной настройки параметров преимущественно используются макросы FEATURE и define
Слайд 20Нижний Новгород
2007
Компьютерные сети
DHCP. Доставка почты.
из 37
Доставка почты
Sendmail – Режимы
работы
В зависимости от параметров запуска sendmail может выполнять следующие задачи
Работать
в фоновом режиме в качестве процесса-демона
Обычно sendmail начинает работать в данном режиме при старте UNIX
Работать в активном режиме
Вывести базу данных хостов
Очистить базу данных хостов
Инициализировать базу данных псевдонимов
Доставлять почту
Отобразить содержимое очереди почтовых сообщений
Проверить разрешимости адреса
Выполнять только проверку имен (сообщения не доставляются)
Sendmail по умолчанию использует программный интерфейс сокетов (порт 25), но может использовать стандартный ввод-вывод
Слайд 21Нижний Новгород
2007
Компьютерные сети
DHCP. Доставка почты.
из 37
Доставка почты
Sendmail – Очереди
Процесс
отправки и приема сообщений достаточно длительный, поэтому sendmail использует очередь
почтовых сообщений
Размещается в каталоге /var/spool/mqueue
Для каждого сообщения хранятся блоки его содержимого и управляющая информация
После приема сообщения оно помещается в локальный почтовый ящик получателя
Обычно это файл /var/spool/mail/имя_получателя
Sendmail имеет собственный файл протокола
/var/log/maillog
Слайд 22Нижний Новгород
2007
Компьютерные сети
DHCP. Доставка почты.
из 37
Доставка почты
Sendmail – начальные
настройки
При использовании настроек по умолчанию sendmail
Принимает почту, адресованную только на
машину, на которой он установлен (user@comp.domain.name.)
Позволяет отправлять почту только пользователям, работающим в сессии на самом почтовом сервере
Использует для приема запросов от клиентов программный интерфейс сокетов (IP-адрес 127.0.0.1, порт 25)
Слайд 23Нижний Новгород
2007
Компьютерные сети
DHCP. Доставка почты.
из 37
Доставка почты
Sendmail – конфигурация…
Для
того чтобы sendmail принимал почту, отправленную на адрес вида "имя_пользователя@имя_домена",
необходимо
использовать FEATURE(use_cw_file)dnl
в файле /etc/mail/local-host-names перечислить имена доменов, для которых sendmail принимает почтовые сообщения
localhost
localhost.localdomain
mydomain.ru
пустая строка
Слайд 24Нижний Новгород
2007
Компьютерные сети
DHCP. Доставка почты.
из 37
Доставка почты
Sendmail – конфигурация
Для
того чтобы sendmail принимал для доставки сообщения не только от
локально работающих пользователей, необходимо
использовать FEATURE(`access_db',`hash –T /etc/mail/access.db')dnl
в файле /etc/mail/access перечислить условия, при выполнении которых sendmail доставляет почтовые сообщения
Обслуживать сообщения, отправленные с локального узла
localhost RELAY
127.0.0.1 RELAY
из указанной сети
192.168 RELAY
с указанного почтового адреса
user@mydomain.ru RELAY
и т.д.
сформировать базу access.db командой
makemap hash access < access
Слайд 25Нижний Новгород
2007
Компьютерные сети
DHCP. Доставка почты.
из 37
Доставка почты
Sendmail – virtusertable
В
случае прихода сообщения на адрес user@mydomain.ru, оно будет доставлено локальному
пользователю user
Что делать, если мы должны поддерживать адреса user@mydomain.ru, user@a.ru и т.д.?
Таблица виртуальных пользователей устанавливает связь между почтовыми адресами и локальными пользователями, которым следует доставлять сообщения. Для ее использования необходимо
использовать FEATURE(`virtusertable',`hash –o /etc/mail/virtusertable.db')dnl
в файле /etc/mail/virtusertable устанавливаем соответствие между почтовыми адресами и именами локальных пользователей
user@mydomain.ru ru_mydomain_user
user@a.ru ru_a_user
сформировать базу virtusertable.db командой
makemap hash virtusertable < virtusertable
Слайд 26Нижний Новгород
2007
Компьютерные сети
DHCP. Доставка почты.
из 37
Доставка почты
Sendmail – псевдонимы
Использование
псевдонимов позволяет выполнять перенаправление сообщений, пришедших на имя одного пользователя
– другому пользователю
Для использования псевдонимов необходимо описать их в файле /etc/aliases
chief: director
Почту, пришедшую на имя пользователя chief, доставлять пользователю director
director: user, user@a.ru
Почту, пришедшую на имя пользователя director, доставлять пользователю user и отправлять по адресу user@a.ru
maillist: :include:/path/to/file
Почту, пришедшую на имя пользователя maillist, доставлять всем пользователям, перечисленным в файле /path/to/file
user: /path/to/file
Почту, пришедшую на имя пользователя user, добавлять в файл /path/to/file
user1: |/path/to/program
Для обработки почты, пришедшей на имя пользователя user1, запускать программу /path/to/program (сообщение подается на стандартный ввод)
Пользователь может назначить перенаправление своей почты, создав в своем домашнем каталоге файл forward, содержащий адреса, на которые следует перенаправлять почтовые сообщения
Слайд 27Нижний Новгород
2007
Компьютерные сети
DHCP. Доставка почты.
из 37
Доставка почты
Sendmail – типовой
случай A…
Требуется настроить почтовый сервер для обслуживания организации
домен организации –
a.ru
имя почтового сервера – smtp.mydomain.ru
Настройка sendmail
Запись MX в описании зоны a.ru. должна ссылаться на smtp.mydomain.ru
a.ru. IN MX 0 smtp.mydomain.ru.
Используем макрос FEATURE(use_cw_file)dnl
В файл /etc/mail/local-host-names добавляем строку с именем домена
a.ru
Интернет
smtp.mydomain.ru
Слайд 28Нижний Новгород
2007
Компьютерные сети
DHCP. Доставка почты.
из 37
Доставка почты
Sendmail – типовой
случай A…
Настройка sendmail
Используем макрос FEATURE(`access_db',`hash –T /etc/mail/access.db')dnl
В файл /etc/mail/access добавляем
строку, разрешающую клиентам пересылку через наш сервер
1.2.3 RELAY # Сеть организации – 1.2.3.0/24
или
a.ru RELAY # Можно отправлять почту из домена a.ru
Формируем файл базы данных access.db
makemap hash access < access
Интернет
smtp.mydomain.ru
Слайд 29Нижний Новгород
2007
Компьютерные сети
DHCP. Доставка почты.
из 37
Доставка почты
Sendmail – типовой
случай A…
Настройка sendmail
Добавляем учетные записи пользователей
useradd ru_a_user1
…
Используем макрос FEATURE(`virtusertable',`hash –o
/etc/mail/virtusertable.db')dnl
В файл /etc/mail/virtusertable добавляем строки, отображающие почтовые адреса в имена локальных пользователей
user1@a.ru ru_a_user1
…
Формируем файл базы данных virtusertable.db
makemap hash virtusertable < virtusertable
Интернет
smtp.mydomain.ru
Слайд 30Нижний Новгород
2007
Компьютерные сети
DHCP. Доставка почты.
из 37
Доставка почты
Sendmail – типовой
случай A
Настройка sendmail
Формируем конфигурационный файл sendmail
m4 sendmail.mc > /etc/mail/sendmail.cf
Перезапускаем sendmail
service
sendmail restart
Интернет
smtp.mydomain.ru
Слайд 31Нижний Новгород
2007
Компьютерные сети
DHCP. Доставка почты.
из 37
Доставка почты
Sendmail – типовой
случай B
Требуется настроить почтовый релей для обслуживания организации
домен организации –
b.ru
имя нашего почтового сервера – smtp.mydomain.ru
почтовый сервер организации постоянно подключен к Интернет – smtp.b.ru
Настройка sendmail на smtp.mydomain.ru
аналогична настройке в случае A за исключением пункта 9
В файл /etc/mail/virtusertable добавляем строку
@b.ru %1@smtp.b.ru
Настройка sendmail на smtp.b.ru
Используем макрос define(`SMART_HOST',`smtp:smtp.linux.ru')dnl, позволяющий принимать почту от релея
Интернет
smtp.mydomain.ru
smtp.b.ru
Слайд 32Нижний Новгород
2007
Компьютерные сети
DHCP. Доставка почты.
из 37
Доставка почты
Sendmail – типовой
случай C…
Требуется настроить почтовый релей для обслуживания организации
домен организации –
с.ru
имя нашего почтового сервера – smtp.mydomain.ru
почтовый сервер организации smtp.с.ru не подключен к Интернет постоянно
Настройка sendmail на smtp.mydomain.ru
аналогична настройке в случае A за исключением пунктов 7 и 9
Все почта в домен c.ru принимается на имя одного пользователя
useradd ru_c
...
В файл /etc/mail/virtusertable добавляем строку
@c.ru ru_c
Интернет
smtp.mydomain.ru
smtp.с.ru
Слайд 33Нижний Новгород
2007
Компьютерные сети
DHCP. Доставка почты.
из 37
Доставка почты
Sendmail – типовой
случай C
Настройка sendmail на smtp.c.ru
Используем макрос define(`SMART_HOST',`smtp:smtp.linux.ru')dnl, позволяющий принимать почту
от релея
Забирать почту с релея нужно программой fetchmail, ее конфигурационный файл – /root/fetchmail.cf
Пример конфигурации
poll smtp.mydomain.ru with proto POP3
localdomains c.ru
no envelope
no dns
user "ru_c" with password "password" is
local_user1
local_user2
local_user3
here
Интернет
smtp.mydomain.ru
smtp.с.ru
Слайд 34Нижний Новгород
2007
Компьютерные сети
DHCP. Доставка почты.
из 37
Заключение
Dynamic Host Configuration Protocol
(DHCP) – удобный и надежный механизм управления параметрами TCP/IP во
всей сети
Доставка почты – процесс, в котором задействовано большое количество программных модулей с огромным числом конфигурационных параметров
Слайд 35Нижний Новгород
2007
Компьютерные сети
DHCP. Доставка почты.
из 37
Тема следующей лекции
Некоторые вопросы
сетевой безопасности
Слайд 36Нижний Новгород
2007
Компьютерные сети
DHCP. Доставка почты.
из 37
Вопросы для обсуждения
Слайд 37Нижний Новгород
2007
Компьютерные сети
DHCP. Доставка почты.
из 37
Литература
Сети TCP/IP. Ресурсы Microsoft
Windows 2000 Server. – М.: Русская редакция, 2001.
В.Г. Олифер, Н.А.
Олифер. Компьютерные сети. Принципы, технологии, протоколы.
СПб: Питер, 2001.