PPoossttffiixx 塼ƥĥե륿

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

ٹ

ΥɥȤ˽񤫤Ƥ륭塼ƥĥե륿󥰵ǽϡ
ή̤ʤȤˤΤŬƤޤܺ٤ϰʲ "åȤȥǥå" 
򻲾ȤƤ

PPoossttffiixx 塼ƥĥե륿εǽǽ

С 2.1 ǤϡPostfix SMTP ФäƤ᡼ƤPostfix
᡼륭塼ˡƤΥ᡼򸡺륳ƥĥե륿
ץФžǤ褦ˤʤޤ

塼ƥĥե륿ϰʲΤ褦˻ȤȤտޤƤޤ:

    󥿡    Postfix    塼    Postfix    Postfix    Postfix     smtp
     ͥå  ->  SMTP   ->  ->  SMTP   -> cleanup -> 塼  -<  local
                    ե륿                        virtual

塼ƥĥե륿 FILTER_README ɥȤ˵ҤƤ
ץȺƱʤǤ Postfix ᡼륭塼줿
ָˡץ᡼ե륿󥰤ΤǤ

ΥɥȤˤϰʲˤĤƽ񤤤Ƥޤ:

  * ư
  * 塼ƥĥե륿󥰤ΥåȤȥǥå
  * Postfix SMTP ѥ롼ץǽ
  * ѥ᡼
  * Postfix 塼ƥĥե륿äˡ
  * Ʃ

ưư

ե륿 Postfix SMTP Ф󥿡ͥåȤ᡼̾
졼 SASL ǧڡRBL ¸ߤʤԤԥɥ쥹
ݤʤɤŬѤޤ塼ƥĥե륿ϥե륿󥰤
ʤ᡼륳ƥĤ Postfix ꡢʲΤ줫1Ĥ򤪤ʤޤ:

 1. SMTP ̤ Postfix ˥᡼ޤƤ
    ѤƤ뤫⤷ޤ

 2. Postfix Ŭڤ SMTP ơɤ֤Ȥǥ᡼ݤޤ
    Postfix ϥ⡼Ȥ SMTP 饤ȤˤΥơ֤ޤ
     Postfix ϥХ󥹥åɬפϤޤ

ե륿 Postfix SMTP Фϥƥĥե륿᡼ޤ
ʹ Postfix ̤̾᡼ޤ

˽񤫤줿塼ƥĥե륿 FILTER_README ɥȤ
񤫤줿塼女ƥĥե륿Τ褦Ưޤ¿ξϰʲ
"åȤȥǥå" ǽ񤫤줿¤βǡƱեȥ
Ȥޤ

塼ƥĥե륿ΥåȤȥǥå

  * å: Postfix äƤ SMTP ᡼žλ˥᡼
    ݤ뤳ȤǤ뤿ᡢPostfix ϵݤ᡼ (ϤƤ
    ¤Ƥޤ) ֤ɬפޤ󡣼ʤä᡼
    Ǥϥ⡼ SMTP 饤Ȥ˻Ĥޤ

  * ǥå: ⡼ SMTP 饤Ȥϴ SMTP 뤳Ȥ
    ԤƤޤƥ٤夬ˤĤ졢Τ˻Ȥ
    CPU λĤ꤬󾯤ʤʤäƤ̤Ȥƥ᡼μդ
    ߤ뤫᡼Υե륿󥰤ߤɬפФƤޤ塼
    ƥĥե륿ή̤ξʤȤǤΤ߻ȤȤΤϡä
    ͳΤǤ

  * ǥå: ƥĥե륿󥰥եȥ¿̤Υ꥽
    ȤäƤޤȤޤȤ̤ʤ褦ˤ뤿ˤϡ
    ե륿 SMTP Хץ򸺤餷ơ᡼νǥƥ
    ե륿ץưƥƥ󤷤ʤ褦ˤޤ
    ȡSMTP 饤ȤϥӥޤĹԤʤ
    ʤȤȤǤ

PPoossttffiixx SSMMTTPP ѥ롼ץǽǽ

ʲǤϡե륿 Postfix SMTP Фϥ᡼ localhost ݡ 10025 
Ԥĥƥĥե륿Ϥޤե륿 Postfix SMTP Ф localhost
ݡ 10026 ̤ƥƥĥե륿᡼ޤʹ
Postfix ̤̾᡼ޤ

ƥĥե륿ȤˤϤǤϿޤSMTP Ȥʤɤʥե륿
ȤäƤ⹽ޤSMTP Ȥʤƥĥե륿եȥѤˤϡ
Bennett Todd  SMTP ץФ餷 PERL/SMTP ƥĥե륿
ե졼Ƥޤ http://bent.latency.net/smtpprox/ 򻲾Ȥ


                                               Postfix
    󥿡      Postfix     ե륿 on    SMTP     Postfix    Postfix
     ͥå  -> SMTP  -> localhost  ->     on      -> cleanup -> incoming
                on port 25     port 10025     localhost           塼
                                             port 10026

 master.cf եԽ뤳Ȥꤷޤ:

    /etc/postfix/master.cf:
        # =============================================================
        # service type  private unpriv  chroot  wakeup  maxproc command
        #               (yes)   (yes)   (yes)   (never) (100)
        # =============================================================
        #
	# ե륿 SMTP Сͥåȥ᡼ꡢ
	# localhost ݡ 10025 Υƥĥե륿Ϥޤ
        #
        smtp      inet  n       -       n       -       20      smtpd
            -o smtpd_proxy_filter=127.0.0.1:10025
            -o smtpd_client_connection_count_limit=10
        #
	# ե륿 SMTP Сƥĥե륿᡼
	# localhost ݡ 10026 Ǽޤ
        #
        127.0.0.1:10026 inet n  -       n       -        -      smtpd
            -o smtpd_authorized_xforward_hosts=127.0.0.0/8
            -o smtpd_client_restrictions=
            -o smtpd_helo_restrictions=
            -o smtpd_sender_restrictions=
            -o smtpd_recipient_restrictions=permit_mynetworks,reject
            -o smtpd_data_restrictions=
            -o mynetworks=127.0.0.0/8
            -o receive_override_options=no_unknown_recipient_checks

: "="  "," ˶֤ƤϤޤ

ե륿 SMTP Хȥϡ̾ master.cf եκǽꤵ
ǥեȤ Postfix SMTP ХȥСǤ:

  * SMTP åοǥեȤ 100 餿ä 20 ˸餵Ƥޤ
    ϥ᡼νǥƥĥե륿Υץ¿ʤꤹƤޤäơ
    ưƤ륷ƥब󤷤ƤޤȤɤޤ

  * "-o smtpd_client_connection_count_limit=10" 1Ĥ SMTP 饤Ȥ
    20  SMTP ХץƤȤäƤޤʤ褦ˤޤ¤
    ꤹ졼ۥȤ餷᡼ʤΤǤפǤ

    : ϰ Postfix 2.1 ꡼Ǥ̵뤵ޤεǽ
    Postfix 2.2 ޤǤ experimental ǤΤߤǻȤޤ

  * "-o smtpd_proxy_filter=127.0.0.1:10025" ϥե륿 SMTP Фˡ
    localhost ݡ 10025 ԤäƤ륳ƥĥե륿äƤ᡼
    Ϥ褦ޤ

ե륿 SMTP ФϿ master.cf ȥǤ:

  * "127.0.0.1:10026" ϥե륿 SMTP Фͥåȥ˻ʤ褦ˡ
    localhost ɥ쥹ΤߤԤޤФˡץե륿 SMTP Ф
    󥿡ͥåȤ˻ʤǤ :-)

  * "-o smtpd_authorized_xforward_hosts=127.0.0.0/8" ˤäƥե륿
    SMTP Фե륿 SMTP Ф⡼ SMTP 饤Ȥξ
    褦ˤʤꡢե륿 Postfix ǡ localstho[127.0.0.1]
    ǤϤʤ⡼ SMTP 饤Ȥξ˵ϿǤ褦ˤʤޤ

  * ե륿 SMTP ФλĤϡ"ե륿" SMTP ФǤǤ
    ʤäȤȽʣʤ褦ˤ뤿ΤΤǤ

ǥեȤǤϡե륿Ż򤹤ΤͿ줿֤100äǤʾ
ȡPostfix ƥ⡼ SMTP 饤Ȥ˥顼𤷤ޤ
λ¤Ĺ뤳ȤǤޤ (ʲΥѥ᡼
)ȥ⡼ȥ饤ȤॢȤȤǤʤ
ʤΤ̵̣Ǥ

ѥ᡼

ץ椹ѥ᡼:

  * smtpd_proxy_filter (ʸˡ: host:port): 塼ƥĥե륿
    ۥȤ TCP ݡȡ host ޤ host: ꤵʤȡ
    localhost ꤵޤ

  * smtpd_proxy_timeout (ǥե: 100s): 塼ƥĥե륿ؤ
    ³ȥޥɤǡΥॢȡץ顼Ϥ٤
    maillog ե˥ȤƵϿޤץ饤Хͳ顢
    ⡼Ȥ SMTP 饤Ȥ "451 Error: queue file write error" 
    ޤξܺ٤¾ͤ˸ΤȤǤϤʤǤ礦

  * smtpd_proxy_ehlo (ǥե: $myhostname): 塼ƥĥե륿
    EHLO ޥɤȤ˻Ȥۥ̾

PPoossttffiixx 塼ƥĥե륿äˡˡ

ե륿 Postfix SMTP Фϥƥĥե륿³å1
³ڤޤƥĥե륿˥᡼äƤ֡Postfix 
ESMTP äޤޥɥѥץ饤˥󥰤ϻȤޤPostfix ȼ
EHLOXFORWARD (localhost [127.0.0.1] ˥⡼ȥ饤 IP
ɥ쥹˵Ͽ뤿)DATA  QUIT ޥɤե륿
Postfix SMTP Фݤʤä MAIL FROM  RCPT TO ޥɤ٤Ƥ
ԡѤžޤSMTP ץФ Postfix SMTP Ф
Ʊ MAIL FROM  RCPT TO ޥɤʸˡդʤФޤ
Postfix Ϥ¾ SMTP ޥɤޤ

ե륿 Postfix SMTP Ф顢̾ɸǤϤʤݡȤԤäƤ
ե륿 Postfix SMTP Фؤϡƥĥե륿 SMTP ޥɤ
ѤʤϤȤԤƤޤե륿ƥĤݤ硢
ե륿Ū SMTP ե륿 Postfix SMTP Ф֤ե륿
Postfix SMTP ФȤ SMTP βäλ³Ǥ٤Ǥ

Postfix ץؤߺѤξܺ٤ϡ"Ʃ" ȤȥΥ
ޤ

ƩƩ

ե륿 Postfix SMTP ФϾǧ줿 MAIL FROMRCPT TO  DATA
ޥɤžޤTLS  SASL ޥɤΤ褦¾Υޥɤžޤ
ʤΤƩŪǤϤʤ⤷ޤ

ꥢ륿ॳƥĥե륿ƩŪǤʤФޤƩŪ
ꥢ륿ॳƥĥե륿򥵥ݡȤ뤿ˤϡPostfix ϥե륿
Postfix ESMTP ǽ Postfix ꥢ륿ॳƥĥե륿
ǽȤ߹碌ʤФʤǤ礦

  *  Postfix ΥС DSN 򥵥ݡȤƤ⡢ƥĥե륿
    EHLO  DSN ݡȤΤʤСե륿 SMTP Ф
    1) EHLO Τ DSN ǽ򱣤2) DSN ΤäƤ᡼뤬 DSN 
    ȤɬפʻŻ򤹤٤ʣ뤫Τɤ餫ɬפǤ

  * ƥĥե륿 EHLO  8BITMIME ݡȤΤʤᡢ
    ե륿 SMTP Ф 1) EHLO Τ 8BITMIME ǽ򱣤2) ƥ
    ե륿Ϥ˥ƥĤ quoted-printable Ѵ뤫Τɤ餫
    ɬפǤ

  * ѥեޥ: ꥢ륿ॳƥĥե륿ȸߴʤ
    Postfix ե륿 EHLO ǤʤФʤʤ硢
    Postfix ϥ饤Ȥͭ EHLO ޥɤä餹˥ƥ
    ե륿³ʤФޤ󡣤 MAIL FROM  RCPT TO ޥɤ
    ٤Ƶݤ줿Ȥ̤Υ꥽̵̤ˤޤ

ΤᡢPostfix SMTP Фϥ塼ƥĥե륿˴ؤƩ᤹
ȤϤǤޤ

