Hlavní navigace

Konfigurujeme záložní poštovní server

Petr Macek 15. 1. 2009

Poštovní server je důležitou součástí každé firmy a jeho výpadek váš může stát hodně nervů a peněz. Ukážeme si, jak nastavit záložní poštovní server pomocí pošťáka Sendmail, rozebereme si pár často používaných maker a na závěr si přidáme několik programů, kterými můžeme sledovat jeho činnost.

Stále budu vycházet z příkladu popisovaného v minulých dílech – máme nainstalované FreeBSD se sendmailem, který řeší poštu pro doménu firma.cz. Poštovní server se jmenuje mail.firma.cz. Budeme řešit záložní poštovní server pro doménu  jinafirma.cz.

Nejdříve je třeba nastavit DNS. Potřebujeme správný MX záznam pro doménu jinafirma.cz, ukazující na náš server mail.firma.cz. Výsledek bude vypadat asi nějak takhle:

jinafirma.cz   10   mail.jinafirma.cz
jinafirma.cz   20   mail.firma.cz

Dále musíme provést směrování pošty v mailertable na stroji mail.firma.cz:

jinafirma.cz        smtp:mail.jinafirma.cz

Vytvoříme si mailertable databázi, buď pomocí make v /etc/mail/  nebo makemap hash /etc/mail/mailertable.db < /etc/mail/mailertable. Pozor, pokud používáte jiný typ databází než hash, o tom jsme mluvili v minulém dílu.

Nakonec musíme v přístupové databázi access povolit poštu pro tuto doménu, přidáme:

jinafirma.cz        RELAY
To:jinafirma.cz     RELAY

Můžeme si vybrat z výše uvedených zápisů. Druhý zápis jsme rozebírali v minulém dílu. Tím máme jistotu, že řešíme poštu, která je směrována pro tuto doménu a ne z ní, to nemusí být vždy žádoucí. Opět vytvoříme databázi, zase pomocí make nebo makemap. A tím je hotovo.

Často používaná makra

Předpřipravený mc soubor nemůže obsahovat vše a nemusí vyhovovat každému. Existuje spousta dalších maker. O sendmailu vyšla spousta knih, a na Sendmail.org je vše potřebné. Zde je vysvětleno několik často používaných maker.

Nastavení logování. Výchozí hodnota je 9. Co která znamená, se dozvíte třeba v Sendmail cookbook.
define(`confLOG_LE­VEL', `9')

Nastavení logování milterů. Miltery ve výchozím stavu logují stejně jako samotný sendmail, ale můžeme jim nastavit i jiný log level.
define(`confMIL­TER_LOG_LEVEL', 14)

Maximální velikost zprávy v bajtech
define( confMAX_MESSAGE_SIZE', 2000000')

Maximální počet příjemců jedné zprávy. Počítají se dle obálky.
define( confMAX_RCPTS_PER_MESSAGE', 10')

Double bounce. Pokud dojde k chybě při posílání e-mailu, bude na to upozorněn e-mailem postmaster. Postmaster je pomocí /etc/mail/aliases směrován do schránky root. Při větším množství nedoručených e-mailů se schránka rychle plní. Pokud nastavíme toto makro prázdné, postmaster nic dostávat nebude.
define(`confDO­UBLE_BOUNCE_AD­DRESS', `')

Chybové hlášení access denied. Můžeme si nastavit hlášku access denied, výchozí je 550 Access denied
define( confREJECT_MSG', 550 Text')

Chybové hlášení Relaying denied.Stejným způsobem jako Access denied
define( confRELAY_MSG', 550 Text')

Timeouty, je jich hodně, namátkou třeba confTO_HELO, confTO_CONNECT, confTO_DATAINIT

Nástroje pro sendmail

V systému máme několik dalších nástrojů, které nám umožní monitorovat sendmail. Sám sendmail s vhodným parametrem také něco poví:

pm@mail ~ $ sendmail -d0 -bt < /dev/null
Version 8.14.2
 Compiled with: DNSMAP LOG MAP_REGEX MATCHGECOS MILTER MIME7TO8 MIME8TO7
                NAMED_BIND NETINET NETINET6 NETUNIX NEWDB NIS PIPELINING SASLv2
                SCANF STARTTLS TCPWRAPPERS USERDB XDEBUG

============ SYSTEM IDENTITY (after readcf) ============
      (short domain name) $w = mail
  (canonical domain name) $j = mail.firma.cz
         (subdomain name) $m = firma.cz
              (node name) $k = mail.firma.cz
========================================================

Můžeme se zeptat na stav front. Privilegovaná fronta pomocí mailq (nebo sendmail -bp), neprivilegovaná pomocí mailq -Ac. U obou je možné použít parametr -v pro více informací. Ve výpisu vidíte i to, kde jsou data jednotlivých front.

root@mail ~ # mailq
/var/spool/mqueue is empty
                Total requests: 0
root@mail ~ # mailq -Ac
                /var/spool/clientmqueue (1 request)
-----Q-ID----- --Size-- -----Q-Time----- ------------Sender/Recipient-----------
n04D50ab046515*   35477 Sun Jan  4 14:05 cacti
                                         cacti
                Total requests: 1

Program mailstats zobrazí počty zpracovaných zpráv, bajty, …:

root@mail ~ # mailstats
Statistics from Mon Dec 29 01:00:04 2008
 M   msgsfr  bytes_from   msgsto    bytes_to  msgsrej msgsdis msgsqur  Mailer
 3     1042     379861K     1049      28408K        0       0       0  local
 5      516     236720K      704     572524K       17       0       0  esmtp
=====================================================================
 T     1558     616581K     1753     600932K       17       0       0
 C     2361                  733                   17

Dalším programem je hoststat (nebo sendmail -bh). Zobrazí nám statistiku pro jednotlivé mailové servery. Vidíme jméno hosta, dobu poslední komunikace a výsledek. Pomocí purgestat (nebo sendmail -bH) můžeme statistiky smazat.

root@mail ~ # hoststat
 -------------- Hostname ---------- How long ago ---------Results---------
 mail.telstra.com.au                    04:05:41 250 Message accepted for
 scooter.eye-net.com.au              81+08:32:42 250 OK id=0zTGai-0008S9-0
 yarrina.connect.com.a               53+10:46:03 250 LAA09163 Message acce
 happy.optus.com.au                  55+03:34:40 250 Mail accepted
 mail.zip.com.au                        04:05:33 250 RAA23904 Message acce
 kwanon.research.canon.com.au        44+04:39:10 250 ok 911542267 qp 21186

Pro zobrazení aliasů je možné použít praliases.

A samozřejmě nesmíme zapomenout na /var/log/maillog, do kterého sendmail skvěle loguje. Málokterý poštovní server má tak přehledný a čitelný log.

Našli jste v článku chybu?

15. 1. 2009 11:01

Pet (neregistrovaný)
Konkr. priklad z praxe:

zakaznik ma ako mailovy server Lotus notes
okrem toho je tam backup linux

Ked niekto z akychkolvek dovodov vypne lotus notes (restart servera, patchovanie, vysavanie vnutornosti) tak sa maily mozu hromadit na linuxe, ktory sa ich casto (napr kazdych 5 minut) pokusa natlacit na lotus.
Takze nie ste odkazany na casove parametre serverov na internete (kedy sa budu znovu snazit poslat maily? o hodinu? o 10 ?) ale uz o par minut po nabehnuti hlavneho postoveho servera mate m…





27. 1. 2009 21:34

Ruda Mydloch (neregistrovaný)
Zjistil jsem, že záložní server , který máme u našeho providera nám za 24 hodin dokáže poslat i 10 000 spamů z celkových 12 000, které nám přijdou. A to aniž bychom měli výpadek. Tvrdí, že s ochranou to na záložním serveru nejde :-() Navrhoval jsem jim blacklist, ale ani to prý ne. Je to opravdu technický problém nebo jen neochota ? Prosím o kvalifikované názory, ne rady typu "vyměnit providera" :-) Díky moc.
DigiZone.cz: ČRo rozšiřuje DAB do Berouna

ČRo rozšiřuje DAB do Berouna

120na80.cz: Pánové, pečujte o svoje přirození a prostatu

Pánové, pečujte o svoje přirození a prostatu

Lupa.cz: Propustili je z Avastu, už po nich sahá ESET

Propustili je z Avastu, už po nich sahá ESET

Podnikatel.cz: Přehledná titulka, průvodci, responzivita

Přehledná titulka, průvodci, responzivita

Podnikatel.cz: K EET. Štamgast už peníze na stole nenechá

K EET. Štamgast už peníze na stole nenechá

Měšec.cz: Kdy vám stát dá na stěhování 50 000 Kč?

Kdy vám stát dá na stěhování 50 000 Kč?

Vitalia.cz: To není kašel! Správná diagnóza zachrání život

To není kašel! Správná diagnóza zachrání život

DigiZone.cz: ČRa DVB-T2 ověřeno: Hisense a Sencor

ČRa DVB-T2 ověřeno: Hisense a Sencor

Lupa.cz: Google měl výpadek, nejel Gmail ani YouTube

Google měl výpadek, nejel Gmail ani YouTube

Vitalia.cz: Jsou čajové sáčky toxické?

Jsou čajové sáčky toxické?

Lupa.cz: Teletext je „internetem hipsterů“

Teletext je „internetem hipsterů“

Vitalia.cz: Chtějí si léčit kvasinky. Lék je jen v Německu

Chtějí si léčit kvasinky. Lék je jen v Německu

Lupa.cz: UX přestává pro firmy být magie

UX přestává pro firmy být magie

Podnikatel.cz: Babiše přesvědčila 89letá podnikatelka?!

Babiše přesvědčila 89letá podnikatelka?!

Vitalia.cz: Paštiky plné masa ho zatím neuživí

Paštiky plné masa ho zatím neuživí

Podnikatel.cz: Prodává přes internet. Kdy platí zdravotko?

Prodává přes internet. Kdy platí zdravotko?

Vitalia.cz: Láska na vozíku: Přitažliví jsme pro tzv. pečovatelky

Láska na vozíku: Přitažliví jsme pro tzv. pečovatelky

DigiZone.cz: ČT má dalšího zástupce v EBU

ČT má dalšího zástupce v EBU

DigiZone.cz: NG natáčí v Praze seriál o Einsteinovi

NG natáčí v Praze seriál o Einsteinovi

Lupa.cz: Co se dá měřit přes Internet věcí

Co se dá měřit přes Internet věcí