Документация по ОС FreeBSD Вторник, 07.05.2024, 02:13
Приветствую Вас Гость | RSS
Меню сайта

Категории каталога
Apache [58]
DNS [25]
FTP [27]
Mail [74]
Samba [24]
Squid [46]
SSH [23]
VPN [35]
РРР [20]
Net [173]

Главная » Статьи » Сеть » Mail

Настройка почтового сервера на базе 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
Категория: Mail | Добавил: oleg (29.10.2007)
Просмотров: 1835 | Рейтинг: 0.0/0 |
Всего комментариев: 0
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]
Форма входа

Beastie

Друзья сайта

Статистика

Онлайн всего: 1
Гостей: 1
Пользователей: 0
links

Copyright MyCorp © 2024