|
Ключевые слова: freebsd, mail, sendmail, install, spam, ipfw, (найти похожие документы)
From: Дрезюля Дмитрий <dmitri_dr@mail.ru> Subject: Настройка почтового сервера на базе sendmail на FreeBSD 4.7 Настройка почтового сервера на базе sendmail на FreeBSD 4.7 Предстоит следующая задача: - Настроить почтовый сервер на FreeBSD чтоб клиенты могли работать с ним по протоколам pop3, smtp (тоесть забирать почту клиентами The Bat, Outlook и т.п.). - Сервер должен обслуживать почту 3 доменов причем пользователи должны иметь одноименную почту в разных доменах т.е. (dima@domain.ru dima@mail.domain.ru dima@domain2.ru должен быть одним и ткм же пользователем и почта для него должна складываться в один ящик.) - Почтовый сервер должен иметь дублирующий сервер которй мог бы принимать на себя почту этих 3-х доменов в случае выхода из строя основного сервера и затем пересылать почту на основной сервер когда восстановится основной сервер. - Доступ к серверу должен осуществляться только с определенных адресов (локальная сеть офиса) как для отправки так и для приема почты. - Пользователи старого почтового сервера (sendmail on FreeBSD 4.6) должны быть перенесены на новый сервер без изменения пароля. В качестве сервера выбрана следующая конфигурация. CPU: 2xPIII 1133 Mhz 512k кэш RAM: 2x512 DIMM ECC HDD: Seagate Barracuda IV 7200 rpm 40 Gb MB: Intel Server Board SAI2 ServerWorks ServerSet III LE chipset+LAN 100Mbit(Intel 82559)+Video Для установки скачиваем полседнию версию Sendmail: Sendmail sendmail-8.12.7.tar.gz http://www.sendmail.org ftp://ftp.sendmail.org Разархивирую пакет #cd / #mkdir src #tar xvfz sendmail-8.12.7.tar.gz Компилирую и инсталирую новую версию вместо старой, шедшей в составе дистрибутива. #cd sendmail.8.12.7 #sh Build #sh Build install #cd ./mailstats #sh Build install #cd ../makemap #sh Build install #cd ../praliases #sh Build install #cd .. #install -d -m 755 /var/spool/mqueue #ln -fs /usr/sbin/sendmail /usr/lib/sendmail Приступаю к конфигурированию. /src/sendmail-8.12.7/cf/cf/sendmail.mc divert(-1) divert(0)dnl define(confDEF_USER_ID 26:26)dnl OSTYPE(freebsd4)dnl # Если у вас FreeBSD 5.0 то пишем freebsd5 \ если Linux то пишем linux DOMAIN(generic)dnl define(confTRY_NULL_MX_LIST,true)dnl define(confDONT_PROBE_INTERFACES,true)dnl define(PROCMAIL_MAILER_PATH,/usr/local/bin/procmail)dnl define(LOCAL_MAILER_FLAGS,ShPfn)dnl define(LOCAL_MAILER_ARGS,procmail -a $h -d $u)dnl FEATURE(mailertable)dnl FEATURE(virtusertable,hash -o /etc/mail/virtusertable)dnl FEATURE(redirect)dnl FEATURE(always_add_domain)dnl FEATURE(use_cw_file)dnl FEATURE(local_procmail)dnl FEATURE(access_db)dnl Следующие семь строк следует добавлять если сервер будет испольхзовать публичные антиспамовые базы данных. ********************** FEATURE(blacklist_recipients)dnl FEATURE(dnsbl)dnl FEATURE('dnsbl', 'relays.ordb.org', 'Spam bloked - see http://ordb.org/') FEATURE(dnsbl,'inputs.orbz.org', 'Input Spam bloked - see http://orbz.org/') FEATURE(dnsbl,'bl.spamcop.net', 'Spam blocked - see http://spamcop.net/bl.shtml?$&{client_addr}') FEATURE(dnsbl,'ex.dnsbl.org', 'Spam bloked - see http://www.dnsbl.org/') FEATURE(dnsbl, 'relays.osirusoft.com', 'Spam bloked - see http://relays.osirusoft.com/') ********************** MAILER(local)dnl MAILER(smtp)dnl MAILER(procmail)dnl Генерирование конфигурационного файла sendmail.cf из sendmail.mc с помощью m4 #m4 ../m4/cf.m4 sendmail.mc > /etc/mail/sendmail.cf #cd /usr/ports/mail/procmail #make #makeinstall #cd /etc/mail Составление файла access и создания хэш базы. /etc/mail/access localhost.localdomain RELAY localhost RELAY uni12.ru RELAY uni12.ac.ru RELAY 193.215.78 RELAY informs12.ru RELAY #makemap hash access.db < access Составления файла в котором сождержатся те домены для которых будет приниматься почта сервером. /etc/mail/local-host-names uni12.ru data.uni12.ru system.uni12.ac.ru Создание пустых хэш баз. В моем случае их конфигурирование не нужно было. #ee virtusertable #makemap hash virtusertable.db < virtusertable #ee mailertable #makemap hash mailertable.db < mailertable #ee domaintable #makemap hash domaintable.db < domaintable Редактирование файла rc.conf /etc/rc.conf defaultrouter="193.215.78.xxx" hostname="data.uni12.ru" ifconfig_xl0="inet 193.215.78.xxx netmask 255.255.255.0" kern_securelevel_enable="NO" nfs_reserved_port_only="NO" sendmail_enable="YES" # Включаю sendmail sendmail_flags="-bd -q30m" sshd_enable="YES" usbd_enable="NO" inetd_enable="YES" #Для работы pop3 используется qpopper работающий под inetd firewall_enable="YES" #Включаю поддержку firewall firewall_type="filename" #Для его поддержки нужно перекомпилировать ядро с поддержкой firewall_script="/etc/firewall.conf" # firewall. firewall_quiet="NO" # Настройки firewall хранятся в отдельном файле firewall.conf Файл настроек firewall /etc/firewall.conf /sbin/ipfw add 1 allow tcp from any to 193.233.78.37 80 in # Открываю 80 порт для веб сервера /sbin/ipfw add 2 allow tcp from 193.233.78.33 to 193.233.78.37 22 in # 22 порт для ssh /sbin/ipfw add 3 allow tcp from 193.233.78.33 to 193.233.78.37 110 in # 110 порт для pop3 /sbin/ipfw add 4 allow tcp from any to 193.233.78.37 25 in # 25 порт для приема почты с интернета /sbin/ipfw add 5 allow udp from any to 193.233.78.37 25 in /sbin/ipfw add 6 allow tcp from any to 193.233.78.37 443 in # 443 для вебсервера работающего по https /sbin/ipfw add 7 allow tcp from 193.233.78.33 to 193.233.78.37 20-21 in # открываю ftp /sbin/ipfw add 50 reset tcp from any to 193.233.78.37 1-1024 in # дальше все блокирую /sbin/ipfw add 60 deny udp from any to any 1-1024 in /sbin/ipfw add 70 unreach port tcp from any to 193.233.78.37 1025-65535 in setup /sbin/ipfw add 65000 allow ip from any to any Переношу файла спаролями и пользователями со старого сервера. Обьеденяю их с новым и стираю лишние записи из получившегося файлаю. Затем заменяю им оригинал. #cat master.passwd ./old/master.passwd > master #cp master master.passwd Создаю базу паролей из файла master.passwd #pwd_mkdb master.passwd Устанавливаю qpopper из портов #cd /usr/ports/mail/qpopper #make #make install На этом конфигурирование почтового сервера закончена. Перезагружаю сервер и смотрю что из этого получилось. Все используемые адреса в статье заменены на несуществующие. Статья посвящена моему новому другу. (с) Дрезюля Дмитрий http://freeunix.unicor.ru
|
Обсуждение | [ Линейный режим | Показать все | RSS ] |
|
Добавить комментарий |
Закладки на сайте Проследить за страницей |
Created 1996-2024 by Maxim Chirkov Добавить, Поддержать, Вебмастеру |