发信服务器验证,搭建smtp + pop3服务器实验笔记(sendmail + dovecot) by Alin

PDF下载:

pdf.gif文件:搭建smtp_pop3服务器_sendmail_dovecot_实验笔记(第二次修改).pdf

大小:375KB

下载:

搭建smtp

+ pop3服务器实验笔记(sendmail

+ dovecot)

撰写者信息:

Alin Fang (Fang

Yunlin)

MSN:

G

Talk:

修改日期:

12 Nov, 2008

第2次修改

版权:

GNU

声明:

本人实验笔记,非权威文档。如有错误请告知。十分感谢!

实验环境

fqdn: mail.apple.com

OS: Red Hat Enterprise Linux 5 update

2

network: 192.169.200.1/24

/etc/resolve.conf配置为

nameserver

192.168.200.1

fqdn: mail.orange.com

OS: Red Hat Enterprise Linux 5 update

2

network: 192.169.200.2/24

/etc/resolve.conf配置为

nameserver

192.168.200.1

fqdn: client1.apple.com

OS: Red Hat Enterprise Linux 5 update

2

network: 192.169.200.3/24

/etc/resolve.conf配置为

nameserver

192.168.200.1

fqdn: client1.orange.com

OS: Red Hat Enterprise Linux 5 update

2

network: 192.169.200.4/24

/etc/resolve.conf配置为

nameserver

192.168.200.1

目标

在mail.apple.com上搭建smtp服务器

在mail.orange.com上搭建smtp服务器

client1.apple.com通过mail.apple.com向mail.orange.com上的用户user1发送信件

client1.orange.com通过mail.orange.com向mail.apple.com上的用户user1发送信件

流程概述

发信客户端把邮件交给发信服务器

发信服务器通过查看/etc/mail/local-host-names判断邮件是否属于本域,如果是,则扣押下来以备对应的用户查阅,如果不是,则向DNS查询该邮件所属区域的MX记录,向该邮件服务器传递邮件。这个时候其实是发信服务器在向目标发送邮件,而不是发信客户端直接向目标发送邮件。

uid-20615443-id-1613578.html

实验步骤

在mail.apple.com上操作

配置DNS

安装相关RPM包

[root@mail

Server]# pwd

/misc/cd/Server

[root@mail

Server]# rpm -ivh bind-9.3.4-6.P1.el5.i386.rpm

bind-chroot-9.3.4-6.P1.el5.i386.rpm

caching-nameserver-9.3.4-6.P1.el5.i386.rpm

warning:

bind-9.3.4-6.P1.el5.i386.rpm: Header V3 DSA signature: NOKEY, key ID

37017186

Preparing...

########################################### [100%]

1:bind

########################################### [ 33%]

2:bind-chroot

########################################### [ 67%]

3:caching-nameserver

########################################### [100%]

[root@mail

Server]#

配置BIND

[root@mail

Server]# cd /var/named/chroot/etc/

[root@mail

etc]# mv named.caching-nameserver.conf named.conf

[root@mail

etc]# mv named.rfc1912.zones named.zones

[root@mail

etc]#

修改named.conf和named.zones配置

配置如下

named.conf:

acl

"mynet" { 192.168.200.0/24; };

options

{

listen-on

port 53 { 127.0.0.1; mynet; };

listen-on-v6

port 53 { ::1; };

directory

"/var/named";

dump-file

"/var/named/data/cache_dump.db";

statistics-file

"/var/named/data/named_stats.txt";

memstatistics-file

"/var/named/data/named_mem_stats.txt";

query-source

port 53;

query-source-v6

port 53;

allow-query

{ localhost; mynet; };

};

logging

{

channel

default_debug {

file

"data/named.run";

severity

dynamic;

};

};

view

localhost_resolver {

match-clients

{ localhost; mynet; };

match-destinations

{ localhost; };

recursion

yes;

include

"/etc/named.zones";

};

named.zones:

zone

"." IN {

type

hint;

file

"named.ca";

};

zone

"localdomain" IN {

type

master;

file

"localdomain.zone";

allow-update

{ none; };

};

zone

"apple.com" IN {

type

master;

file

"apple.com.zone";

allow-update

{ none; };

};

zone

"orange.com" IN {

type

master;

file

"orange.com.zone";

allow-update

{ none; };

};

zone

"200.168.192.in-addr.arpa" IN {

type

master;

file

"200.168.192.rzone";

allow-update

{ none; };

};

zone

"localhost" IN {

type

master;

file

"localhost.zone";

allow-update

{ none; };

};

zone

"0.0.127.in-addr.arpa" IN {

type

master;

file

"named.local";

allow-update

{ none; };

};

zone

"0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.ip6.arpa"

IN {

type

master;

file

"named.ip6.local";

allow-update

{ none; };

};

zone

"255.in-addr.arpa" IN {

type

master;

file

"named.broadcast";

allow-update

{ none; };

};

zone

"0.in-addr.arpa" IN {

type

master;

file

"named.zero";

allow-update

{ none; };

};

配置zone的正解和反解

[root@mail

etc]# cd ../var/named/

[root@mail

named]# pwd

/var/named/chroot/var/named

[root@mail

named]# ls

data

localhost.zone named.ca named.local slaves

localdomain.zone

named.broadcast named.ip6.local named.zero

[root@mail

named]# cp localdomain.zone apple.com.zone

[root@mail

named]# cp localdomain.zone orange.com.zone

[root@mail

named]# cp named.local 200.168.192.rzone

[root@mail

named]# ll

total

48

-rw-r-----

1 root root 426 Nov 11 22:05 200.168.192.rzone

-rw-r-----

1 root root 198 Nov 11 22:05 apple.com.zone

drwxrwx---

2 named named 4096 Aug 26 2004 data

-rw-r-----

1 root named 198 Feb 29 2008 localdomain.zone

-rw-r-----

1 root named 195 Feb 29 2008 localhost.zone

-rw-r-----

1 root named 427 Feb 29 2008 named.broadcast

-rw-r-----

1 root named 1892 Feb 29 2008 named.ca

-rw-r-----

1 root named 424 Feb 29 2008 named.ip6.local

-rw-r-----

1 root named 426 Feb 29 2008 named.local

-rw-r-----

1 root named 427 Feb 29 2008 named.zero

-rw-r-----

1 root root 198 Nov 11 22:05 orange.com.zone

drwxrwx---

2 named named 4096 Jul 27 2004 slaves

[root@mail

named]# chown root.named apple.com.zone orange.com.zone

200.168.192.rzone

[root@mail

named]# ll

total

48

-rw-r-----

1 root named 426 Nov 11 22:05 200.168.192.rzone

-rw-r-----

1 root named 198 Nov 11 22:05 apple.com.zone

drwxrwx---

2 named named 4096 Aug 26 2004 data

-rw-r-----

1 root named 198 Feb 29 2008 localdomain.zone

-rw-r-----

1 root named 195 Feb 29 2008 localhost.zone

-rw-r-----

1 root named 427 Feb 29 2008 named.broadcast

-rw-r-----

1 root named 1892 Feb 29 2008 named.ca

-rw-r-----

1 root named 424 Feb 29 2008 named.ip6.local

-rw-r-----

1 root named 426 Feb 29 2008 named.local

-rw-r-----

1 root named 427 Feb 29 2008 named.zero

-rw-r-----

1 root named 198 Nov 11 22:05 orange.com.zone

drwxrwx---

2 named named 4096 Jul 27 2004 slaves

[root@mail

named]#

修改apple.com.zone

这是我的apple.com.zone配置

$TTL

86400

@

IN SOA localhost root (

42

; serial (d. adams)

3H

; refresh

15M

; retry

1W

; expiry

1D

) ; minimum

IN

NS localhost

@

IN MX 5 mail

localhost

IN A 127.0.0.1

mail

IN A 192.168.200.1

client1

IN A 192.168.200.3

修改orange.com.zone

这是我的orange.com.zone配置

$TTL

86400

@

IN SOA localhost root (

42

; serial (d. adams)

3H

; refresh

15M

; retry

1W

; expiry

1D

) ; minimum

IN

NS localhost

@

IN MX 5 mail

localhost

IN A 127.0.0.1

mail

IN A 192.168.200.2

client1

IN A 192.168.200.4

修改200.168.192.rzone

这是我的200.168.192.rzone配置

$TTL

86400

@

IN SOA localhost. root.localhost. (

1997022700

; Serial

28800

; Refresh

14400

; Retry

3600000

; Expire

86400

) ; Minimum

IN

NS localhost.

1

IN PTR mail.apple.com.

2

IN PTR mail.orange.com.

3

IN PTR client1.apple.com.

4

IN PTR client1.orange.com.

启动DNS服务

[root@mail

named]# service named restart

Stopping

named: [ OK ]

Starting

named: [ OK ]

[root@mail

named]# chkconfig --level 35 named on

[root@mail

named]#

修改/etc/resolv.conf,指定DNS服务器为自己

这个是我的/etc/resolv.conf配置

[root@mail

named]# cat /etc/resolv.conf

nameserver

192.168.200.1

[root@mail

named]#

测试DNS查询

[root@mail

named]# nslookup -type=MX apple.com

Server:

192.168.200.1

Address:

192.168.200.1#53

apple.com

mail exchanger = 5 mail.apple.com.

[root@mail

named]# nslookup -type=MX orange.com

Server:

192.168.200.1

Address:

192.168.200.1#53

orange.com

mail exchanger = 5 mail.orange.com.

[root@mail

named]# nslookup mail.apple.com

Server:

192.168.200.1

Address:

192.168.200.1#53

Name:

mail.apple.com

Address:

192.168.200.1

[root@mail

named]# nslookup mail.orange.com

Server:

192.168.200.1

Address:

192.168.200.1#53

Name:

mail.orange.com

Address:

192.168.200.2

[root@mail

named]# nslookup 192.168.200.1

Server:

192.168.200.1

Address:

192.168.200.1#53

1.200.168.192.in-addr.arpa

name = mail.apple.com.

[root@mail

named]# nslookup 192.168.200.2

Server:

192.168.200.1

Address:

192.168.200.1#53

2.200.168.192.in-addr.arpa

name = mail.orange.com.

[root@mail

named]#

安装配置sendmail

[root@mail

named]# rpm -q sendmail

sendmail-8.13.8-2.el5

[root@mail

named]# rpm -q sendmail-cf

package

sendmail-cf is not installed

[root@mail

named]# cd /misc/cd/Server

[root@mail

Server]# rpm -ivh sendmail-cf-8.13.8-2.el5.i386.rpm

warning:

sendmail-cf-8.13.8-2.el5.i386.rpm: Header V3 DSA signature: NOKEY,

key ID 37017186

Preparing...

########################################### [100%]

1:sendmail-cf

########################################### [100%]

[root@mail

Server]#

这里面提供了sendmail的配置以及工具。

修改sendmail.conf

允许sendmail监听所有主机的请求

DAEMON_OPTIONS(`Port=smtp,Addr=127.0.0.1,

Name=MTA')dnl

改为

DAEMON_OPTIONS(`Port=smtp,Addr=0.0.0.0,

Name=MTA')dnl

启用发信验证功能

dnl

TRUST_AUTH_MECH(`EXTERNAL DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')dnl

dnl

define(`confAUTH_MECHANISMS', `EXTERNAL GSSAPI DIGEST-MD5 CRAM-MD5

LOGIN PLAIN')dnl

改为

TRUST_AUTH_MECH(`EXTERNAL

DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')dnl

define(`confAUTH_MECHANISMS',

`EXTERNAL GSSAPI DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')dnl

生成新的sendmail.cf

[root@mail

mail]# m4 sendmail.mc > sendmail.cf

[root@mail

mail]#

这里可以用service

sendmail restart替代m4

sendmail.mc > sendmail.cf

因为/etc/init.d/sendmail脚本里面已经有了m4

sendmail.mc > sendmail.cf这一个操作了。

编辑/etc/mail/access

设置允许RELAY发信的域

这个是我的/etc/mail/access的配置

Connect:localhost.localdomain

RELAY

Connect:localhost

RELAY

Connect:127.0.0.1

RELAY

Connect:apple.com

RELAY

重新生成access.db

[root@mail

mail]# makemap hash access.db < access

确认access

.db是否被更新

[root@mail

mail]# strings access.db

RELAY

connect:localhost.localdomain

RELAY

connect:apple.com

RELAY

connect:127.0.0.1

RELAY

connect:localhost

[root@mail

mail]#

配置/etc/mail/local-host-names

local-host-names指明哪些域的邮件的目的地就是本sendmail服务器要给保存下来。

这个是我的/etc/mail/local-host-names配置

apple.com

mail.apple.com

重启sendmail服务器重新加载配置

开启发信验证服务

[root@mail

~]# service saslauthd restart

Stopping

saslauthd: [FAILED]

Starting

saslauthd: [ OK ]

[root@mail

~]#

安装配置dovecot

安装dovecot

[root@mail

Server]# rpm -vih dovecot-1.0.7-2.el5.i386.rpm

mysql-5.0.45-7.el5.i386.rpm postgresql-libs-8.1.11-1.el5_1.1.i386.rpm

perl-DBI-1.52-1.fc6.i386.rpm

warning:

dovecot-1.0.7-2.el5.i386.rpm: Header V3 DSA signature: NOKEY, key ID

37017186

Preparing...

########################################### [100%]

1:perl-DBI

########################################### [ 25%]

2:mysql

########################################### [ 50%]

3:postgresql-libs

########################################### [ 75%]

4:dovecot

########################################### [100%]

[root@mail

Server]#

配置dovecot

修改/etc/dovecot.conf

#protocols

= imap imaps pop3 pop3s

改为

protocols

= pop3

启动dovecot

[root@mail

Server]# service dovecot restart

Stopping

Dovecot Imap: [FAILED]

Starting

Dovecot Imap: [ OK ]

[root@mail

Server]# chkconfig --level 35 dovecot on

[root@mail

Server]# netstat -ntpal | grep dovecot

tcp

0 0 :::110 :::*

LISTEN 14013/dovecot

[root@mail

Server]#

配置mail.orange.com

不用配置DNS,DNS指向192.168.200.1即可

安装与配置方法与mail.apple.com一模一样

为了不浪费版面,我只贴出操作方法和配置

安装配置sendmail

[root@mail

cd]# cd Server/

[root@mail

Server]# pwd

/misc/cd/Server

[root@mail

Server]# rpm -ivh sendmail-cf-8.13.8-2.el5.i386.rpm

warning:

sendmail-cf-8.13.8-2.el5.i386.rpm: Header V3 DSA signature: NOKEY,

key ID 37017186

Preparing...

########################################### [100%]

1:sendmail-cf

########################################### [100%]

[root@mail

Server]# cd /etc/mail

修改/etc/mail/sendmail.conf

[root@mail

mail]# vim sendmail.mc

DAEMON_OPTIONS(`Port=smtp,Addr=127.0.0.1,

Name=MTA')dnl

改为

DAEMON_OPTIONS(`Port=smtp,Addr=0.0.0.0,

Name=MTA')dnl

启用发信验证功能

dnl

TRUST_AUTH_MECH(`EXTERNAL DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')dnl

dnl

define(`confAUTH_MECHANISMS', `EXTERNAL GSSAPI DIGEST-MD5 CRAM-MD5

LOGIN PLAIN')dnl

改为

TRUST_AUTH_MECH(`EXTERNAL

DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')dnl

define(`confAUTH_MECHANISMS',

`EXTERNAL GSSAPI DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')dnl

编辑/etc/mail/access为

Connect:localhost.localdomain

RELAY

Connect:localhost

RELAY

Connect:127.0.0.1

RELAY

Connect:orange.com

RELAY

编辑/etc/mail/local-host-names为

orange.com

mail.orange.com

使配置生效

[root@mail

mail]# service sendmail restart

Shutting

down sm-client: [ OK ]

Shutting

down sendmail: [ OK ]

Starting

sendmail: [ OK ]

Starting

sm-client: [ OK ]

[root@mail

mail]# strings access.db

RELAY

connect:localhost.localdomain

RELAY

connect:orange.com

RELAY

connect:127.0.0.1

RELAY

connect:localhost

[root@mail

mail]# netstat -ntpal | grep sendmail

tcp

0 0 0.0.0.0:25 0.0.0.0:*

LISTEN 3564/sendmail: acce

[root@mail

mail]#

开启发信验证服务

[root@mail

~]# service saslauthd restart

Stopping

saslauthd: [FAILED]

Starting

saslauthd: [ OK ]

[root@mail

~]#

安装配置dovecot

安装dovecot

[root@mail

Server]# rpm -vih dovecot-1.0.7-2.el5.i386.rpm

mysql-5.0.45-7.el5.i386.rpm postgresql-libs-8.1.11-1.el5_1.1.i386.rpm

perl-DBI-1.52-1.fc6.i386.rpm

warning:

dovecot-1.0.7-2.el5.i386.rpm: Header V3 DSA signature: NOKEY, key ID

37017186

Preparing...

########################################### [100%]

1:perl-DBI

########################################### [ 25%]

2:mysql

########################################### [ 50%]

3:postgresql-libs

########################################### [ 75%]

4:dovecot

########################################### [100%]

[root@mail

Server]#

配置dovecot

修改/etc/dovecot.conf

#protocols

= imap imaps pop3 pop3s

改为

protocols

= pop3

启动dovecot

[root@mail

Server]# service dovecot restart

Stopping

Dovecot Imap: [FAILED]

Starting

Dovecot Imap: [ OK ]

[root@mail

Server]# chkconfig --level 35 dovecot on

[root@mail

Server]# netstat -ntpal | grep dovecot

tcp

0 0 :::110 :::*

LISTEN 14013/dovecot

[root@mail

Server]#

在mail.apple.com上操作

添加邮件用户user1

[root@mail

mail]# useradd --shell /sbin/nologin user1

[root@mail

mail]# passwd user1

Changing

password for user user1.

New

UNIX password:

BAD

PASSWORD: it is based on a dictionary word

Retype

new UNIX password:

passwd:

all authentication tokens updated successfully.

[root@mail

mail]#

在mail.orange.com上操作

添加邮件用户user1

[root@mail

mail]# useradd --shell /sbin/nologin user1

[root@mail

mail]# passwd user1

Changing

password for user user1.

New

UNIX password:

BAD

PASSWORD: it is based on a dictionary word

Retype

new UNIX password:

passwd:

all authentication tokens updated successfully.

[root@mail

mail]#

测试

请按照实验环境设置好DNS!

在client1.apple.com上发信

uid-20615443-id-1613578.html

uid-20615443-id-1613578.html

在client1.orange.com上收信

uid-20615443-id-1613578.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值