360 likes | 782 Views
郵件系統維運 課程 : Sendmail 與 postfix 的設定與比較 北區機房 IP 維運處暨 IDC 維運組 鄭任峰. Contents. Email relative RFC Postfix compare with Sendmail Mail deliverly process Mail relay process DNS MX Resource Record MX Backup Postfix definitive: Postfix Major MDA purpose Postfix Big picture
E N D
郵件系統維運課程: Sendmail與postfix的設定與比較北區機房IP維運處暨IDC維運組 鄭任峰
Contents • Email relative RFC • Postfix compare with Sendmail • Mail deliverly process • Mail relay process • DNS MX Resource Record • MX Backup • Postfix definitive: Postfix Major MDA purpose Postfix Big picture Postfix Queue Manager Postfix Content Filter Postfix Configuration • Sendmail definitive: Sendmail Major MDA purpose Sendmail Big picture Sendmail Configuration • Different between Postfix & Sendmail Command • Different between Postfix & Sendmail Configuration
Email relative RFC • RFC 2181 : Clarifications to the DNS Specification • RFC 2821 : communicate with SMTP protocol for exchange mails • RFC 1939 : retrieve mails with POP3 protocol • RFC 2060 : retrieve mails with IMAP protocol
MUA/MTA/MDA • MUA (Mail User Agent) Outlook , Thunderbird , Eudora , pine … • MTA (Mail Transfer Agent) Postfix , Qmail , Sendmail , MS Exchange … • MDA (Mail Delivery Agent) local , smtp , sendmail , virtual , lmtp …
Postfix compare with Sendmail • Reliability: prevent resource exhaust • Queue Management : flush/hold /re-queue • Modules: dozen of MDAs • Configuration Setting: separate parameter • Concurrency Control: outgoing/incoming flow • Transport: designate MDA • Privilege: chroot • Blocking: Client restriction/Syntex/ Content check/User defined
Mail deliverly process Sender mico@aptg.net Mail Storage MUA MDA Mail System SMTP Recipient quasar@aptg.net MTA SMTP MTA POP/IMAP MUA DNS Domain : aptg.net POP3 / IMAP Yellow MDA Green MUA Red Storage pink Server Mail from: mico@aptg.net Mail to: quasar@aptg.net
Mail relay process Sender tony@aptg.net MUA MDA MTA Mail System Recipient quasar@pchome.com.tw SMTP DNS MTA MUA Domain : aptg.net Mail from: tony@aptg.net Mail to: quasar@pchome.com.tw Yellow MDA Green MUA Pink Server
DNS MX Resource Record pchome.com.tw MX preference=10 mail exchanger=mx.pchome.com.tw mx.pchome.com.tw Address: 211.20.188.150 DNS Query & Response ( Step 2,3,4,5) From: tony@aptg.net To: quasar@pchome.com.tw Step 1: MUA deliver mail(s) to aptg.net for relay Step 2: aptg.net request ‘pchome.com.tw’ for DNS MX RR by Resolver Step 3: PCHOME DNS server respond MX RR : mx.pchome.com.tw Step 4: Resolver request for A RR of ‘MX RR’ Step 5: PCHOME DNS server respond A RR: 211.20.188.150 Step 6: Resolver provide pchome mail server IP to aptg.net Step 7: aptg.net deliver mail(s) to 211.20.188.150 Port 25 with SMTP protocol Resolver SMTP (step 7) Client Outlook aptg.net mx.pchome.com.tw (211.20.188.150) SMTP (step 1,6)
MX Backup Internet MX RR SMTP Mail1.a.b.c Deliver process DNS Server SMTP SMTP Queue Mail2.a.b.c SMTP mail.a.b.c MX preference = 10, mail exchanger = mail1.a.b.c mail.a.b.c MX preference = 20, mail exchanger = mail2.a.b.c Yellow MDA Pink Server
Postfix definitive • Postfix Major MDA purpose • Postfix Big picture • Postfix Queue Manager • Postfix Content Filter • Postfix Configuration
Postfix Major MDA purpose • master: initiate/restart MDA , concurrency limitation • qmgr: decide transport, move/flush/delete/hold queue • cleanup: assign QueueID, push to qmgr (incoming) • smtpd: listenning incoming request • pickup: get queue from maildrop • rewrite: rewrite header • smtp: handle outgoing request • local: put mail into disk (local user maildir/mailbox format) • lmtp: put mail into disk (local/virtual user other format) • virtual: put mail into disk (virtual user maildir/mailbox format) • pipe: pipe to program • bounce: handle return mail
Postfix Big Picture (2/7)From outside and relay to outside domain qmgr SMTP Server / MUA send mail(s) to outside domain incoming active smtp smtpd cleanup DNS Server Yellow MDA Blue Queue Pool Gray Queue Manager Pink Server Trivial- rewrite
Postfix Big Picture (3/7)From outside and deliver to local domain Mail Storage SMTP Server / MUA deliver mail(s) to inside domain qmgr incoming active local/lmtp/ virtual Aliases/forward table smtpd cleanup apol-idc@aptg.com.tw quasar@aptg.com.tw tony@aptg.com.tw luc@aptg.com.tw Yellow MDA Blue Queue Pool Gray Queue Manager Pink Storage Trivial- rewrite
Postfix Big Picture (4/7)From local host and relay to outside domain From local host postdrop qmgr maildrop incoming active smtp Pickup cleanup DNS Server Yellow MDA Blue Queue Pool Gray Queue Manager Pink Server Trivial- rewrite
Postfix Big Picture (5/7)From local host and deliver to local domain From local host Mail Storage postdrop qmgr maildrop incoming active local/lmtp/ virtual Aliases/forward table Pickup cleanup apol-idc@aptg.com.tw quasar@aptg.com.tw tony@aptg.com.tw luc@aptg.com.tw Yellow MDA Blue Queue Pool Gray Queue Manager Red Storage Trivial- rewrite
Postfix Big Picture (6/7)MDA & qmgr OUTPUT MDA INPUT MDA qmgr maildrop active smtp postdrop hold local deferred smtpd virtual incoming pipe pickup cleanup lmtp Internal MDA trivial- rewrite Yellow MDA Blue Queue Pool Gray Queue Manager
Postfix Big Picture (7/7)Adding Content-Filter qmgr Port:25 smtpd cleanup incoming active deferred cleanup chkmsg smtp smtpd Yellow MDA Blue Queue Pool Gray Queue Manager Deep Blue Amavis Port:10025 Port:10024 Amavis
Sendmail definitive • Sendmail Major MDA purpose • Sendmail Big picture • Sendmail Configuration
Sendmail Major MDA purpose • smtp: handle outgoing request • local: put mail into disk (local user mailbox format) pipe to program • uucp: unix to unix copy • X.400: other address format
Different between Postfix & Sendmail Command • start/stop/reload Daemon postfix start/stop/reload sendmail –bd –q1h/killall –TERM sendmail/killall –HUP sendmail • flush/delete/requeue queue postfix flush/postsuper –d ALL/postsuper –r sendmail –q/ rm queue / none • major configuration file master.cf / main.cf sendmail.cf / sendmail.mc / local-host-names Postfix Sendmail Postfix Sendmail Postfix Sendmail
Different betweenPostfix & Sendmail Configuration (1/3) • major configuration file master.cf / main.cf sendmail.cf / sendmail.mc / local-host-names • Local domain mydestination = aptg.net (main.cf) Cwaptg.net (sendmail.cf或local-host-names) • Relay domain relay_host = apol.com.tw (main.cf) apol.com.tw (relay-domains) Postfix Sendmail Postfix Sendmail Postfix Sendmail
Different betweenPostfix & Sendmail Configuration (2/3) • Smart relay transport_maps = hash:/etc/postfix/transport (main.cf) apol.com.tw smtp:[mx.apol.com.tw]:25 (/etc/postfix/transport) DSsmtp.aptg.net (sendmail.cf) • Queue Bounce maximal_queue_lifetime = 1d (main.cf) O Timeout.queuereturn=1d (sendmail.cf) • Queue retry queue_run_delay = 4h (main.cf) O Timeout.queuewarn=4h (sendmail.cf) Postfix Sendmail Postfix Sendmail Postfix Sendmail
Different betweenPostfix & Sendmail Configuration (3/3) • Process Control (master.cf) service type private unpriv chroot wakeup maxproc command + args smtp inet n - n - 300 smtpd O MaxDaemonChildren=300 (sendmail.cf) • Max Message Size message_size_limit = 10240000 (main.cf) O MaxMessageSize= 10240000 (sendmail.cf) • Recipients limitation smtpd_recipient_limit = 100 (main.cf) O MaxRecipientsPerMessage=100 (sendmail.cf) Postfix Sendmail Postfix Sendmail Postfix Sendmail
Reference • Postfix Official site http://www.postfix.org • Sendmail Official site http://www.sendmail.org • V-Bird Postfix Building http://linux.vbird.org/linux_server/0390postfix.php • V-Bird Sendmail Building http://linux.vbird.org/linux_server/0380sendmail.php • Sendmail Instruction http://fanqiang.chinaunix.net/a6/b3/index_b.html • Postfix Instruction http://linux.tnc.edu.tw/techdoc/postfix-howto.htm