中小型企业的Sendmail邮件服务器应用实例企业邮箱的发件服务器




中小型企业的Sendmail邮件服务器应用实例企业邮箱的发件服务器

2022-07-20 20:33:52 网络知识 官方管理员

简介:本文旨在介绍如何利用Linux服务器上的sendmail构建中小型企业的邮件服务器

我们假定该企业采用专线接入Internet,有两台Linux服务器(Redhat6.1)

一台作为防火墙直接接入Chinanet,是通向Internet的唯一出入口,同时也作为

DNS/SMTP服务器,且申请了域名domain.com,由该防火墙服务器(DNS服务器)

对域domain.com进行解析。另一台邮件服务器是在内部网段运行,完全与外部

世界无关。作为内部局域网上用户的收/发邮件服务器。

地址:假定防火墙Linux服务器的永久外部地址为a.b.c.d(eth0),内部网卡地址

192.168.11.5(eth1),机器名为firewall.domain.com,内部的邮件服务器地址为

192.168.11.1,机器名为mail.domain.com,且注册域时填写的主机名为

dns.domain.com(a.b.c.d).

思路:先配置DNS服务器,用来解析@domain.com的域名,并指明MX记录到内部邮件

主机mail.domain.com.把这台防火墙仅作为mailrelay主机,任何从外部

世界发往@domain.com域的邮件均由它处理且relay到内部邮件主机,仅接受

@domain.com后缀的邮件进入,这样阻止了spammer发送垃圾邮件。

在内部邮件服务器上,配置Sendmail的DS部分为firewall.domain.com,任何

发往非内部员工的邮件直接送往firewall.domain.com,且设置domain.com为

本地域,任何发往@domain.com域的邮件被内部别名处理并送往内部各用户的

邮件缓冲池中。

旅行用户的考虑:

若公司员工出差在外需从公司的服务器接收邮件,一种方法是直接拨当地ISP,

然后设置接收邮件服务器为mail.domain.com,但要求mail.domain.com在外地

被解析成防火墙的外部永久地址,这样再在防火墙上设置plug-gw代理,代理

任何到防火墙外部地址的110端口的请求到内部192.168.11.1的110端口。

另一种方法,也可以再建一服务器为Linux拨入服务器,直接拨到公司来接收

邮件。

重点:Sendmail的各项配置及相关设置

一:防火墙上的Sendmail配置:

我们采用RedhatLinux6.1加Sendmail8.9.3作为操作环境:

安装操作系统和防火墙的配置略,建议采用3c905b或者Intelpro100的网卡,先配置DNS。

设置/etc/named.conf象这样:

============

zone"."{

typehint;

file"named.ca";

};

zone"0.0.127.in-addr.arpa"{

notifyno;

typemaster;

file"127.0.0";

};

zone"11.168.192.in-addr.arpa"{

notifyno;

typemaster;

file"192.168.11";

};

zone"domain.com"{

notifyno;

typemaster;

file"domain.com";

};

文件192.168.11象下面这样:

@INSOAdns.domain.com.root.mail.domain.com.(

1999092201864003600360000086400)

NSdns.domain.com.

1PTRmail.domain.com.

5PTRfirewall.domain.com.

文件domain.com象下面这样:

@INSOAdns.domain.com.root.mail.domain.com.(

1999120401864003600360000086400)

NSdns.domain.com.

Aa.b.c.d

MX10mail.domain.com.

firewallAa.b.c.d

mailAa.b.c.d

dnsAa.b.c.d

加下面的行到/etc/hosts

192.168.11.1mail.domain.commail

192.168.11.5firewall.domain.comfirewall

============

下面配置Sendmail,首先要先创建一个用来生成/etc/sendmail.cf的sendmail.mc文件,

在Redhat安装的过程中有一个默认地redhat.mc在/usr/lib/sendmail-cf/cf目录下。

我们修改为如下:

===========

divert(-1)

dnlThisisthemacroconfigfileusedtogeneratethe/etc/sendmail.cf

dnlfile.Ifyoumodifytheifileyouwillhavetoregeneratethe

dnl/etc/sendmail.cfbyrunningthismacroconfigthroughthem4

dnlpreprocessor:

dnl

dnlm4/etc/sendmail.mc>/etc/sendmail.cf

dnl

dnlYouwillneedtohavethesendmail-cfpackageinstalledforthisto

dnlwork.

include(`../m4/cf.m4')

define(`confDEF_USER_ID',``8:12'')

OSTYPE(`linux')

undefine(`UUCP_RELAY')

undefine(`BITNET_RELAY')

define(`confAUTO_REBUILD')

define(`confTO_CONNECT',`1m')

define(`confTRY_NULL_MX_LIST',true)

define(`confDONT_PROBE_INTERFACES',true)

define(`PROCMAIL_MAILER_PATH',`/usr/bin/procmail')

define(`ALIAS_FILE',`/etc/mail/aliases')

FEATURE(`smrsh',`/usr/sbin/smrsh')

FEATURE(`mailertable',`hash-o/etc/mail/mailertable')

FEATURE(`virtusertable',`hash-o/etc/mail/virtusertable')

FEATURE(`domaintable',`hash-o/etc/mail/domaintable')

FEATURE(redirect)

FEATURE(always_add_domain)

FEATURE(use_cw_file)

FEATURE(local_procmail)

MAILER(procmail)

MAILER(smtp)

FEATURE(`access_db')

FEATURE(`blacklist_recipients')

dnlWestronglyrecommendtocommentthisoneoutifyouwanttoprotect

dnlyourselffromspam.However,thelaptopandusersoncomputersthatdo

dnlnothav24x7DNSdoneedthis.

dnlFEATURE(`accept_unresolvable_domains')

dnlFEATURE(`relay_based_on_MX')

=============

然后用m4redhat.mc>sendmail.cf生成sendmail.cf放到/etc目录下。且做如下操作:

1.更改/etc/sendmail.cf中Fw定义为Fw/etc/mail/sendmail.cw

并创建一个空文件sendmail.cw(#touch/etc/mail/sendmail.cw)

2.更改/etc/mail/mailertable象下面这样:

domain.comrelay:[192.168.11.1]

并运行makemaphash/etc/mail/mailertable.db


发表评论:

最近发表
网站分类
标签列表