免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
1234下一页
最近访问板块 发新帖
查看: 33849 | 回复: 34
打印 上一主题 下一主题

[Mail] [原创]Red Hat Postfix中文FAQ [复制链接]

论坛徽章:
1
荣誉版主
日期:2011-11-23 16:44:17
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2003-03-31 13:37 |只看该作者 |倒序浏览
Red Hat Postfix中文FAQ

这几天在看postfix的一些东西,也就把看到的一些问题整理了一下,本文会不断的更新以加入新的问题解决办法。

1,Q:我从哪儿可以得到postfix的RPM安装包?
  A:http://www.pobox.com/~sjmudd/postfix

2,Q:我下载的RPM安装包,但是在安装过程中出现了一个错误无法继续安装?
  Aostfix是用来替代sendmail的,除非你用源码进行安装,否则,sendmail和postfix是不能同时存在在一个系统上的。要想解决这个问题,

必须要把sendmail删掉,但删除之前,最好对sendmail做一个备份。以root身份登录:
        mkdir /root/sendmail-old
        cp /etc/aliases /root/sendmail-old
        cp /etc/sendmail.cf /root/sendmail-old
        cp /etc/sendmail.cw /root/sendmail-old
        cp /etc/mail/* /root/sendmail-old
        rpm -e sendmail sendmail-doc sendmail-cf --nodeps(在卸载sendmail的时候可能会有一些错误,用--nodeps可以不显示错误信息)
        killall sendmail
        rpm -Uvh postfix-postfix-1.1.11-5.i386.rpm

3:我是用的Red Hat Linux 7.3以上的版本,sendmail和postfix都已经安装上了,但系统现在用的是sendmail,我应该怎么办?
  A:在Red Hat Linux 7.3以上的版本提供了两个MTA软件:sendmail和postfix,默认情况下,系统用的是sendmail,如果你想用postfix,你可

以在图形界面下,GNOME选择Main Menu Button (就是左下角的大按纽) =>; Programs =>; System =>; Red Hat Mail Transport Agent Switcher

。KDE选择Main Menu Button (就是左下角的大按纽) System =>; Red Hat Mail Transport Agent

Switcher。也可以在终端里输入指令redhat-switchmail,如果这时没有启Xwindow系统,程序会自动

把Xwindow系统启来,你可以用redhat-switchmail-nox来强制让程序运行在text模式下。在这个程序里你可以选择你所要用的MTA软件,是send

mail还是postfix,如果想用postfix,选中postfix,保存退出。
/sbin/service sendmail stop  停止sendmail服务
/sbin/service postfix start  启动postfix服务
这样系统的MTA就换成postfix了。

4,Q:安装完成了,我应该怎么来配置呢?
  A:postfix的配置文件位于/etc/postfix目录下,一共有四个最基本的配置文件:install.cf main.cf master.cf postfix-script。mail.cf

:是postfix主要的配置文件。Install.cf:包含RPM包安装过程中安装程序产生的postfix初始化设置。master.cf:是postfix的master进程的

配置文件,该文件中的每一行都是用来配置postfix的组件进程的运行方式。postfix-script:这个里面包含了一些postfix命令,以便我们在l

inux环境中安全地执行这些postfix命令。这些配置文件你只需要对/etc/postfix/mail.cf时行配置就可以了。

5,Q:我以前sendmail下的aliases怎么办?
  A:你可以把安装postfix前备份的sendmail的aliases文件拷贝到/etc/postfix/aliases,如果确认配置没有什么问题并且在mail.cf中的配置

是正确的,就输入newaliases把文件转换成db文件就OK了。

6,Q:我使用了majordomo,并且我的所有aliases都在/etc/mail/majordomo里,我应该怎么办?
  A:把你以前用的majordomo文件可以拷贝到/etc/postfix/majordomo,并且保证在mail.cf中#alias_database = hash:/etc/aliases,

hash:/opt/majordomo/aliases这一行是没有被注释掉的,修改这一行为#alias_database =

hash:/etc/aliases,hash:/etc/postfix/majordomo,保存退出后,运行newaliases,如果你使用了bulk_mailer,你还需要对你的majordomo

aliases做一些修改。

7,Q:postfix用的是什么mail delivery agent (MDA)?
  A:postfix可以配置来用不同的MDA软件,在Red Hat Linux下默认的MDA软件是procmail,procmail对于Red Hat Linux和postfix是非常好用

的,没有理由去使用其它的MDA软件。你可以用rpm -q procmail检查你的系统是否安装了procmail。

8,Q:对于postfix的安全性,我如何让postfix不响应verify请求?
  A:在默认的情况下,postfix是不对verify请求响应的。不充许通过发通电子邮件来探知用户是否存在。可以看下面的例子:
[root@linuxserver /]# telnet localhost 25
   Trying 127.0.0.1...
   Connected to localhost.
   Escape character is '^]'.
   220 linuxserver.test.com ESMTP Postfix PostFix-v.2000
   helo localhost
   250 linuxserver.test.com
   vrfy testuser
   252 Send mail to find out
   quit
   221 Bye
   Connection closed by foreign host.
[root@linuxserver /]#

9,Q:在sendmail中我的设置有的虚拟域,在postfix下我如何来用呢?
  A:在postfix中使用虚拟域要比sendmail的配置方便多了,它没有用m4来处理,是一些简单易懂的E文。首先在/etc/postfix/mail.cf中要配

置上你的虚拟域为正确的转发和接收域,修改/etc/postfix/main.cf中的mydestination参数,缺省地,postfix接受符合以下条件的邮件:目

的地为$inet_interfaces的邮件、目的地为$mydestination的邮件、目的地为$virtual_maps的邮件。修改/etc/postfix/mail.cf文件中的参数

virtual_maps=hash:/etc/po stfix/virtual,如果/etc/postfix/virtual不存在,就新创建一个,下面是一个virtual文件的示例:
[root@linuxserver /]cat /etc/postfix/virtual
linux.net, abc.com, cc123.org, ppp.com

10,Q:postfix中我如何让我的配置生效?
   A:以root用户身份 postfix reload

11,Q:postfix中我如何刷新邮件队列?
   A:以root用户身份 postfix flush

12,Q:我必须使用一些map文件,来设置access文件和mailertable,我如何把这些转换成.db格式?
   A:以root用户身份 postmap /etc/postfix/access postmap 或 /etc/postfix/mailertable

13,Q:我如何让postfix开机后自己运行?
   A:你可以通过ntsysv工具,选中postfix

14,Q:我如何设置postfix的队列延迟?
   A:你可以在postfix的主要配置文件/etc/postifx/main.cf中修改下列参数:
        queue_run_delay (默认值 1000秒) 设置多长时间队列管理进程去扫描无法投递的邮件
        Maximal_queue_lifetime (默认值 5天) 设置邮件在队列里的最长时间
        Minimal_backoff_time (默认值 1000秒) 在这个时间内,邮件不能够被锁定
        Maximal_backoff_time (默认值 4000秒) 在这个时间之后,如果邮件仍然没有被投递,就认为是无法投递
        qmgr_message_recipient_limit (默认值 1000)

15,Q:如何禁止postfix对客户端IP作反向域名解析?
   A:以root用户身份登录
        postconf -e disable_client_dns_lookup = 1
        postfix reload

16,Q:有什么工具可以帮忙我分析我的postfix日志吗?
   A:James S. Seymour用perl写了一个叫pflogsumm.pl的脚本,可以到这里下载:http://jimsun.linxnet.com/postfix_contrib.html,然后可以在crontab中添加下面的内容:
        0 2 * * * /path/to/pflogsumm.pl -d today /var/log/maillog | mail -s "Mail Report" you@youdomain.com
定时把分析报告寄给你,其它的一些使用参数可以看pflogsumm.pl里的信息。

论坛徽章:
1
荣誉版主
日期:2011-11-23 16:44:17
2 [报告]
发表于 2003-04-11 11:16 |只看该作者

[原创]Red Hat Postfix中文FAQ

做了一些改动~~

改正了一个错误,在redhat 8 下,选择MTA的指令没有变~~

论坛徽章:
0
3 [报告]
发表于 2003-04-11 13:09 |只看该作者

[原创]Red Hat Postfix中文FAQ

太好,正是我需要的

论坛徽章:
0
4 [报告]
发表于 2003-04-14 12:41 |只看该作者

[原创]Red Hat Postfix中文FAQ

辛苦了!!1

论坛徽章:
1
荣誉版主
日期:2011-11-23 16:44:17
5 [报告]
发表于 2003-05-23 10:06 |只看该作者

[原创]Red Hat Postfix中文FAQ

最近工作比较忙,一直很少来看,这个FAQ也没有整理,还有一些东东,我正在整理,希望大家一起来把他完善吧~~

论坛徽章:
0
6 [报告]
发表于 2003-05-23 14:42 |只看该作者

[原创]Red Hat Postfix中文FAQ

我查了postfix 的手册,根本没这个选项
以下是原文

15,Q:如何禁止postfix对客户端IP作反向域名解析?
A:以root用户身份登录
postconf -e disable_client_dns_lookup = 1
postfix reload

论坛徽章:
1
荣誉版主
日期:2011-11-23 16:44:17
7 [报告]
发表于 2003-05-23 14:59 |只看该作者

[原创]Red Hat Postfix中文FAQ

原帖由 "yayong" 发表:
我查了postfix 的手册,根本没这个选项
以下是原文

15,Q:如何禁止postfix对客户端IP作反向域名解析?
A:以root用户身份登录
postconf -e disable_client_dns_lookup = 1
postfix reload


你是看的那一个手册??
帖出来看一下。

论坛徽章:
0
8 [报告]
发表于 2003-05-23 16:01 |只看该作者

[原创]Red Hat Postfix中文FAQ

1. /etc/postfix下面的  main.cf.deafult里面没有这一项设置


2.grep post-2.0.9里的源代码目录没发现


而其他项配置都是可以在src目录里grep出来的

论坛徽章:
1
荣誉版主
日期:2011-11-23 16:44:17
9 [报告]
发表于 2003-05-26 11:57 |只看该作者

[原创]Red Hat Postfix中文FAQ

原帖由 "yayong" 发表:
1. /etc/postfix下面的  main.cf.deafult里面没有这一项设置


2.grep post-2.0.9里的源代码目录没发现


而其他项配置都是可以在src目录里grep出来的


呵呵,可能新的版本里改了吧,我查查看~~

论坛徽章:
0
10 [报告]
发表于 2003-05-29 21:09 |只看该作者

[原创]Red Hat Postfix中文FAQ

看看我写的吧,你那些太肤浅
Postfix配置文件main.cf中常用参数介绍
外发域配置
 

参数:

myorigin

说明:

myorigin参数用于指定该服务器使用哪个域名来外发邮件。

缺省的情况下myorigin采用本机主机名称(与参数myhostname相同)。

建议:在很小的网络中,采用缺省配置。而在Internet中,我们建议你保持myorigin与mydomain参数相同。也就是说采用该服务器所在的域名称。

例如:

myorigin = $myhostname (缺省)
myorigin = $mydomain (推荐)
 

接收域配置

参数:

mydestination

说明:

用于指定该服务器的使用哪个域名来接收邮件。

我们建议,系统安装好后,尽量不要改动这个参数。

例如:

缺省设置:
mydestination = $myhostname localhost.$mydomain

广泛设置:
mydestination = $myhostname localhost.$mydomain $mydomain

多DNS设置:
mydestination = $myhostname localhost.$mydomain www.$mydomain ftp.$mydomain

转发限定

参数:

mynetworks
relay_domains
mydestination

说明:

转发限定在邮件系统中非常重要。C-Link为客户缺省配置了最安全的转发限定参数。

与转发限定的参数有很多:主要请参看mynetworks、relay_domains、mydestination。

系统故障报告配置

参数:

notify_classes

说明:

该参数用于告知系统,在哪种情况下用哪种方式通知用户。

可以选择的参数类型有:

bounce 邮件原封不动弹回;

2bounce 将双份弹回邮件发送给Postmaster;

delay 将拖延的邮件的头部信息通知Postmaster;

policy 将被系统过滤掉的信息通知Postmaster;

protocol 将协议错误信息通知Postmaster;

resource 将因系统资源短缺而投递失败的信息通知Postmaster;

software 将因软错误而投递失败的信息通知Postmaster.


例如:
缺省:
notify_classes = resource, software

主机名配置

参数:

myhostname

说明:

myhostname参数用于描述运行C-Link系统的服务器所符合规则的域名全称。在许多UNIX系统中,C-Link会自动检测出正确的名称。但在某些操作系统中需要手工配置,如TurboLinux。

例如:

myhostname = host.local.domain (local hostname is not FQDN)
myhostname = host.virtual.domain (virtual interface)
myhostname = virtual.domain (virtual interface)

原始域配置

参数:

mydomain

说明:

系统自己检测。暂不开放。

系统内部网络子网配置

参数:

mynetworks_stype

mynetworks

说明:

mynetworks_stype用于设定邮件系统内部子网的限制情况。通常情况下设定为subnet。在单机情况下设置为host.

设定的子网内部,邮件可以开放式转发。这对于配置邮件集群很有作用。但要小心使用,防止将邮件系统设置为OPEN RELAY。

例如:

mynetworks_style = subnet

mynetworks_style = host

 

mynetworks = 168.100.189.0/28, 127.0.0.0/8
 

统内部网络地址配置

参数:

inet_interfaces

说明:

inet_interfaces用于指定特定的网络地址。

系统保留,暂不开放。

例如:

inet_interfaces = all

inet_interfaces = virtual.host.name (virtual domain)

inet_interfaces = $myhostname localhost.$mydomain (non-virtual mailer)
 

进程限制

参数:

default_process_limit

说明:

用于限定SMTP服务的最大同时连接数量。缺省为50。根据服务器配置及操作系统的不同,可以做非常宽限的配置。

例如:

default_process_limit = 1024

本地同时同址分发限制

参数:

local_destination_concurrency_limit
 

说明:

系统保留,暂不开放。

例如:

local_destination_concurrency_limit = 2
 

缺省同时同址分发限制

参数:

default_destination_concurrency_limit
 

说明:

系统保留,暂不开放。

例如:

default_destination_concurrency_limit = 10

队列重发周期

参数:

queue_run_delay

说明:

用于设定队列处理程序对拖延邮件的扫描周期。

缺省为1000秒。

例如:

queue_run_delay = 1000

最长队列生命期

参数:

maximal_queue_lifetime

说明:

用于设定队列处理程序对滞留邮件的最长保存期。

缺省为5天。

例如:

maximal_queue_lifetime = 5

最小投递失败周期

参数:

minimal_backoff_time

说明:

用于设定队列处理程序对无法投递的邮件的最短巡回时间。

缺省为1000秒。

例如:

minimal_backoff_time= 1000

最长投递失败周期

参数:

maximal_backoff_time

说明:

用于设定队列处理程序对无法投递的邮件的最长巡回时间。

缺省为4000秒。

例如:

maximal_backoff_time= 4000

错误命令缓冲时间

参数:

smtpd_error_sleep_time

说明:

当SMTP服务端口接收到非法的命令时,系统将缓冲处理的时间间隔。

这个参数对于防止恶意攻击非常有效。

例如:

smtpd_error_sleep_time = 5

smtpd_error_sleep_time =0

软错误容忍次数

参数:

smtpd_soft_error_limit

说明:

SMTP服务所允许的软错误次数。这个参数对于防止恶意攻击非常有效。

缺省10次。

例如:

smtp_soft_error_limit = 5

硬误容忍次数

参数:

smtpd_hard_error_limit

说明:

SMTP服务所允许的硬错误次数。这个参数对于防止恶意攻击非常有效。

缺省100次。

例如:

smtp_hard_error_limit = 100

邮件头部过滤

参数:

header_checks

说明:

用于过滤邮件的头部信息。

例如:

header_checks = regexp:/wdpost/filter/header_checks

文件header_checks内容遵循完全的regexp强大的字符串语法匹配规则。

如,/^to: *friend@public\.com$/ REJECT

SMTP连接控制过滤

参数:

smtpd_client_restrictions

说明:

smtpd_client_restrictions 参数的功能非常强大。它可以对连接到C-Link邮件服务器的各种客户端以及其他服务器进行限制。

该参数有以下的选项可以灵活配置设定。

reject_unknown_client 拒绝不能IP反向解析的地址;

permit_mynetworks 允许子网中的连接;

check_client_access maptype:mapname 检测在mapname文件中设定的规则;

reject_maps_rbl拒绝符合rbl行为条件的连接。

reject_unauth_pipelining 拒绝为认证的管道连接。

 

 

缺省状态下,该参数不做设定。

例如:

smtpd_client_restrictions =

HELO握手要求控制过滤

参数:

smtpd_helo_required

说明:

设定C-Link邮件系统是否在SMTP连接时必须进行HELO或EHLO握手。

缺省为不需要。

例如:
smtpd_helo_required = no

HELO握手主机控制过滤

参数:

smtpd_helo_restrictions

说明:

当HELO握手必须时。该参数用于验证握手信息是否符合要求。

可以选择的参数有:

reject_invalid_hostname 拒绝错误的hostname。

permit_naked_ip_address 拒绝裸IP地址。

reject_unknown_hostname 拒绝为被DNS A或MX纪录指定的域名。

reject_non_fqdn_hostname 拒绝不符合域名规则的域名。

check_helo_access maptype:mapname 根据mapname中设定的信息限制。



RFC821类型信封地址控制过滤

参数:

strict_rfc821_envelopes

说明:

设定C-Link系统是否必须只接受符合RFC821所定义的负荷规则的邮件地址。
 

缺省为no.

例如:

strict_rfc821_envelopes = yes



发信人地址限定过滤

参数:

smtpd_sender_restrictions =

说明:

设定发信人地址必须符合的规则。确实为任意。

可以设定为以下参数:

reject_unknown_sender_domain 拒绝为没有DNS A或MX纪录的发信人域名。

check_sender_access maptype:mapname 根据mapname文件中的规则设定。

reject_non_fqdn_sender 拒绝不符合规则的发信人地址。



收信人地址限定过滤

参数:

smtpd_recipient_restrictions

说明:

设定特殊的发信人地址参数限制。

可以选择的参数有:

check_relay_domains 检测转发域。

permit_auth_destination 允许经过认证的目的地。

reject_unauth_destination 拒绝为经过认证的目的地。

permit_mx_backup 允许反查询MX主机名称。

check_recipient_access maptype:mapname 根据mapname文件中设定的规则限制。

reject_unknown_recipient_domain 拒绝转发到没有DNS A或MX纪录的域名。

reject_non_fqdn_recipient 拒绝不符合规则的转发目标。

reject_unknown_sender_domain 拒绝没有IP反解析纪录的发件人域名。



ETRN命令限定过滤

系统保留,不开放。

反垃圾邮件组织过滤

参数:

maps_rbl_domains

说明:

这是一个非常有特色的反垃圾邮件功能。这个参数通常设定为

maps_rbl_domains = blackholes.mail-abuse.org

如果RBL lookup打开,系统回自动与全球著名的反垃圾邮件组织mail-abuse进行同步。组织来自mail-abuse所列举的不安全的电子邮件服务器。

在缺省状态下这个功能是关闭的。

SMTP对话行长度限定过滤

参数:

line_length_limit

说明:

设定SMTP所接受的最长字符行的长度。

缺省为2048字节。



邮件头部长度限定过滤

参数:

header_size_limit


说明:

设定SMTP所接受的最长邮件头部信息的长度。

缺省为102400字节

收件人数量限定过滤

参数:

extract_recipient_limit

说明:

限制扩展的收件人数量限制。这通常用于防止采用"sendmail -t"的方式来进行的攻击行为。



邮件长度限定过滤

参数:

message_size_limit

说明:

这个参数很重要。用于限定系统所接受的最大的单封邮件长度。

缺省为10240000 字节。

例如:

message_size_limit = 20480000

弹回邮件长度过滤

参数:

bounce_size_limit

说明:

这个参数非常重要,用于设定弹回的最大邮件尺寸。

缺省为50000 字节。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP