首页 新闻 会员 周边

linux sendmail配置 哪里有问题?

0
悬赏园豆:50 [已关闭问题] 关闭于 2013-06-05 11:09

目标

要实现的功能为:

在目标机中用sendmail搭建邮件服务器,目标机内部可通过user1@linux.comuser1@mail.linux.com互相收发邮件,宿主机也可与目标机间通过该方式互相收发邮件。

注:所有操作在root权限下完成。

 

宿主机及目标机相关信息

2.1宿主机相关信息

2.1.1操作系统

XP3

 

2.1.2 IP信息

Ethernet adapter 本地连接:

        IP Address. . . . . . . . . . . . : 192.168.1.2

        Subnet Mask . . . . . . . . . . . : 255.255.255.0

        Default Gateway . . . . . . . . . : 192.168.1.1

 

2.2目标机相关信息

2.2.1操作系统

Fefora 9

 

2.2.2主机名(hostname)

mail.linux.com

 

2.2.3域名(domainname)

linux.com

 

2.2.4 IP信息

ifconfig:

inet addr:192.168.1.254

Bcast:192.168.1.255

Mask:255.255.255.0

 

2.2.5目标机用于测试的用户及密码

user1 123456

user2 123456

 

2.2.6 其他

目标机为虚拟机,操作系统为Fefora 9

宿主机与目标机通过Bridge方式连接,通信正常(ping)

 

目标机配置

3.1 配置文件ifcfg-eth1(/etc/sysconfig/network-scripts/ifcfg-eth1)[静态IP]

# Advanced Micro Devices [AMD] 79c970 [PCnet32 LANCE]

DEVICE=eth1

BOOTPROTO=none

NETMASK=255.255.255.0

IPADDR=192.168.1.254

USERCTL=yes

PEERDNS=yes

IPV6INIT=no

NM_CONTROLLED=yes

GATEWAY=192.168.1.1

TYPE=Ethernet

HWADDR=00:0c:29:37:fb:6a

ONBOOT=no

 

3.2 配置文件network(/etc/sysconfig/network)[设置主机名]

NETWORKING=yes

HOSTNAME=mail.linux.com

 

3.3 配置文件local-host-names(/etc/mail/local-host-names)[设置主机别名,便支持user1@linux.com的形式]

mail.linux.com

linux.com

 

3.4 配置文件sendmail.mc(/etc/mail/sendmail.mc)[sendmail配置相关文件,uncomment并适当修改]

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

define(`confAUTH_MECHANISMS', `EXTERNAL GSSAPI DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')dnl

DAEMON_OPTIONS(`Port=smtp,Addr=0.0.0.0, Name=MTA')dnl

DAEMON_OPTIONS(`Port=submission, Name=MSA, M=Ea')dnl

FEATURE(`accept_unresolvable_domains')dnl

dnl # 以下与域名相关

dnl LOCAL_DOMAIN(`localhost.localdomain')dnl

LOCAL_DOMAIN(`linux.com')dnl

dnl MASQUERADE_AS(`mydomain.com')dnl

MASQUERADE_AS(`linux.com')dnl

dnl MASQUERADE_DOMAIN(localhost)dnl

dnl MASQUERADE_DOMAIN(localhost.localdomain)dnl

dnl MASQUERADE_DOMAIN(mydomainalias.com)dnl

dnl MASQUERADE_DOMAIN(mydomain.lan)dnl

MASQUERADE_DOMAIN(localhost)dnl

MASQUERADE_DOMAIN(localhost.localdomain)dnl

MASQUERADE_DOMAIN(linux.com)dnl

 

修改后通过m4生成/etc/mail/sendmail.cf配置文件:

m4 sendmail.mc > sendmail.cf

 

3.5 配置文件access(/etc/mail/access)[sendmail配置相关文件,添加相关内容]

Connect:localhost.localdomain RELAY

Connect:localhost   RELAY

Connect:127.0.0.1   RELAY

Connect:linux.com   RELAY # added

Connect:192.168.254   RELAY # added

 

修改后通过makemap生成/etc/mail/access.db文件:

makemap hash access.db < access

 

3.6 配置文件dovecot.conf(/etc/dovecot.conf)[sendmail配置相关文件,配置使用的协议]

protocols = imap imaps pop3 pop3s

 

3.7 配置文件named.conf(/etc/named.conf)[DNS配置相关文件,添加相关域]

zone "linux.com" IN {

type master;

file "linux.com.zone";

};

 

zone "1.168.192.in-addr.arpa" IN {

type master;

file "1.168.192.in-addr.arpa.zone";

};

 

3.8 配置文件linux.com.zone(/var/named/chroot/var/named/linux.com.zone)[DNS配置相关文件,正向解析,主要添加MX记录]

$TTL 86400

@   IN   SOA   mail.linux.com.   root.linux.com. (

              20130423; serial

              3H ; refresh

              15M ; retry

              1W ; expire

              1D ) ; minunum

@   IN   NS      mail.linux.com.

@   IN   MX   5   mail.linux.com.

mail   IN  A      192.168.1.254

www  IN  CNAME   mail

 

配置完成后创建符号连接:

ln -s /var/named/chroot/var/named/linux.com.zone /var/named/linux.com.zone

 

3.9 配置文件1.168.192.in-addr.arpa.zone(/var/named/chroot/var/named/1.168.192.in-addr.arpa.zone)[DNS配置相关文件,反向解析]

$TTL 86400

@   IN   SOA   1.168.192.in-addr.arpa.zone.     root.linux.com. (

              20130423; serial

              3H ; refresh

              15M ; retry

              1W ; expire

              1D ) ; minunum

@     IN    NS      mail.linux.com.

@     IN    MX   5  mail.linux.com.

254  IN     PTR     mail.linux.com.

254  IN   PTR     www.linux.com.

 

配置完成后创建符号连接:

ln  -s  /var/named/chroot/var/named/1.168.192.in-addr.arpa.zone  /var/named/1.168.192.in-addr.arpa.zone

 

3.10 配置文件hosts(/etc/hosts)[DNS配置相关文件,配置主机名和IP地址的对应关系,把主机名映射到IP地址]

127.0.0.1   localhost.localdomain   localhost

::1    localhost6.localdomain6    localhost6

192.168.1.254    mail.linux.com    mail # added

# 127.0.0.1    mail.linux.com     mail # added 有次测试中,要添加此记录才可用hostnslookup等测试通过,不添加则不能通过,后来过一会加上这条记录也不行了

 

3.11 配置文件host.conf(/etc/host.conf)[DNS配置相关文件,配置DNS解析顺序及相关参数]

order hosts,bind

 

3.12 配置文件resolv.conf(/etc/resolv.conf)[DNS配置相关文件,域名解析配置文件]

# Generated by NetworkManager

domain linux.com 主机域名

search linux.com 搜索列表

nameserver 192.168.1.254 # DNS服务器IP

 

重启各服务

service network restart

service named restart

service dovecot restart

service sendmail restart

service saslauthd restart

 

现象

5.1 域名解析

ping 192.168.1.254  ; ping本机,测试通过

ping 192.168.1.2  ; ping宿主机,测试通过

ping mail.linux.com  测试通过

ping www.linux.com  提示unknown host www.linux.com

 

host mail.linux.com ; ;; connection time out; no servers could be reached

host www.linux.com 同上

至此,没必要再用nsloopup继续测试,应该DNS解析有问题,但是不知道哪里出了问题。

 

5.2 收发邮件

5.2.1 发送(本地用户user1向本地用户user2发送)[省略输出信息]

telnet 192.168.1.254 25

helo mail.linux.com

mail from:user1@linux.com

rcpt to:user2@linux.com

data

hello user2, this is a test message from user1.

.

quit

说明:发送后邮件并未投递出去,而是保存在了发送队列里(/var/spool/mqueue/目录下),查看user2的信箱(/var/spool/mail/user2),未收到相关邮件。

 

5.2.2 接收(本地用户user2读取新邮件)[省略输出信息]

telnet 192.168.1.254 110

user user2

pass 123456

list ; 查看邮件列表,为0

; retr 1 ; 收取邮件

quit

说明:user2未能收到邮件。

 

6. 疑惑

哪里出了问题???

 

goooogs的主页 goooogs | 初学一级 | 园豆:64
提问于:2013-04-24 17:48
< >
分享
所有回答(0)
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册