自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

Postfix下的控制

運維 系統(tǒng)運維
郵件收發(fā)不僅僅是簡單的一收一發(fā)過程,而是其中進程的傳遞。在postfix郵件當中,我們應該了解一些什么?郵件源于哪兒?在postfix中需要做哪些過程?

一、postfix的UCE控制

  所謂UCE(unsolicited commercial email)控制就是指控制postfix接收或轉發(fā)來自于什么地方的郵件。

  缺省地,postfix轉發(fā)符合以下條件的郵件:

  * 來自客戶端ip地址符合$mynetworks的郵件。

  * 來自客戶端主機名符合$relay_domains及其子域的郵件。

  * 目的地為$relay_domains及其子域的郵件。

  缺省地,postfix接受符合以下條件的郵件:

  * 目的地為$inet_interfaces的郵件。

  * 目的地為$mydestination的郵件。

  * 目的地為$virtual_maps的郵件。

  但是我們也可以通過下面的規(guī)則來實現(xiàn)更強大的控制功能。

  1. 信頭過濾

  通過header_checks參數(shù)限制接收郵件的信頭的格式,如果符合指定的格式,則拒絕接收該郵件??梢灾付ㄒ粋€或多個查詢列表,如果新郵件的信頭符合列表中的某一項則拒絕該接收郵件。如:

  header_checks = regexp:/etc/postfix/header_checks

  header_checks = pcre:/etc/postfix/header_checks

  缺省地,postfix不進行信頭過濾。

  2.客戶端主機名/地址限制

  通過smtpd_client_restrictions參數(shù)限制可以向postfix發(fā)起SMTP 連接的客戶端的主機名或ip地址。可以指定一個或多個參數(shù)值,中間用逗號隔開。限制規(guī)則是按照查詢的順序進行的,***條符合條件的規(guī)則被執(zhí)行。可用的規(guī)則有:

  reject_unknown_client:如果客戶端的ip地址在DNS中沒有PTR記錄則拒絕轉發(fā)該客戶端的連接請求??梢杂胾nknown_client_reject_code參數(shù)指定返回給客戶機的錯誤代碼(缺省為450)。如果你有用戶沒有作DNS記錄則不要啟用該選項。

  permit_mynetworks:如果客戶端的ip地址符合$mynetworks參數(shù)定義的范圍則接受該客戶端的連接請求,并轉發(fā)該郵件。

  check_client_access maptype:mapname:根據(jù)客戶端的主機名、父域名、ip地址或屬于的網絡搜索access數(shù)據(jù)庫。如果搜索的結果為REJECT 或者 '[45]XX text' 則拒絕該客戶端的連接請求;如果搜索的結果為OK、RELAY 或數(shù)字則接受該客戶端的連接請求,并轉發(fā)該郵件。。可以用access_map_reject_code參數(shù)指定返回給客戶機的錯誤代碼(缺省為554)。

  reject_maps_rbl:如果客戶端的網絡地址符合$maps_rbl_domains參數(shù)的值則拒絕該客戶端的連接請求??梢杂胢aps_rbl_reject_code參數(shù)指定返回給客戶機的錯誤代碼(缺省為554)。

  示例:

  smtpd_client_restrictions = hash:/etc/postfix/access, reject_maps_rbl

  smtpd_client_restrictions = permit_mynetworks, reject_unknown_client

  該參數(shù)的缺省值為:

  smtpd_client_restrictions =

  也即接收來自任何客戶端的SMTP連接。

  3. 是否請求HELO命令

  可以通過smtpd_helo_required參數(shù)指定客戶端在SMTP會話的開始是否發(fā)送一個HELO命令。你可以指定該參數(shù)的值為yes或no。缺省值為:

  smtpd_helo_required = no

  4. HELO主機名限制

  可以通過smtpd_helo_restrictions參數(shù)指定客戶端在執(zhí)行HELO命令時發(fā)送給postfix的主機名。缺省地,postfix接收客戶端發(fā)送的任意形式的主機名??梢灾付ㄒ粋€或多個參數(shù)值,中間用逗號隔開。限制規(guī)則是按照查詢的順序進行的,***條符合條件的規(guī)則被執(zhí)行。可用的規(guī)則有:

  reject_invalid_hostname:如果HELO命令所帶的主機名參數(shù)不符合語法規(guī)范則拒絕客戶機的連接請求??梢杂胕nvalid_hostname_reject_code參數(shù)指定返回給客戶機的錯誤代碼(缺省為501)。

  permit_naked_ip_address:RFC要求客戶端的HELO命令包含的ip地址放在方括號內,你可以用permit_naked_ip_address參數(shù)取消該限制。因為有的mail客戶端不遵守該RFC的規(guī)定。

  reject_unknown_hostname:如果客戶端執(zhí)行HELO命令時的主機名在DNS中沒有相應的A 或 MX 記錄則拒絕該客戶端的連接請求??梢杂胕nvalid_hostname_reject_code參數(shù)指定返回給客戶機的錯誤代碼(缺省為450)。

  reject_non_fqdn_hostname:如果客戶端執(zhí)行HELO命令時的主機名不是RFC規(guī)定的完整的域名則拒絕客戶端的連接請求??梢杂胕nvalid_hostname_reject_code參數(shù)指定返回給客戶機的錯誤代碼(缺省為504)。

  check_helo_access maptype:mapname:根據(jù)客戶端HELO的主機名、父域名搜索access數(shù)據(jù)庫。如果搜索的結果為REJECT 或者 '[45]XX text' 則拒絕該客戶端的連接請求;如果搜索的結果為OK、RELAY 或數(shù)字則接受該客戶端的連接請求。可以用access_map_reject_code參數(shù)指定返回給客戶機的錯誤代碼(缺省為554)。

  示例:

  smtpd_helo_restrictions = permit_mynetworks, reject_invalid_hostname

  5. RFC 821信頭限制

  RFC 821對郵件的信頭做了嚴格的規(guī)定,但是廣泛使用的sendmail并不支

  持該規(guī)定,所以對于該參數(shù)我們只能說不,即:

  strict_rfc821_envelopes = no

  6. 通過發(fā)件人地址進行限制

  可以用smtpd_sender_restrictions參數(shù)通過發(fā)件人在執(zhí)行MAIL FROM命令時提供的地址進行限制??梢灾付ㄒ粋€或多個參數(shù)值,中間用逗號隔開。限制規(guī)則是按照查詢的順序進行的,***條符合條件的規(guī)則被執(zhí)行??捎玫囊?guī)則有:

  reject_unknown_sender_domain:如果MAIL FROM命令提供的主機名在DNS中沒有相應的A 或 MX 記錄則拒絕該客戶端的連接請求??梢杂胾nknown_address_reject_code參數(shù)指定返回給客戶機的錯誤代碼(缺省為450)。

  check_sender_access maptype:mapname:根據(jù)MAIL FROM命令提供的主機名、父域搜索access數(shù)據(jù)庫。如果搜索的結果為REJECT 或者 '[45]XX text' 則拒絕該客戶端的連接請求;如果搜索的結果為OK、RELAY 或數(shù)字則接受該客戶端的連接請求??梢杂胊ccess_map_reject_code參數(shù)指定返回給客戶機的錯誤代碼(缺省為554)??梢酝ㄟ^該參數(shù)過濾來自某些不受歡迎的發(fā)件人的郵件。

  reject_non_fqdn_sender:如果MAIL FROM命令提供的主機名不是RFC規(guī)定的完整的域名則拒絕客戶端的連接請求??梢杂胣on_fqdn_reject_code 參數(shù)指定返回給客戶機的錯誤代碼(缺省為504)。

  缺省地,postfix接受來自任何發(fā)件人的郵件。

  示例:

  smtpd_sender_restrictions = hash:/etc/postfix/access, reject_unknown_sender_domain

  7. 通過收件人地址進行過濾

  可以用smtpd_recipient_restrictions參數(shù)通過發(fā)件人在執(zhí)行RCPT TO命令時提供的地址進行限制。缺省值為:

  smtpd_recipient_restrictions = permit_mynetworks, check_relay_domains

  可以指定一個或多個參數(shù)值,中間用逗號隔開。限制規(guī)則是按照查詢的順序進行的,***條符合條件的規(guī)則被執(zhí)行??捎玫囊?guī)則有:

  check_relay_domains:如果符合以下的條件,則接受SMTP連接請求,否則拒絕該連接,可以用relay_domains_reject_code 參數(shù)指定返回給客戶機的錯誤代碼(缺省為504)。

  * 客戶端主機名符合$relay_domains及其子域

  * 目的地為$inet_interfaces、$mydestination或$virtual_maps

  permit_auth_destination:不管客戶端的主機名,只要符合以下的條件,就

  接受SMTP連接請求:

  * 解析后的目標地址符合$relay_domains及其子域

  * 解析后的目標地址符合$inet_interfaces、$mydestination或$virtual_maps

  reject_unauth_destination:不管客戶端的主機名,只要符合以下的條件,就拒絕該客戶端SMTP連接請求:

  * 解析后的目標地址符合$relay_domains及其子域

  * 解析后的目標地址符合$inet_interfaces、$mydestination或$virtual_maps

  check_recipient_access:根據(jù)解析后的目標地址、父域搜索access數(shù)據(jù)庫。如果搜索的結果為REJECT 或者 '[45]XX text' 則拒絕該客戶端的連接請求;如果搜索的結果為OK、RELAY 或數(shù)字則接受該客戶端的連接請求。可以用access_map_reject_code參數(shù)指定返回給客戶機的錯誤代碼(缺省為554)。

  reject_unknown_recipient_domain:如果收件人的郵件地址在DNS中沒有相應的A 或 MX 記錄則拒絕該客戶端的連接請求。可以用unknown_address_reject_code參數(shù)指定返回給客戶機的錯誤代碼(缺省為450)。

  reject_non_fqdn_recipient:如果發(fā)件人在執(zhí)行RCPT TO命令時提供的地址

  不是完整的域名則拒絕其SMTP連接請求??梢杂肨he non_fqdn_reject_code參數(shù)指定返回給客戶機的錯誤代碼(缺省為504)。

二、 posftfix的性能控制

  之所以對postfix的性能進行控制,是為了在遇到郵件風暴時保證postfix可以正常運行。通常,我們可以通過對下列postfix參數(shù)的配置來調節(jié)postfix的性能,這些參數(shù)都是通過mail.cf配置文件進行配置的,修改以后不要忘了運行postfix reload命令來使配置生效。

  1. 進程數(shù)限制

  可以通過default_process_limit 參數(shù)來控制postfix系統(tǒng)同時可以運行的***進程數(shù)目。缺省值是50個。

  2. 對同一目標主機的并發(fā)連接限制

  當向同一目標主機發(fā)出SMTP連接時,postfix初始化發(fā)出兩個SMTP連接,如果投遞成功則增加并發(fā)的SMTP連接數(shù)目,遇到擁塞時又減少并發(fā)連接的數(shù)目。postfix中通過以下的參數(shù)對同一目標主機的并發(fā)連接進行控制:

  * initial_destination_concurrency:控制對同一目標主機的初始化并發(fā)連接數(shù)目。缺省值為2。

  * default_destination_concurrency_limit:控制初始化連接后對同一目標主機的***并發(fā)連接數(shù)目。缺省值為10。

  * local_destination_concurrency_limit:控制對同一本地收件人的***同時投遞的郵件數(shù)目。缺省值為2,因為對本地同一收件人投遞郵件時投遞工作只能一個接一個的進行,所以設得在大也沒用。

  3. 對同一封郵件的收件人數(shù)目限制

  通過default_destination_recipient_limit參數(shù)來控制postfix的投遞代理(如

  smtp進程)可以將同一封郵件發(fā)送給多少個收件人。缺省值為50。也可以用明確指出該投遞代理的參數(shù)來覆蓋該缺省值。如用smtpd_recipient_limit來指定smtp投遞代理可以將同一封郵件發(fā)送給多少個收件人,該參數(shù)的缺省值為1000。

  4. 推遲投遞控制

  通過defer_transports參數(shù),我們可以推遲投遞該參數(shù)指定的郵件直到postfix明確的提出投遞要求。下面我們看一個例子:

  有一個小型的局域網,用戶都將郵件發(fā)送給局域網內部的一臺postfix郵件服務器,然后通過在該服務器上撥號將郵件發(fā)送出去。這時我們可以這樣指定該參數(shù)的值:

  defer_transports = smtp

  該語句表示postfix推遲投遞所有的郵件直到執(zhí)行sendmail -q命令,這樣我們就可以在ppp的腳本中加上sendmail -q,以便在撥號成功后讓postfix開始投遞郵件。

【編輯推薦】

  1. Postfix對郵件的處理流程
  2. Linux下的郵件服務器 postfix
  3. 如何安裝Postfix
  4. Postfix郵件安裝實現(xiàn)介紹
  5. Postfix入門篇
  6. postfix 安裝配置
  7. Postfix的配置
責任編輯:zhaolei 來源: 網絡轉載
相關推薦

2011-01-20 10:33:30

Postfix

2011-01-18 15:47:20

2011-02-21 13:08:37

postfix配置

2011-01-19 09:16:48

Postfix配置

2011-01-18 15:00:17

Postfix安裝

2011-01-18 18:52:14

Postfix結構

2013-06-04 09:31:11

2011-01-19 15:03:24

Qmail控制文件

2011-01-19 09:55:27

postfix

2011-02-21 11:14:47

Postfix配置

2011-01-19 13:39:38

Postfix郵件監(jiān)控

2010-06-02 18:17:09

Postfix郵件

2010-06-02 17:36:31

postfix概述

2011-03-04 09:40:36

Vsftpd文件

2011-01-19 16:12:00

Postfix安裝啟動

2011-01-20 09:42:29

postfix郵件

2011-02-21 08:50:50

2011-01-19 12:00:30

Postfix地址

2011-02-21 12:59:55

2011-01-18 14:47:22

Postfix
點贊
收藏

51CTO技術棧公眾號