Postfix 

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

Ϥ

Postfix ˤ main.cf ե̤椵롢ɴѥ᡼
ޤʤȤˡƤΥѥ᡼ϼŪʥǥեͤäƤޤ
¿ξ硢᡼륷ƥȤϤ褦ˤ뤿ˡä2Ĥ3Ĥ
ѥ᡼ꤹɬפޤǤʸˡñ˾Ҳ𤷤ޤ:

  * Postfix ե

ʲʸϤϡ(INSTALL ե˽񤫤Ƥ褦) ʬǥɤ
ѥ뤹뤫ѥ뤵줿С򥤥󥹥ȡ뤹뤫Τɤ餫ǡ
ƥ Postfix Ǥ˥󥹥ȡ뤵Ƥ뤳ȤꤷƤޤ

ΥɥȤϴŪ Postfix оݤȤƤޤ᡼
ե롢륢åץ饤ȤΤ褦αѤФ
Postfix ꤹ뤿ξ STANDARD_CONFIGURATION_README ե
ĤǤ礦ʲ˽񤫤ƤΤޤƤʤΤǤС
Υե򸫤˹ԤʤǤ

ǽܤ٤ѥ᡼ϡޥ°ȥͥåȥǤꤷޤ

  * ԤΥ᡼˻Ȥɥᥤ̾

  * ٤᡼Υɥᥤ

  * ᡼ѸȤʤ륯饤

  * ᡼ѤϤ

  * ˡ: ľܤ⤷ϴ

¾¿ѥ᡼ΥǥեͤϤ餫ޤ

ܤ٤ѥ᡼ϡ postmaster ᡼̤
椷ޤ:

  * postmaster 𤹤ȥ֥μ

ץͥåȥɥ쥹Ѵθˤ䡢¾Υɥᥤ
Хåå MX ۥȤưƤϡʲΤꤹ褦
դƤ:

  * ץ/NAT ͥåȥɥ쥹

Postfix ǡץϥХå饦ɤư syslog
ǡǥ˵ϿޤդɬפĤޤ:

  * Postfix 󥰤ˤĤΤɬפ뤳

ޥ󤬰۾ʥƥ׵ᤵƤ硢Postfix ǡץ
chroot Ķư⤷ޤ

  * Postfix ǡץ chroot ư

Postfix Сͥåȥ󥿡եưƤꡢޥ
¾Υ᡼С륤󥿡եưƤ硢¾ˤʲ˵󤲤
ѥ᡼⸫ɬפǤ礦:

  * ʬȤΥۥ̾

  * ʬȤΥɥᥤ̾

  * ʬȤΥͥåȥɥ쥹

PPoossttffiixx ե

ǥեȤǤ Postfix ե /etc/postfix ˤޤǤ
פ2ĤΥե뤬 main.cf  master.cf Ǥ; Υե root 
ͭɬפޤï¾οͤ main.cf ⤷ master.cf (Ӥ
ƥǥ쥯ȥ) ν񤭹߸Ϳ뤳Ȥϡοͤ root øͿ뤳Ȥ
̣ޤ

/etc/postfix/main.cf Ǥϡ¤οѥ᡼ꤹɬפ
Ǥ礦Postfix ѥ᡼ϥѿ˻Ƥޤ2Ĥνפ
㤤ޤ: 1ܤ Postfix  UNIX 뤬򤹤褦ʰ
򤷤ʤȤȤǤ

ѥ᡼ϼΤ褦˻ꤷޤ:

    /etc/postfix/main.cf:
        parameter = value

ơ̾ "$" Ĥ뤳ȤǤȤޤ:

    /etc/postfix/main.cf:
        other_parameter = $parameter

ͤͿ $parameter ȤȤǤޤ (줬 UNIX ѿȤ
2ܤμʰ㤤Ǥ)Postfix ̵ɾˡȤäƤꡢ¹Ի
ɬפȤʤޤǥѥ᡼ͤ򻲾Ȥޤ

Postfix ϥ䥢ɥ쥹񤭴¾Τ˥ǡ١ե
ȤޤDATABASE_README եˤ Postfix  Berkeley DB  LDAPSQL
¾μΥǡ١ȤäưˡξҲ𤬤ޤˤ Postfix 
ǡ١θƤӽФζ̤󤲤ޤ:

    /etc/postfix/main.cf:
        virtual_alias_maps = hash:/etc/postfix/virtual

main.cf  master.cf եä顢ưƤ᡼륷ƥ򹹿
ˡ root ǼΥޥɤ¹ԤƤ:

    # postfix reload

ԤΥ᡼˻Ȥɥᥤ̾̾

myorigin ѥ᡼ˤϥȡ줿᡼뤬ɤΥɥᥤ󤫤褦
뤫ꤷޤǥեȤǤϥޥ̾ʤޥ̾
ǥեȤˤʤäƤ $myhostname Ȥޤ˾ʥȤ򱿱Ĥ
ΤǤʤСޥ̾οƥɥᥤ󤬥ǥեȤˤʤäƤ $myorigin 
ѹʤǤ礦

Ԥȼԥɥ쥹ΰݤĤᡢmyorigin ϽƤʤ
ԥɥ쥹դɥᥤ̾ꤷޤ

 (ʲΤ줫1Ĥꤷޤ):

    /etc/postfix/main.cf:
        myorigin = $myhostname (ǥե: "user@$myhostname" Ȥƥ᡼)
        myorigin = $mydomain   (˾ޤ⤷ʤ: "user@$mydomain")

٤᡼Υɥᥤ

mydestination ѥ᡼ˤϡΥޥ¾Υޥž˥
ɥᥤꤷޤǥեȤǤϥޥ󼫿ȤФ᡼
ޤۥƥ󥰤ƤɥᥤѤ Postfix ꤹˡ
VIRTUAL_README ե򻲾ȤƤ

İʾΥɥᥤ̾"/file/name" ѥ (hash:  btree, nis:, ldap:,
mysql: Τ褦) "type:table" ơ֥򡢶䥫ޤǶڤäƻꤹ
ȤǤޤ"/file/name" ѥϤȤ֤ޤ; "type:table"
ϥơ֥븡򤪤ʤñ¸ߤ뤫ɤƥȤޤ: ̤
̵뤵ޤ

: ޥ󤬥ɥᥤΤФ᡼륵Фξ硢$mydomain ꥹȥå
ʤФޤ

 1: ǥեꡣ

    /etc/postfix/main.cf:
        mydestination = $myhostname localhost.$mydomain localhost

 2: ɥᥤΤΥ᡼륵С

    /etc/postfix/main.cf:
        mydestination = $myhostname localhost.$mydomain localhost $mydomain

 3: ʣ DNS A 쥳ɤĥۥȡ

    /etc/postfix/main.cf:
        mydestination = $myhostname localhost.$mydomain localhost
            www.$mydomain ftp.$mydomain

: ᡼롼פ򤱤뤿ᡢ$myhostname  localhost.$mydomain 
ޤࡢΥޥƤΥۥ̾ꥹȥåפʤФޤ

᡼ѸȤʤ륯饤

ǥեȤǤϡPostfix ǧ줿ͥåȥ֥åΥ饤Ȥ
ɤؤ᡼žޤǧ줿ͥåȥ mynetworks 
ѥ᡼ޤǥեȤǤϡޥ󤬤ĤʤäƤ
IP ֥ͥåȥ°ƤΥ饤ȤĤޤ

: ޥ󤬹ͥåȥ³Ƥ硢ǥեȤ mynetworks
ǤͧŪ뤫⤷ޤ

 (ʲΤ줫1Ĥꤷޤ):

    /etc/postfix/main.cf:
        mynetworks_style = subnet  (ǥե: ֥ͥåȥ)
        mynetworks_style = host    (: ޥΤߤ)
        mynetworks = 127.0.0.0/8   (: ޥΤߤ)
        mynetworks = 127.0.0.0/8 168.100.189.2/32 (ޥ)

ꤹͥåȥ main.cf եǻꤹ뤳Ȥ⡢Postfix ˻ꤵ
ȤǤޤǥեȤǤ Postfix ꤷޤ̤ mynetworks_style
ѥ᡼ͤ˰¸ޤ

  * Postfix ޥ󤫤Τߥ᡼ž٤ǤС
    "mynetworks_style = host" ꤷޤ

  * Postfix ޥƱ IP ֥ͥåȥ° SMTP 饤
    Υ᡼ž٤ǤС"mynetworks_style = subnet" (ǥե)
    ꤷޤLinux Ǥϡ󥿡ե "ifconfig" ޥɤǻꤷ
    ˤΤưޤ

  * Postfix ޥƱ IP 饹 A/B/C ͥåȥ° SMTP
    饤ȤΥ᡼ž٤ǤС"mynetworks_style = class" 
    ꤷޤ륢åץȤǤϤꤷʤǤ - Postfix 
    ץХΥͥåȥΤꤵƤޤޤˡʲ˵Ҥ
    褦˼ mynetworks ΥꥹȤŪ˻ꤷƤ

ˡmynetworks ΥꥹȤǻꤹ뤳ȤǤޤξˤ
Postfix  mynetworks_style ̵뤷ޤꤹͥåȥΥꥹȤ
ǻꤹˤϡͥåȥ֥å CIDR (netrowk/mask) ˡǻꤷޤ
:

    /etc/postfix/main.cf:
        mynetworks = 168.100.189.0/28, 127.0.0.0/8

main.cf ե˥ѥꥹȥåפˡѥե
ѥꤹ뤳ȤǤޤ

᡼ѤϤ

ǥեȤǤϡPostfix Ϥ褽 (ǧ줿ͥåȥγΥ饤)
Υ᡼ǧ줿⡼ȤΤߤžޤĤ줿
⡼Ȥ relay_domains ѥ᡼ޤ
ǥեȤǤ mydestination ѥ᡼˥ꥹȥåפ줿ɥᥤ
ƤΥɥᥤ (ӥ֥ɥᥤ) Ĥޤ

 (ʲΤ줫1Ĥꤷޤ):

    /etc/postfix/main.cf:
        relay_domains = $mydestination (ǥե)
        relay_domains =           (: 褽ԤΥ᡼žޤ)
        relay_domains = $mydomain (ʬΥɥᥤȥ֥ɥᥤ˥᡼žޤ)

ˡˡ:: ľľܤ⤷ϴ

ǥեȤǤϡPostfix ϥ󥿡ͥåȤľܥ᡼褦Ȥޤ
ξˤäƤϡ뤳ȤǤʤä˾ޤƤʤ
ޤ㤨СƥबեʳŸڤƤꡢ
եظˤäꡢ󥿡ͥåȤľܥ᡼뤳Ȥ
ʤץХ̤³Ƥ뤫⤷ޤ󡣤äϡ
Postfix 졼ۥȤ̤ƴŪ˥᡼褦ꤹɬפ
ޤ

 (ʲΤ줫1Ĥꤷޤ):

    /etc/postfix/main.cf:
        relayhost =                   (ǥե: 󥿡ͥåȤؤľ)
        relayhost = $mydomain         (Υ᡼ϥ֤̤Ƥ)
        relayhost = [mail.$mydomain]  (Υ᡼ϥ֤̤Ƥ)
        relayhost = [mail.isp.tld]    (ץХΥ᡼ϥ֤̤Ƥ)

[] ǰϤޤ줿 DNS MX 򤪤ʤޤ󡣤줬̣뤫
狼ʤСˤɬפϤޤ󡣤ISPꤷ᡼ϥ֤
ۥ̾ˤ [] Ĥ褦˵ĤƤʤ
᡼ϴְä뤫⤷ޤ

STANDARD_CONFIGURATION_README եˤϡե뤬֤줿
ͥåȥ륢åץͥåȥФ¿ΥҥȤ tips 
ޤ

ppoossttmmaasstteerr ȥ֥μ

aliases(5) ơ֥ˤϿʹ֤˥᡼ľ postmaster ꥢ
ꤹ٤Ǥpostmaster ɥ쥹ϥ᡼𤹤뤿¸ߤ
Ȥ׵ᤵޤaliases(5) ơ֥򹹿ݤˤϡѡ桼
᡼ʹ֤˸Ƥ뤫ΤƤ

    /etc/aliases:
        postmaster: you
        root: you

aliases եѹ "newaliases" ޥɤ¹Ԥޤ/etc/aliases 
ˡ¾ξ˥ꥢե֤Ƥ뤫⤷ޤ󡣤
Ĥˤ "postconf alias_maps" ޥɤȤޤ

Postfix ƥ postmaster ꥢ𤷤ޤƤμ
ȥ֥ݡȤˤ϶̣ʤ⤷ʤΤǡΥݡƥ
ᥫ˥ǽˤʤäƤޤǥեȤǤϿ (resource,
software) Τߤ postmaster 𤷤ޤ:

ǥե:

    /etc/postfix/main.cf:
        notify_classes = resource, software

饹ΰ̣ʲ˼ޤ:

    bounce
	postmaster Ǥʤ᡼Τޤpostmaster Ǥ
	Ԥ֤줿᡼Υԡ뤫Postfix ᡼ݤݤ
	SMTP åμ̤ޤץ饤Хͳ顢Ǥʤ
	᡼ΥԡϸΥåإåθڤĤޤ
	"2bounce" (ʲ) ̣ޤluser_relay ǽ⻲ȤƤ
	Τ bounce_notice_recipient ѥ᡼ǻꤵ줿ɥ쥹
	ޤ (ǥե: postmaster)
    2bounce
	Postfix Ǥʤ᡼Ԥ֤ȤǤʤ硢
	 (Υإåθǥ᡼ڤĤ᤺) postmaster ޤ
	Τ 2bounce_notice_recipient ѥ᡼ǻꤵ줿ɥ쥹
	ޤ (ǥե: postmaster)
    delay
	ٱ䤷᡼ postmaster Τޤξ硢postmaster 
	åإåΤߤޤΤ delay_notice_recipient
	ѥ᡼ǻꤵ줿ɥ쥹ޤ (ǥե:
	postmaster)
    policy
	(UCE) ݥꥷ¤ǵݤ饤Ȥ׵ postmaster 
	ޤpostmaster  SMTP åμ̤ޤΤ
	error_notice_recipient ѥ᡼ǻꤵ줿ɥ쥹ޤ
	(ǥե: postmaster)
    protocol
	ץȥ륨顼 (饤Ȥޤϥ¦) Ƥʤ
	ޥɤ򥯥饤Ȥ¹Ԥ褦ȤȤ postmaster Τޤ
	postmaster  SMTP åμ̤ޤΤ
	error_notice_recipient ѥ᡼ǻꤵ줿ɥ쥹ޤ
	(ǥե: postmaster)
    resource
	꥽ (㤨 塼ե񤭹ߥ顼) Ǥʤä
	᡼ postmaster ΤޤΤ error_notice_recipient
	ѥ᡼ǻꤵ줿ɥ쥹ޤ (ǥե:
	postmaster)
    software
	եȥǤʤä᡼ postmaster Τޤ
	Τ error_notice_recipient ѥ᡼ǻꤵ줿ɥ쥹
	ޤ (ǥե: postmaster)

ץ//NNAATT ͥåȥɥ쥹

᡼륵Фˤϥͥåȥɥ쥹Ѵ (NAT) ץ̤
󥿡ͥåȤ³ƤΤ⤢ޤϥ󥿡ͥåȾΥƥ
᡼륵ФΥͥåȥɥ쥹ǤϤʤNAT ޤϥץΥɥ쥹
³뤳Ȥ̣ޤNAT ޤϥץ³᡼륵ФΥͥåȥ
ɥ쥹žޤPostfix ϤΤȤΤޤ

Postfix Фץ NAT θưΤǤСproxy_interfaces
ѥ᡼ꤷ Postfix ᡼Ƥγץޤ
NAT ɥ쥹ꤹɬפޤͥåȥɥ쥹
ܥΥۥ̾ꤹ뤳ȤǤޤ

: ƥब¾ΥɥᥤΥХåå MX ۥȤξ硢ץ/NAT
ɥ쥹ɬꤷʤФޤ󡣤ʤȡץ饤ޥ MX ۥȤ
󤷤ƤȤ˥᡼롼פޤ

: NAT ܥåظˤۥȤǥХåå MX ۥȤư

    /etc/postfix/main.cf:
        proxy_interfaces = 1.2.3.4 (ץ/NAT ͥåȥɥ쥹)

PPoossttffiixx ˤĤΤɬɬפ뤳

Postfix ǡץϥХå饦ɤư̾γư syslog
ǡǥ˵Ͽޤsyslogd ץϥ٥Ȥ򥯥饹俼٤
ʬषեɲäޤ󥰥饹٥롢ե̾
̾ /etc/syslog.conf ǻꤵޤɬפʤΤϼΤ褦ʤΤǤ:

    /etc/syslog.conf:
        mail.err                                    /dev/console
        mail.debug                                  /var/log/maillog

syslog.conf եѹ顢"HUP" ʥ syslogd ץä


: ¿ syslogd μϥեޤsyslogd ()ư
եäƤʤФޤ

: Linux Ǥϥѥ̾ "-" ʸ֤Ĥޤ -/var/log/maillog Τ褦
ɬפޤʤȡsyslogd ץ Postfix ʾΥƥ
꥽ȤȤˤʤޤ

οʤȤ˾ޤǤsyslog ե뤬ơ󤵤
ռΤΤ餻ƤΤϤ褤ͤǤ:

    # postfix check
    # egrep '(reject|warning|error|fatal|panic):' /some/log/file

  * ǽι (postfix check)  Postfix ˥եѡߥ/ͭԤ
    㤤𤵤ޤ

  * 2ܤϥ᡼륽եȥõꡢ졼ӥ
    ᡼Υ֥åɤͭ𤷤ޤ̤˽
    뤫⤷ޤ󡣶̣Τʤ뤿˲餫θŬѤ
    ʤ뤫⤷ޤ

DEBUG_README ɥȤˤ Postfix 󥰤ˤ "warning" ʤɤΥ٥
̣񤫤Ƥޤ

PPoossttffiixx ǡץ cchhrroooott ưư

Postfix ǡץ chroot ƹ褦 (master.cf ե)
ꤹ뤳ȤǤޤץϸꤵ줿㤤¤ưե륷ƥ
 Postfix 塼ǥ쥯ȥ (/var/spool/postfix) ¤ޤ
ϹФƽפʾɤˤʤޤξɤ̤ȴʤΤǤ
ޤ (chroot ϥե륷ƥॢΤߤ¤ޤ) ¿
ΩĤǤ礦

᡼ꡢ Postfix ޥɤ¹Ԥǡ㳰
ǤʳƤΥǡ chroot 餻뤳ȤǽǤ

⤤ƥ׵ᤵ륵ȤϥͥåȥäƤ
ǡ chroot 뤳Ȥͤ٤Ǥ: ˤ smtp 
smtpd ץޤ lmtp 饤ȤޤफΤޤ󡣺ԼȤ
porcupine.org ᡼륵Ф chroot ǤƤΥǡ chroot 
餻Ƥޤ

ǥեȤ /etc/postfix/master.cf եǤϤɤ Postfix ǡ
chroot Ƥޤchroot ͭˤˤϡ/etc/postfix/master.cf 
Խեλؼ˽äƤä顢ѹȿǤ뤿
"postfix reload"¹ԤƤ

chroot 줿ǡƤΥե̾β褬 Postfix 塼ǥ쥯ȥ
(/var/spool/postfix) ͤǤ뤳ȤդƲchroot ƹ
ޤȤˤϡۤȤɤ UNIX ƥǤĤΥեǥХΡɤ
ɬפޤʪ examples/chroot-setup
ǥ쥯ȥˤϡޤޤʥڥ졼ƥ󥰥ƥ Postfix chroot Ķ
ꤹΤΩġΥץȽޤ

ˡ餯ۤȤɤξ syslogd  Postfix 塼ǥ쥯ȥ
åȤ listen 褦ꤹɬפޤΥƥ
¸뤿 syslogd ޥɥ饤󥪥ץ:

FreeBSD: syslogd -l /var/spool/postfix/var/run/log

Linux, OpenBSD: syslogd -a /var/spool/postfix/dev/log

ʬʬȤΥۥ̾̾

myhostname ˤ Postfix ƥबưƤޥδɥᥤ̾
ꤷޤ$myhostname ¾ Postfix ѥ᡼¿ǥǥեͤȤ
ޤ

ǥեȤǤϡmyhostname ϥޥ̾ꤵޤޥ̾
ɥᥤǤϤʤ Postfix С륤󥿡ե
ưƤ硢᡼륷ƥबȤ٤ɥᥤ̾ꤹɬפ
ޤ

ˡmain.cf  mydomain ꤹȡPostfix  myhostname ѥ᡼
줿ǥեͤФΤˤͤȤޤ

 (ʲΤ줫1Ĥꤷޤ):

    /etc/postfix/main.cf:
        myhostname = host.local.domain (machine name is not FQDN)
        myhostname = host.virtual.domain (virtual interface)
        myhostname = virtual.domain (virtual interface)

ʬʬȤΥɥᥤ̾̾

mydomain ѥ᡼ˤ $myhostname οƥɥᥤꤷޤǥեȤǤϡ
(̤ȥåץ٥ɥᥤǤʤ) $myhostname ǽʬ
Τޤ

դˡmain.cf  mydomain ꤹȡPostfix Ϥͤ myhostname
ѥ᡼δ줿ǥեͤФΤ˻Ȥޤ

 (ʲΤ줫1Ĥꤷޤ):

    /etc/postfix/main.cf:
        mydomain = local.domain
        mydomain = virtual.domain (virtual interface)

ʬʬȤΥͥåȥɥ쥹

inet_interfaces ѥ᡼ˤ Postfix ƥब listen ٤ǤƤ
ͥåȥɥ쥹ꤷޤ; "user@[network address]" ˸줿᡼
$mydestination ǥꥹȥåפ줿ɥᥤ˸줿ΤƱͤˡ
ޤ

Postfix master.cf ե IP ɥ쥹򥵡̾դ뤳Ȥˤäơ
inet_interfaces 񤭤뤳ȤǤޤ

ǥեȤƤΥƥ֤ʥ󥿡ե listen ޤС
󥿡եǥ᡼ưΤǤСlisten ٤󥿡ե
ꤹɬפǤ礦

: С륤󥿡ե MTA ưΤǤСΥޥ
Ф᡼ MTA  inet_interfaces ͤŪ˻ꤷʤ
ޤ:  MTA ϥС륤󥿡ե listen ʤ
С MTA 󤷤Ƥȥ᡼롼פ򵯤ޤ

: ǥեꡣ

    /etc/postfix/main.cf:
        inet_interfaces = all

: 1İʾΥС᡼ưƤۥȡ줾 Postfix Ф
ʲΤ줫ĤꤷƤ

    /etc/postfix/main.cf:
        inet_interfaces = virtual.host.tld         (С Postfix)
        inet_interfaces = $myhostname localhost... (С Postfix)

: Υѥ᡼ѹ顢Postfix ߤƤ饹Ȥɬפ
ޤ

