PPoossttffiixx ǥХå HHoowwttoo

-------------------------------------------------------------------------------

ʸʸŪŪ

ΥɥȤˤʪפä褦ˤʤȤˡPostfix ᡼륷ƥ
ʤǥХåˡ񤫤Ƥޤˡ Postfix ̤ξܺ٤
񤫤뤳Ȥ顢ȥ졼ǥХåδǥǡץ
ưȤޤ͡Ǥ

ʸǤϡPostfix main.cf  master.cf ե /etc/postfix 
ȲꤷޤޥǤΤΥǥ쥯ȥμºݤξ򸫤Ĥˤϡ
"ppoossttccoonnff ccoonnffiigg__ddiirreeccttoorryy" ޥɤȤޤ

ǥХåΥƥ˥å󤹤ȼ̤Ǥ:

  * ȥ֥餫õ
  *  Postfix ǥХå
  * master.cf  chroot ̵ˤƤߤ
  *  SMTP ³ФƾĹʥ
  * ͥåȥ˥ե SMTP åϿ
  * Postfix ǡץˤ
  * Postfix ǡץޥ˥奢ǥȥ졼
  * Postfix ǡץưŪ˥ȥ졼
  * 󥿥饯ƥ xxgdb ǥХåǥǡץ餻
  * 󥤥󥿥饯ƥ֥ǥХåβǥǡץ餻
  * ʿ
  * postfix-users@postfix.org 𤹤

ȥ֥餫õõ

Postfix ƤμԤե˵Ͽޤե̾
/var/log/maillog ޤ /var/log/mail ȸƤФޤ; Τʥѥ̾
/etc/syslog.conf եޤ

Postfix ᡼ʤäʤä硢ǽλŻ
Postfix Ưʤ褦ˤ顼õȤǤ:

    % eeggrreepp ''((wwaarrnniinngg||eerrrroorr||ffaattaall||ppaanniicc))::'' //ssoommee//lloogg//ffiillee || mmoorree

: ǤפʥåϽϤΡֺǽפζ᤯Ǥ˽ФƤ륨顼
åϤޤΩޤ

줾ʲ˼ޤ:

  * "ppaanniicc" ϥץޤΤߤǤ륽եȥȤ򼨤Ƥޤ
    Postfix Ϥ줬ޤǽǤޤ

  * "ffaattaall" ϥե뤬ʤäʥѡߥ󡢴ְäե
    ʤɤΡʤǤη̤ǤPostfix Ϥ줬
    ޤǽǤޤ

  * "eerrrroorr" ̿Ūޤ̿Ū顼֤ǤPostfix Ϥ줬
    ޤǽǤޤ

  * "wwaarrnniinngg" ̿Ū顼򼨤Ƥޤʤ뤳Ȥ
    Ǥʤ⤷ʤ(ͥåȥΤɤˤ줿 DNS Фʤɤ)
    ꤬ޤˤʤꥨ顼⼨⤷ޤ

 Postfix ǥХå

Postfix С 2.1 ʹߤǤϡPostfix ˥ǥХåѥ᡼ݡȤ
뤳ȤǤޤΥݡȤϥɥ쥹񤭴䥨ꥢŸ
ž/ԥɥ쥹򼨤ǤϤʤ᡼ܥåؤ
 Postfix ޥɤؤ⡼ SMTP Фαʤɤ⼨ޤ

Postfix ϥǥХåѤ2Υ᡼ݡȤ뤳ȤǤޤ:

  What-if: 뤫𤷤ޤºݤ˥᡼ޤ󡣤ư
  ⡼ɤϼΤ褦ˤ׵ᤷޤ:

    % //uussrr//ssbbiinn//sseennddmmaaiill --bbvv aaddddrreessss......
    ᡼֥ݡȤ <your login name> ˥᡼ޤ

  * What happened: ᡼ơ⡼ SMTP Фαޤ
    伺Ԥ𤷤ޤư⡼ɤϼΤ褦ˤ׵ᤷޤ:

    % //uussrr//ssbbiinn//sseennddmmaaiill --vv aaddddrreessss......
    ᡼֥ݡȤ <your login name> ˥᡼ޤ

ΥݡȤˤ Postfix Ȥ󤬴ޤޤޤ
ϥǡץȤư桼Ȥľܿʤᡢ
̤ϥƥȥåԤ˥᡼ȤޤΥݡȤ
񼰤̾ΤȻ¾Ʊ񼰤Ǥ

᡼֥ݡȤξܺ٤ϡADDRESS_REWRITING_README ɥȤ
ǸˤǥХå򻲾ȤƤ

mmaasstteerr..ccff  cchhrroooott ̵̵ˤƤߤ

褯ְ㤤ϡchroot ĶۤΤɬפƤΥƥåפƧޤ
master.cf ե chroot ưͭˤƤޤȤǤȡ
ޤޤʥե뤬Ĥʤ Postfix ǡץ
ԤƤޤޤ

ʲ chroot ̵ꤷ SMTP Ф򼨤Ƥޤ:

    /etc/postfix/master.cf:
        # =============================================================
        # service type  private unpriv  cchhrroooott  wakeup  maxproc command
        #               (yes)   (yes)   ((yyeess))   (never) (100)
        # =============================================================
        smtp      inet  n       -       nn       -       -       smtpd

master.cf Ĵ٤ơchroot ư̵ˤʤäƤʤץõޤ
ͭˤʤäƤΤä顢master.cf եΥԡ¸
ȥޤ"ppoossttffiixx rreellooaadd" ޥɤ¹Ԥ꤬ʤʤä
뤳Ȥǧޤ

chroot ư̵ˤ뤳Ȥ꤬ʤʤä餪ǤȤۤȤɤ
ȤǤϤˡ Postfix ư³ΤŬƤޤchroot 
ưΤʤ顢 Postfix Ǥ chroot ưνˡ˴ؤ Postfix
BASIC_CONFIGURATION_README եǻȤƤ

 SSMMTTPP ³³ФƾĹĹʥ

/etc/postfix/main.cf ǡdebug_peer_list ѥ᡼˥⡼ȤΥ̾ޤ
ɥ쥹ꥹȥåפޤ㤨С롼ץХå󥿡ե顢⤷
롼ץХå󥿡եؤ³Ф̤ξ򥽥եȥ syslog
ǡǥϿ褦ˤ뤿ˤϡΤ褦ˤޤ:

    /etc/postfix/main.cf:
        debug_peer_list = 127.0.0.1

İʾΥۥȤɥᥤ󡢥ɥ쥹net/masks Ǥޤѹ򤹤
ͭˤ뤿ˤϡ"ppoossttffiixx rreellooaadd" ޥɤ¹Ԥޤ

ͥåȥ˥ե SSMMTTPP åϿϿ

Ǥ ttccppdduummpp ȤޤäϿ뤿ˡ
"-s" ץǽʬ礭ʥХåեꤹɬפޤʤȡ
ѥåȥڥɤΰ⤷Ƥ򼺤Ȥˤʤޤ

    # ttccppdduummpp --ww //ffiillee//nnaammee --ss 22000000 hhoosstt eexxaammppllee..ccoomm aanndd ppoorrtt 2255

򤷤Ф餯ưä Ctrl-C ǻߤޤǡ򸫤ˤϥХʥ
ӥ塼eetthheerreeaall Ȥftp://ftp.porcupine.org/pub/debugging/ 
ttccppdduummppxx桼ƥƥȤޤ

PPoossttffiixx ǡץˤ

/etc/postfix/master.cf 򤷤ǡ˰İʾ "--vv" ץ
Ĥ "ppoossttffiixx rreellooaadd" ȥפޤ
̤γư syslog ǡǥ˵Ͽޤ:

    /etc/postfix/master.cf:
        smtp      inet  n       -       n       -       -       smtpd -v

 Postfix SMTP Фˤޤɥ쥹񤭴Ǥ
ˤϡ"--vv" ץ cleanup(8)  trivial-rewrite(8) ǡˡ
᡼Ǥˤϡ"--vv" ץ qmgr(8) ޤ oqmgr(8) 塼
ޥ͡㡢⤷ lmtp(8)local(8)pipe(8)smtp(8)virtual(8) 
Ȥ˻ꤷޤ


PPoossttffiixx ǡץޥ˥奢ǥȥ졼

¿ΥƥǤϡƥॳȥ졼ȤäưƤץ
Ĵ٤뤳ȤǤޤ㤨:

    # ttrraaccee --pp pprroocceessss--iidd (SunOS 4)
    # ssttrraaccee --pp pprroocceessss--iidd (Linux 䤽¾¿)
    # ttrruussss --pp pprroocceessss--iidd (Solaris, FreeBSD)
    # kkttrraaccee --pp pprroocceessss--iidd (generic 4.4BSD)

껲ͤˤʤΤϥƥ饤֥ꥳΥȥ졼Ǥ:

    # llttrraaccee --pp pprroocceessss--iidd (Linux, FreeBSD  BSD/OS ˤݡƥ󥰤Ƥޤ)
    # ssoottrruussss --pp pprroocceessss--iidd (Solaris)

ܺ٤ϥƥΥɥȤ򻲾ȤƤ

ưƤץΥȥ졼ϥץ褦ȤƤ뤳Ȥ˴ؤȼ
ͿޤΥ˵ҤƤ褦ˡϥ󥿥饯ƥ
ǥХåץưΤƱ餤̤ξǤ

PPoossttffiixx ǡץưưŪŪ˥ȥ졼

Postfix ϥǡץεưˤĤǤ⥳ȥ졼դ뤳Ȥ
Ǥޤȥ졼ˤϤĤμबޤ

 1. ttrraaccee  ttrruussssssttrraacceekkttrraaccee Τ褦ʥȥ졼ϥץ
    ͥδ֤̿ɽޤ

 2. ssoottrruussss  llttrraaccee Τ褦ʥ饤֥ꥳȥ졼ϥ饤֥
    롼ΥɽץǵȤƤ뤳Ȥ
    狼䤹ޤ

--DD ץ /etc/postfix/master.cf ε路ޥɤ˲äޤ
㤨:

    /etc/postfix/master.cf:
        smtp      inet  n       -       n       -       -       smtpd -D

򤷤ȥ졼ƤӽФ /etc/postfix/main.cf  debugger_command
Խޤ㤨:

    /etc/postfix/main.cf:
        debugger_command =
             PATH=/bin:/usr/bin:/usr/local/bin;
             (truss -p $process_id 2>&1 | logger -p mail.info) & sleep 5

"ppoossttffiixx rreellooaadd" ȥפơեƻ뤷ޤ

饯ƥ xxxxggddbb ǥХåǥǡץ餻

Postfix ޥ X Windows 󥹥ȡ뤵Ƥʤ顢xxxxggddbb Τ褦
󥿥饯ƥ֥ǥХåǤ

xxxxggddbb ƤӽФ /etc/postfix/main.cf  debugger_command 
Խޤ:

    /etc/postfix/main.cf:
        debugger_command =
             PATH=/bin:/usr/bin:/usr/local/bin:/usr/X11R6/bin
             xxgdb $daemon_directory/$process_name $process_id & sleep 5

ggddbb ޥɥѥˤ뤳ȤǧX ȥ뤬
Ư褦 XXAAUUTTHHOORRIITTYY 򥨥ݡȤƤ㤨:

    % sseetteennvv XXAAUUTTHHOORRIITTYY ~~//..XXaauutthhoorriittyy (csh ʸˡ)
    $ eexxppoorrtt XXAAUUTTHHOORRIITTYY==$$HHOOMMEE//..XXaauutthhoorriittyy (sh ʸˡ)

--DD ץ /etc/postfix/master.cf ε路ǡ˲äޤ
㤨:

    /etc/postfix/master.cf:
        smtp      inet  n       -       n       -       -       smtpd -D

Postfix ƥߤơ줫鵯ưƤ Postfix 
XXAAUUTTHHOORRIITTYY  DDIISSPPLLAAYY ưΤɬפǤ

路ǡץư뤿ӤˡǥХåɥݥåץåפ
äƤ뤳Ȥܺ٤˴ƻǤޤ

饯ƥ֥ǥХåβǥǡץ餻

Postfix ޥ X Windows 򥤥󥹥ȡ뤷Ƥʤäꡢ󥿥饯ƥ
ǥХå˴ƤʤΤǤСggddbb ǥХå󥤥󥿥饯ƥ֥⡼ɤ
ưƤߤơץå夷Ȥ˥åȥ졼ɽޤ

ggddbb ǥХåƤӽФˤ /etc/postfix/main.cf  debugger_command 
Խޤ:

    /etc/postfix/main.cf:
        debugger_command =
            PATH=/bin:/usr/bin:/usr/local/bin; export PATH; (echo cont; echo
            where; sleep 8640000) | gdb $daemon_directory/$process_name
            $process_id 2>&1
            >$config_directory/$process_name.$process_id.log & sleep 5

--DD ץ /etc/postfix/master.cf ε路ǡ˲äޤ
㤨:

    /etc/postfix/master.cf:
        smtp      inet  n       -       n       -       -       smtpd -D

ѹͭˤ뤿 "ppoossttffiixx rreellooaadd" 򥿥פƤ

路ǡץư뤿Ӥˡǡ̾ȥץ ID ̾
դ줿ϥե뤬ޤ (㤨 smtpd.12345.log)ץ
å夹ȡåȥ졼 ( "wwhheerree" ޥɤν) 
ե˽񤫤ޤ

Թʿ

Postfix ˤäɽ뿶񤤤ɤ˹ʤ礬ޤ
ʤԤˤäͿ줿ؼץबΤǤ礦
2Ĥβǽޤ

  * ѥ餬Ȥ¿˵ޤ

  * ϡɥȤޥ ECC äƤޤ

ɤξ⡢¹Ԥ줿ץꤵ줿ư򤹤ץǤ
ʤᡢǤⵯޤ

3ܤβǽ⤢ޤ:

  * ƥॽեȥ (ͥ饤֥) ΥХ

ϡɥϢԶϡŸľꥷƥƵưȡ
ƤξƱ褦ˤϺƸޤ󡣰ϡɥˤĤ Postfix 
Ǥ뤳ȤϤۤȤɤޤ󡣺¥ꥨ顼򸡽ФǤϡɥ
Ȥ褦ˤƤǤʤСPostfix ϥӥåȥ顼Τ
ԤäƤǤפʥƥʪΥϡɥǹ٤Ǥ

ѥ餬顼ȡץब¹Ԥ뤿Ӥ꤬Ƹޤ
ѥΥ顼ϥɺŬǺǤ褯ޤŸľ
ƥƵưƤ꤬Ƹ硢Ŭ̵ˤ Postfix 
ƹۤƺŬǰ㤤ǤƤʤǧͤޤ

Ŭ̵ˤ Postfix 򥳥ѥ뤹ˤ:

    % mmaakkee ttiiddyy
    % mmaakkee mmaakkeeffiilleess OOPPTT==

ϥѥ˺Ŭ׵ᤷʤ Makefile ΥåȤޤ

ö makefile åȥåפ줿顢եȥۤޤ:

    % mmaakkee
    % ssuu
    Password:
    # mmaakkee iinnssttaallll

꤬ʤʤС٥˽֤Ǥ

ppoossttffiixx--uusseerrss@@ppoossttffiixx..oorrgg 

postfix-users@postfix.org ˻äƤͤϡäˡ֤ʤ׽ʬʾ
ФФȤƤˤʤޤΥܥƥοͤϴǽ
ޤλ֤ϸ¤Ƥ뤳Ȥ˺ʤǤ

𤹤ݤˤϡʲξޤ褦ˤƤ

  * 󡣡֤ʤ״ְäƤȿƤ뤳Ȥդ
    뤳ȤϤʤǤ

  * ʥ顼åɤ߾夲ΤǤϤʤåȥ
    ڡȤȤźդȤäƤ

  * PostfixݴɤƤõˤϡDEBUG_READMEɥȤ
    ǽʸ򻲾ȤƤ˶§򤫤ƽƤͤ򥤥饤
    ʤǤ

  * Τʤ͡E᡼륢ɥ쥹ѥɤ򻯤ɬפʤᡢ
    ƥE᡼륢ɥ쥹ȤȤͤƤ

  * ƥE᡼륢ɥ쥹ȤʤΤǤСӤƿ̾
    줾ʸ "A" "D" ֤뤳Ȥǡ
    Ƥͤʸ顼ǧǤ褦ˤʤޤ

  * "ppoossttccoonnff --nn" νϡmain.cfե400԰ʾ ppoossttccoonnff νϤ
    ʤǤ

  * ppoossttffiinnggeerr ġνϤФȤˤ褤Ǥ
    http://ftp.wl0.org/SOURCES/postfinger ǸĤޤ

  * ꤬SASL˴ϢƤ硢ssaassllffiinnggeerr ġνϤޤ뤳Ȥ
    ͤƤ http://postfix.state-of-mind.de/patrick.koetter/
    saslfinger/ ǸĤޤ

  * 塼̤Υ᡼뤬ޤäƤ뤳Ȥξ硢QSHAPE_README ե
    ҤƤ qqsshhaappee ġνϤޤ뤳ȤͤƤߤƤ

  * ꤬ץȥϢ (³ॢȤ SMTP Фʸˡ顼
    ʸʤ) ξ硢DEBUG_README ɥȤ˵ҤƤ褦ˡ
    ttccppdduummpp ǥåϿ뤳ȤͤƤߤƤ

