LinuxのPostfixメールサービスの展開

旧メール展開知識

1.メールサーバとDNSの関係

  • メールサーバとMXとAの役割
    「アカウントのドメイン@」のアプローチを使用してメールを送信するには、メール、送信先アドレスを送信するとき、それはお互いのメールサーバーを配信する前に、ドメイン名のバック@ DNSによって解析されなければなりません。
    MXは、メッセージが送信されるメール交換器の略で、メールホストは、最初に、そのメッセージの「ターゲットのDNSドメイン名」を分析する最初のMXマークを取得(ノート、複数のMXロゴホストがあるかもしれません)となりますすべての目的MX解決がメールの受信に失敗した場合、メッセージの目的のために最も優先度の高いMXの解像度は、送出され、他のすべての解析の目的のために使用してメールを送信するメッセージプロンプトのリターンの前に失敗してみてください。
  • 役割メールサーバーおよびリバースDNSソリューションです
    メールサーバーがメールを受信したときに解決ドメイン名の登録とは逆の解決策が出てこない場合は、最初の抗ソースIPソリューション、そしてスパムとして分類されます。

2.メール転送コンポーネントに必要な

  • MTAメール転送エージェントという、SMTPプロトコルを使用して、サーバーと送信メッセージ、送信、送信によって送信されます。
  • MRAすなわちメール検索エージェントは、サーバがPOP3またはIMAP受信メッセージプロトコルを使用して、メッセージを受信します。
  • すなわちMDAメール配信エージェント、MDAは、MTA、メールヘッダ解析またはコンテンツMTAによって受信されたデータ、スパムフィルタリング、自動返信の下に小さなプログラムで吊り下げられています。
  • メールボックスファイルの手紙を受け入れるための特別なアカウントです、Linuxシステムでは、デフォルトのメールボックスは/ var /スプール/メール/ユーザアカウント番号です。
  • MUAメールユーザーエージェントことを、あなたは直接メールを送信するメールサーバーにログインすることができ、あなたもメールを送信および受信するMUAを使用することができ、一般的なMUAは、Outlook、Foxmailのなどがあります。

認証メカニズムの重要性をリレー3。

状況が悪い関係オープンリレーにつながっている、プラスあなたのMTAとインターネットあまり上記アイドラーポートスキャンソフトウェアは、このオープンリレー機能を持っているので、あなたのMTAが実際に、インターネットに接続されているので、あなたは、MTAを設定すると、物事は、認可、ポルノスパム業界は、それがオープンリレー機能を閉じる必要がありますので、自分の広告を送るあなたのこのオープンリレーMTAを活用します、そして、それらの違法広告の手紙、短い時間でそれを感じる多くの人々になりますオープンリレー機能:

  • このような内部LAN 192.168.1.0/24所定リレーなどの所定の特定のクライアントのIPまたはネットワークセグメントを使用することができます。
  • IPクライアントが固定されていない場合、認証機構を処理することができる(例えば、IPを取得ダイヤル非固定)。
  • MUA MTAは、上記ウェブインターフェースのような、例えばMUA OpenWebMail機能を建立します。

二つ。PostfixはベースのMTAサーバーを設定します

1. Postfixのソフトウェアアーキテクチャを導入しました

  • /etc/postfix/main.cf
    これは、メインのpostfixの設定ファイルで、ほぼすべての仕様パラメータは、このファイルに設定されています!これは、ファイルの完全な説明デフォルトのファイルで、あなたがあなた自身のpostfixのMTAを設定するには、このファイルの内容を参照することができます!限り、このファイルを変更したとして、接尾辞を再起動することを忘れないでください!
  • /etc/postfix/master.cf設定する必要を理解する
    機能のパラメータの主な規定は、各プログラムをPostfixの、また非常に重要な設定ファイルです。しかし、これはデフォルトのファイルはOKですされており、通常は彼を変更する必要はありません。
  • の/ etc / postfixの/アクセス(使用はpostmap処理)
    リレーを開いたり、他のオンラインソースまたは宛先アドレスとの外部のプロファイル情報を拒否するように設定することができますが、このファイルは、このファイル/etc/postfix/main.cfに反映するために開始するために必要とされていますジョブの使用。設定した後とファイルがそれをデータベースにはpostmap処理する必要があります!
  • の/ etc /エイリアス(またはやpostalias使用することができますnewaliasesコマンド)
    電子メールエイリアスの使用などは、電子メールは、グループとして設定することができます!
  • / usr / sbinに/はpostconf(SEEのpostfixの設定データ)
    のデータ量が非常に巨大であるので、このコマンドは、システムのデフォルト値も記載されて含め、あなたの現在の詳細なデータセットの接尾辞を一覧表示することができます!あなたがいる場合のmain.cf内の特定のプリセットパラメータを変更した、あなたがリストにデータセットの唯一の非デフォルト値をしたい、あなたはこのオプション「-nはpostconf」を使用することができます。
  • / usr / sbinに/後置(メインデーモンコマンド)
    [ルートWWW〜@]#は、関連するファイルの接尾辞を確認する== <チェックを後置、パーミッションは正しいです!
    実行[ルート@ WWWの〜]#の接尾 == <開始後置の開始
    [ルート@ WWWの〜]#の後置停止<== クローズ後置
    現在メール・メッセージ・キューを強制== <WWWルート@〜]#の後置フラッシュ送信!
    [ルート@ WWWの〜]#postfixのリロード<== /etc/postfix/main.cfで再読み込み設定ファイル、
  • / usr / sbinに/やpostalias
    コマンドエイリアスデータベースを設定するMTAデータベース形式のファイルが優先パフォーマンスを読んでいるので、私たちは、ASCII形式のデータベース内のファイルを再構築します。接尾辞の中で、この命令は、こんにちは/etc/aliases.dbになるための変換は/ etc /別名で主にあります!使い方は次のとおりです。
    [WWW〜@ルート]#1やpostaliasハッシュ:の/ etc / aliases内の
    フォームにハッシュそのデータベース、そして、それは自動的に更新されます/etc/aliases.db
  • / usr / sbinに/ postcat
    主の間でキュー(待ち行列)の文字の内容を確認するために使用。フォーマットはテキストデータは、私たちの人間性を理解するために読んで、一般的にされていないので、手紙の内容は、参照するにはMTAのキューの一つです。この時あなたは手紙の内容を見ることができpostcatを使用する必要があります。かなりのディレクトリがありますでは/ var /スプール/ postfixの、と呼ばれるファイルがある/延期/ abcfile、その後、あなたは仮説内のファイルの内容を照会する方法の下で使用することができ
    ます。[root @ WWWの〜]#のpostcatの/ var / スプール/ postfixの/延期/ abcfile
  • / usr / sbinに/はpostmap
    この使用方法とやpostalias同様の指示が、彼は、このファイルの変換アクセスデータベース内に主にある
    [ルート@ WWWの〜]#1はpostmapのハッシュ:の/ etc / postfixの/アクセス
  • / usr / sbinに/はpostqueue
    同様の出力のmailq、たとえば、あなたが知って見て"はpostqueue -p"を入力することができます。

2. Postfixのメインの設定ファイルの構文

  • 「#」記号は、注釈付き意味です。
  • すべての設定値は、空白文字を与えるために、等号の両側にmyhostnameと= www.centos.jet、してください注意を払うように対処する方法と同様の「変数」に設定され、最初の文字は空白にすることはできません、私の「その..「の最初の行から書き込みます。
  • あなたは、このようmyoriginや= $ myhostnameのように、変数の設定の使用を拡張するために「$」を使用することができますmyoriginや= www.centos.jetに等しくなります。
  • 変数のサポート2つの以上のデータは、分離するためにスペース文字が、推奨コンマとスペース文字を使用する場合は「」に対処します。例えば:mydestinationや= $ myhostnameの、$ MYDOMAIN、linux.centos.jet、mydestinationやは、3つのデータのコンテンツをサポートすることを目的と意味。
  • 設定値を持つ複数の行で表すことができる限り、最後のコンマの最初の行、及びスペースの2行目の先頭ように、第2の行にデータを書き込み続けるように拡張することができる(これだけ前第二の点は、前記しました)空白のままにすることはない初め!;
  • 繰り返し項目を設定した場合、後で場所を発生する方の値を設定!

MTAの設定はじめとして3.レッツのPostfix

  • myhostnameと:FQDNああを使用して、ホスト名を設定する
    このプロジェクトは、あなたのホスト名を設定することで、設定が参照他のパラメータの多くのフォローアップになり、正しい仕事を設定する必要があります。あなたは、ホスト名の完全なセットでなければなりません。myhostnameと= www.centos.jet息子:に設定する必要があります。この演習で。この設定に加えて、デフォルトでは最初の$ myhostnameのがかかります「」名前の後、設定されたMYDOMAINプロジェクトは、そこにあります。例えば、トップの設定が完了すると、デフォルトではmydomain centos.jetです!あなたはまた、彼自身を設定することができます。

  • myoriginや:文字が表示された「文字の送信元ホスト」プロジェクト
    、この設定値を使用するMTA文字に代わって広がっている設定、「からのメール上記ヘッドの電子メールアドレス」にプロジェクトが取られます!あなたは言葉から機械プラスのメールの時に手紙を送ることを忘れている場合、それは順序値の対象となります。myoriginや= $ myhostnameの:$ myhostnameのベースなどにデフォルトでは、このプロジェクト

  • inet_interfaces:postfixのセットリスナインタフェース(非常に重要)
    あなたのPostfixのデフォルトの場合は、あなたがインターネット全体を監視する場合にのみ、外部オープンになってくださいネイティブインターフェースLO(127.0.0.1)を監視しますインターフェイス、またはすべてのインターフェイスに開かれ、一般的な設定方法は次のとおりです。inet_interfaces =すべての魚!重複した設定項目がある場合は、最新の外観の設定値の対象となりますので、設定のみ1セットinet_interfacesを維持するのが最適です!

  • inet_protocols:PostfixはIPプロトコル集合聞いて
    、にinet_protocols = IPv4の表示されないようになる直接指定することができるIPv4のみのとき内部ネットワーク環境ならば、IPのIPv4の、IPv6の2つのバージョンを聴きながら、デフォルトの接尾辞CentOSのは行きます::: 1 IPはヨのように表示されます!

  • mydestinationや:セットは、「ホスト名を受け取るために調製することができる」(非常に重要)

    • この設定は非常に重要なプロジェクトです!私たちは、ホスト名の多くを持っているので、我々は受け入れるメールを送ることができ、最終的にホスト名にメールの他の側面を埋めますか?ここでは仕様です!それは、単に電子メールアドレスにホスト名として設定値を書き込み、自分のホスト名、それらの多くです。だから、文言は次のとおりです。mydestinationや= $ myhostnameの、$ MYDOMAIN
    • あなたが同様の慣行の下で使用することができ、外部ファイルに移動するには、この値を設定する場合:mydestinationや=の/ etc / postfixの/ローカル・ホスト名、 そしてホスト名内のローカル・ホスト名を受け取ることを準備します書き込みへ。一般的に、我々はに直接書き込み、このファイルにあなたを追加のローカル・ホスト名を確立することはお勧めしませんmain.cfと言って!特別な注意は、あなたのDNS MXが看板の内側に設定されている場合は、そのホスト名にMXのポインティングを設定することで、このmydestinationやで記述する必要があり、それ以外の場合は、ああをエラーになりやすいです!一般的には、その内部にこのセットの中で最も一般的なエラーのローカルユーザー!
  • mynetworks_style:の「信頼のネットワークセグメント」の指標設定
    手段「エンドとの信頼の顧客のネットワーク内のホストとの」値を設定する規定を!我々はmynetworksにから設定することができるので、デフォルトのまま。

  • mynetworksに:クライアントの信頼(非常に重要)の提供
    あなたのMTAは、ヘルプには、リレーこれは、最も関連の設定をすることはできません!例えば、私はあなたが設定することができるように、マシンと内部IPドメインを開きたいとき:mynetworksに= 127.0.0.0/8、192.168.100.0/24。あなたがしたい場合には/ etc / postfixの/アクセスユーザ制御リレーにこのファイルを、私はあなたにお勧め上記のデータは次のようにリライトされますmynetworksに= 127.0.0.0/8、192.168.100.0/24、ハッシュ :の/ etc / postfixの/あなたがちょっとだけアクセスを確立した後、データベースに改質さと後にアクセス!ユーザーは、リレーを設定することができます!

  • relay_domains:仕様は、MTAリレーホストアドレスを下げることができます

    • 「信頼できるクライアント」と設定されたこのrelay_domainsに反対にmynetworksへの相対は、設定「下流MTAサーバのために」と考えることができます。あなたはこのwww.niki.centos.jet MXホストのホストされている場合たとえば、あなたは全体niki.centos.jetのフィールドゴールの手紙のジョブを送信するのrelay_domainsに設定する必要があります。デフォルトの場合、この設定は$ mydestinationやです。
    • 下流の1がMTAdownで、MTAdown標準MX、次の2つのホストを持っている場合は、1がMTAupの上流にある:あなたが言うことを意味し、「文字を送信しないデフォルトのPostfix MXホスト」に注意を払うにする必要がありますホストがMTAupで、DNS MX設定値メール配信方向ので、我々は任意の文字がMTAdownホストを送ったかを知りたい、仕事を送信するためにMTAupを通過します!それはMTAdown省MTAup権限はリレーの助けを点灯しない場合は、この時点では、渡されたMTAdown任意の文字は、「すべてのMTAupバック「になります!それ以来MTAdownは、文字のいずれかを受け取ることができません。
    • いくつかの特別な手順についてはねえ、あなたとあなたの会社は大企業の下流のメールサーバーを持っている場合ので、また、MX設定された条件の下で、もう一度考えてみてください!これは非常に重要なのrelay_domainsです!上流のMTAホストは、この設定を有効にする必要があります。あなたはMTA MX元ホストの単位でない限り、一般的に、言えば、そうでない場合は設定項目が彼を無視するように設定することはできません。あなたが特定のMTAホストのユニットに送信手紙にあなたのクライアントを支援したい場合は、このプロジェクトにも設定が可能です。デフォルトデフォルト値を保管してください。
  • alias_maps:メールエイリアスが設定
    項目を設定し、メールエイリアスを設定され、単純に行くために、正しいファイルを指定して、この設定はデフォルト値のままにすることができます。

4. MTAは、操作の手紙を受け取り、

MTAとして例示した構成

#配置前请确保iptables规则配置妥当,selinux已经关闭,如果是centos7,firewall也要关闭。
iptables -A INPUT -p TCP -i $EXTIF --dport  25  --sport 1024:65534 -j ACCEPT

[root@www ~]# vim /etc/postfix/main.cf
myhostname = www.centos.jet 
myorigin = $myhostname 
inet_interfaces = all
inet_protocols = ipv4
mydestination = $myhostname,$mydomain
mynetworks = 127.0.0.0/8, 192.168.100.0/24, hash:/etc/postfix/access
relay_domains = $mydestination
alias_maps = hash:/etc/aliases
alias_database = hash:/etc/aliases
# 其他的设定值就先保留默认值即可!

# 生成别名数据库文件
[root@www ~]# postmap hash:/etc/postfix/access
[root@www ~]# postalias hash:/etc/aliases
# 检查配置文件的语法是否有错误
[root@www ~]# /etc/init.d/postfix check   <==没有信息输出,表示没有问题。

# 启动与观察 port number
[root@www ~]# /etc/init.d/postfix restart

あなたはMTAのフィルタリング機構を増やしたいとし

[root@www ~]# vim /etc/postfix/access
10.1.30.50		OK
.edu.com			OK
av.com			REJECT
192.168.2.  		REJECT
# OK 表示可接受,而 REJECT 则表示拒绝。

[root@www ~]# postmap hash:/etc/postfix/access
[root@www ~]# ls -l /etc/postfix/access*
#不必重新启动 postfix,只要重新生成数据库文件即可生效。

エイリアスについての設定(root権限の設定)

#作用是将发给这些系统账号的邮件发一份给root。
[root@www ~]# vim /etc/aliases
mailer-daemon:  postmaster
postmaster:     root
bin:            root
daemon:         root
#左边是系统账号,也是别名设置位置,右边是root账号,也是实际接收邮件的账号。
#假如你的 MTA 内有一个实际的账号名称为 dmtsai ,这个使用者还想要使用 dermintsai 这个名称来收他的信件, 那么你可以这样做:
[root@www ~]# vim /etc/aliases
dermintsai:     dmtsai
# 左边是你额外所设定的,右边则是实际接收这封信的账号!

[root@www ~]# postalias hash:/etc/aliases
# 信件会传给 root 与 dmtsai 这两个账号!
[root@www ~]# vim /etc/aliases
root:		root,dmtsai  
[root@www ~]# postalias hash:/etc/aliases
#创建邮件组
[root@www ~]# vim /etc/aliases
student2011:	std001,std002,std003,std004...
[root@www ~]# postalias hash:/etc/aliases
#邮件别名除了填写自己主机上面的实体用户之外,其实你可以填写外部主机的 email !
# 例如你要将本机的 dermintsai 那个不存在的用户的信件除了传给 dmtsai 之外,还要外传到 [email protected] 时,可以这样做:
[root@www ~]# vim /etc/aliases
dermintasi:	dmtsai,[email protected]
[root@www ~]# postalias hash:/etc/aliases

個人的なメールのリダイレクト(一般ユーザ):〜/ .forwardを

#普通用户将自己的邮件同时收一份到jet和[email protected]下。
[dmtsai@www ~]$ vim .forward
# 注意!我现在的身份现在是 dmtsai 这个一般身份,而且在他的家目录下!
dmtsai
jet
[email protected]
[dmtsai@www ~]$ chmod 644 .forward
#该档案所在用户家目录权限,其 group、other 不可以有写入权限。
#.forward 档案权限,其 group、other 不可以有写入权限。

6. MTAメンテナンスコマンド

[root@www ~]# postqueue -p   #查看MTA邮件队列
[root@www ~]# cd /var/spool/postfix/maildrop 
[root@www maildrop]# postcat 5CFBB21DB  <==这个档名就是 Queue ID
[root@www ~]# /etc/init.d/postfix restart
[root@www ~]# postfix flush

三。PostfixのMRAサーバーの設定

1. MRAは暗号化されていない設定

[root@www ~]# yum install dovecot
[root@www ~]# vim /etc/dovecot/dovecot.conf
# 找到底下这一行,大约是在第 25 行左右的地方,复制新增一行内容如下:
#protocols = imap pop3 lmtp
protocols = imap pop3
[root@www ~]# vim /etc/dovecot/conf.d/10-ssl.conf
ssl = no   <==将第 6 行改成这样!
[root@www ~]# /etc/init.d/dovecot start
[root@www ~]# chkconfig dovecot on
[root@www ~]# netstat -tlnp | grep dovecot
Proto Recv-Q Send-Q Local Address   Foreign Address   State    PID/Program name
tcp        0      0 :::110          :::*              LISTEN   14343/dovecot
tcp        0      0 :::143          :::*              LISTEN   14343/dovecot

2.暗号化されたMRAセット

# 1. 建立凭证:到系统提供的 /etc/pki/tls/certs/ 目录下建立所需要的 pem 凭证档:
[root@www ~]# cd /etc/pki/tls/certs/
[root@www certs]# make vbirddovecot.pem
....(前面省略)....
Country Name (2 letter code) [XX]:China
State or Province Name (full name) []:China
Locality Name (eg, city) [Default City]:bj
Organization Name (eg, company) [Default Company Ltd]:test
Organizational Unit Name (eg, section) []:test
Common Name (eg, your name or your server's hostname) []:mail.centos.jet
Email Address []:[email protected]

# 2. 因为担心 SELinux 的问题,所以请关闭selinux,并配置iptables规则
iptables -A INPUT -p TCP -i $EXTIF --dport 993  --sport 1024:65534 -j ACCEPT
iptables -A INPUT -p TCP -i $EXTIF --dport 995  --sport 1024:65534 -j ACCEPT

# 3. 开始处理 dovecot.conf,只要 pop3s, imaps 不要明码传输的咯!
[root@www certs]# vim /etc/dovecot/conf.d/10-auth.conf
disable_plaintext_auth = yes  <==第 9 行改成这样!取消批注!
[root@www certs]# vim /etc/dovecot/conf.d/10-ssl.conf
ssl = required                                <==第 6 行改成这样
ssl_cert = </etc/pki/dovecot/vbirddovecot.pem <==12, 13 行变这样
ssl_key =  </etc/pki/dovecot/vbirddovecot.pem

[root@www certs]# vim /etc/dovecot/conf.d/10-master.conf
  inet_listener imap {
    port = 0     <== 15 行改成这样
  }
  inet_listener pop3 {
    port = 0     <== 36 行改成这样
  }

# 4. 处理额外的 mail_location 设定值!很重要!否则网络收信会失败:
[root@www certs]# vim /etc/dovecot/conf.d/10-mail.conf
mail_location = mbox:~/mail:INBOX=/var/mail/%u <==第 30 行改这样

# 5. 重新启动 dovecot 并且观察 port 的变化:
[root@www certs]# /etc/init.d/dovecot restart
[root@www certs]# netstat -tlnp | grep dovecot
Proto Recv-Q Send-Q Local Address  Foreign Address   State    PID/Program name
tcp        0      0 :::993         :::*              LISTEN   14527/dovecot
tcp        0      0 :::995         :::*              LISTEN   14527/dovecot

おすすめ

転載: www.cnblogs.com/wangzengyi/p/12551520.html