Fedora 25
Sponsored Link

Postfix インストール/設定2016/12/12

 
Postfix をインストールして SMTPサーバーを構築します。
[1] Postfix をインストールします。
[root@mail ~]#
dnf -y install postfix
[2] メール不正中継防止に、後述の Dovecot の SASL機能を利用し、送信にも認証を要求するように Postfix を設定します。
[root@mail ~]#
vi /etc/postfix/main.cf
# 95行目:コメント解除しホスト名指定

myhostname =
mail.srv.world
# 102行目:コメント解除しドメイン名指定

mydomain =
srv.world
# 118行目:コメント解除

myorigin = $mydomain
# 135行目:変更

inet_interfaces =
all
# 138行目:IPv4のみをリスンするならば変更

inet_protocols =
ipv4
# 183行目:追記

mydestination = $myhostname, localhost.$mydomain, localhost
, $mydomain
# 283行目:コメント解除し自ネットワーク追記

mynetworks = 127.0.0.0/8,
10.0.0.0/24
# 438行目:コメント解除しMaildir形式へ移行

home_mailbox = Maildir/
# 593行目:追記

smtpd_banner = $myhostname ESMTP
# 最終行へ追記

# 送受信メールサイズを10Mに制限

message_size_limit = 10485760

# メールボックスサイズを1Gに制限

mailbox_size_limit = 1073741824
# SMTP-Auth 設定

smtpd_sasl_type = dovecot
smtpd_sasl_path = private/auth
smtpd_sasl_auth_enable = yes
smtpd_sasl_security_options = noanonymous
smtpd_sasl_local_domain = $myhostname
smtpd_recipient_restrictions = permit_mynetworks, permit_auth_destination, permit_sasl_authenticated, reject
[root@mail ~]#
systemctl start postfix

[root@mail ~]#
systemctl enable postfix

[3] SELinux を有効にしている場合は、ポリシーの変更が必要です。
[root@mail ~]#
vi postfix-local.te
# 以下の内容で新規作成

module postfix-local 1.0;

require {
        type tmpfs_t;
        type sendmail_t;
        type postfix_local_t;
        type postfix_cleanup_t;
        type postfix_smtp_t;
        type postfix_smtpd_t;
        type postfix_qmgr_t;
        type postfix_master_t;
        type postfix_pickup_t;
        class lnk_file read;
}

allow sendmail_t tmpfs_t:lnk_file read;
allow postfix_local_t tmpfs_t:lnk_file read;
allow postfix_cleanup_t tmpfs_t:lnk_file read;
allow postfix_smtp_t tmpfs_t:lnk_file read;
allow postfix_smtpd_t tmpfs_t:lnk_file read;
allow postfix_pickup_t tmpfs_t:lnk_file read;
allow postfix_master_t tmpfs_t:lnk_file read;
allow postfix_qmgr_t tmpfs_t:lnk_file read;

# 中間ファイル生成

[root@mail ~]#
checkmodule -m -M -o postfix-local.mod postfix-local.te

checkmodule: loading policy configuration from postfix-local.te
checkmodule: policy configuration loaded
checkmodule: writing binary representation (version 17) to postfix-local.mod
# 中間ファイルからモジュール生成

[root@mail ~]#
semodule_package --outfile postfix-local.pp --module postfix-local.mod

# モジュールインストール

[root@mail ~]#
semodule -i postfix-local.pp

[4] Firewalld を有効にしている場合は SMTP サービスの許可が必要です。SMTP は 25/TCP を使用します。
[root@mail ~]#
firewall-cmd --add-service=smtp --permanent

success
[root@mail ~]#
firewall-cmd --reload

success
関連コンテンツ