Чтение онлайн

ЖАНРЫ

Linux: Полное руководство

Аллен Питер В.

Шрифт:

Прежде чем приступить к настройке sendmail, вам необходимо правильно настроить DNS. Настройка сервера DNS подробно обсуждалась в главе 13. Необязательно настраивать сервер DNS на том же компьютере, где будет работать sendmail: достаточно будет указать DNS-сервера вашей сети в файле

/etc/resolv.conf
, чтобы система разрешения имен корректно работала. Впрочем, sendmail можно настроить для работы и без использования DNS, но этот вариант я рассматривать не буду.

14.1.1. Базовая настройка sendmail

Основным файлом конфигурации sendmail

является
sendmail.cf
, расположенный в каталоге
/etc/mail
(в некоторых дистрибутивах —
/etc
, смотри
rpm -ql sendmail
). Об этом файле говорят, что он длиннее, чем лимузин у Билла Гейтса, и что его редактирование происходит в режиме «глаза боятся, руки делают». Если вы не верите мне, откройте этот файл, и вы убедитесь в этом. Редактировать данный файл вручную могут только профессионалы-администраторы или разработчики программы sendmail.

К счастью, базовую настройку sendmail можно выполнить при помощи графического конфигуратора netconf. К сожалению, этот конфигуратор (точнее, пакет linuxconf, в который он входит) в современные дистрибутивы включать перестали. Но не все потеряно: его можно скачать с сайта разработчика

http://www.solucorp.qc.ca/linuxconf
. Многие опытные пользователи Linux критически относятся к возможностям пакета linuxconf и предпочитают прямое редактирование конфигурационных файлов, но для новичка эти утилиты, несомненно, удобнее.

Запустите утилиту netconf из-под суперпользователя (рис. 14.2).

Рис. 14.2. Конфигуратор netconf

Выберите в меню Mail delivery system, затем Configure basic information. В поле Present your system as просто введите свое доменное имя. Затем обязательно отметьте флажок Accept email for ваш_домен (рис. 14.3).

Рис. 14.3. Основная конфигурация sendmail

Если вы этого не сделаете, через ваш сервер можно будет перенаправить сообщения на другой сервер — а это лишний трафик через вас, который вам совсем ни к чему. Когда-то даже существовал такой вид атаки на отказ через электронную почту: письмо от несуществующего пользователя not_exists@A.com другому несуществующему пользователю not_exists@B.com отправлялось через компьютер host.com, который позволял перенаправлять сообщения (не включив режим Accept email for host.com). Обратно шло сообщение о том, что адресат не существует, но и оно не могло быть доставлено по той же причине... возникала косвенная рекурсия, и сервер host.com падал.

В качестве протокола отправки сообщений (Mail gateway protocol) установите smtp. Этой информации уже вполне достаточно, чтобы ваш sendmail функционировал.

Теперь сделайте так, чтобы sendmail принимал почту только с разрешенных адресов. Для этого даже не нужно настраивать сам sendmail — достаточно только подправить файлы

/etc/hosts.allow
и
/etc/hosts.deny
. Например, для запрещения доступа всем узлам, кроме компьютеров вашей сети, в файл
/etc/hosts.allow
добавьте строку

192.168.1.

Здесь имеется в виду, что сеть имеет адрес 192.168.1.0 и маску 255.255.255.0. Точка в конце образца требует сравнивать с образцом первые группы цифр адреса узла. Подробнее о формате файлов

hosts.allow
и
hosts.deny
вы можете прочитать, введя команду
man hosts.allow
.

Теперь настала очередь POP3. После установки пакета imap у вас практически все настроено, т.е. я хочу сказать, что уже можно проверять конфигурацию. Перезапустите супердемон inetd (xinetd) и введите следующее:

$ telnet <имя_только_созданного_почтовика> 25

Trying 192 .168.1.1 ...

Connected to 192.168.1.1

Escape character is '^]'

220 den.dhsilabs.com ESMTP Sendmail 8.11.0/8.8.7 Sun, 17 Jun 2001 10:54:22 +300

Это означает, что sendmail работает, осталось проверить, насколько правильно он это делает. С этой целью попробуйте отправить письмо:

mail from: me@my.host.com

22 0 2.1.0 me@my.host.com .... Sender OK

rcpt to: den@den.dhsilabs.com

220 2.1.5 den@den.dhsilabs.com .... Recipient OK

В качестве адресата (

rcpt to:
) укажите существующее регистрационное имя @ имя почтового сервера. После этого введите команду
data
, потом текст сообщения, а для окончания ввода поставьте точку в пустой строке. Программа sendmail сообщит, что сообщение помещено в очередь на отправку. Закончите telnet-сеанс командой
quit
.

Обратите внимание, что узла my.host.com не существует, а программа sendmail тем не менее рапортует, что «Sender OK». Вот почему в настройках sendmail лучше включить флажок Wait for DNS.

Теперь нужно запустить какой-нибудь почтовый клиент, например kmail, и получить почту. Используйте следующие настройки сети в программе kmail: Сеть→Отправка почты. Там установите SMTP, порт 25, имя сервера — имя вашего почтовика (в рассматриваемом примере это den. dhsilabs.com). Затем добавьте учетную запись для POP3:

♦ Имя пользователя — den;

♦ Пароль — пароль, который используется для входа в систему;

♦ Сервер — den.dhsilabs.com;

♦ Порт — 110.

В результате вы должны получить то сообщение, которое только что послали. При этом возможны проблемы при разрешении имени. Чтобы их избежать, необходимо правильно настроить DNS или вместо имени почтового сервера использовать его IP-адрес. При добавлении нового пользователя не забудьте установить его пароль для входа в систему. Если этого не сделать, а пытаться получить почту без указания пароля, то вы получите сообщение «Сбой аутентификации».

Поделиться с друзьями: