xq8995209 发表于 2015-11-25 12:40:31

linux sendmail配置 哪里有问题?

1 目标
要实现的功能为:
在目标机中用sendmail搭建邮件服务器,目标机内部可通过user1@linux.com或user1@mail.linux.com互相收发邮件,宿主机也可与目标机间通过该方式互相收发邮件。
注:所有操作在root权限下完成。

2 宿主机及目标机相关信息
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 目标机配置
3.1 配置文件ifcfg-eth1(/etc/sysconfig/network-scripts/ifcfg-eth1)[静态IP等]
# Advanced Micro Devices 79c970
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)配置相关文件,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)配置相关文件,添加相关内容]
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)配置相关文件,配置使用的协议]
protocols = imap imaps pop3 pop3s

3.7 配置文件named.conf(/etc/named.conf)配置相关文件,添加相关域]
zone &quot;linux.com&quot; IN {
type master;
file &quot;linux.com.zone&quot;;
};

zone &quot;1.168.192.in-addr.arpa&quot; IN {
type master;
file &quot;1.168.192.in-addr.arpa.zone&quot;;
};

3.8 配置文件linux.com.zone(/var/named/chroot/var/named/linux.com.zone)配置相关文件,正向解析,主要添加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   INA      192.168.1.254
wwwINCNAME   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)配置相关文件,反向解析]
$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.
254IN   PTR     mail.linux.com.
254IN   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)配置相关文件,配置主机名和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 有次测试中,要添加此记录才可用host、nslookup等测试通过,不添加则不能通过,后来过一会加上这条记录也不行了

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

3.12 配置文件resolv.conf(/etc/resolv.conf)配置相关文件,域名解析配置文件]
# Generated by NetworkManager
domain linux.com # 主机域名
search linux.com # 搜索列表
nameserver 192.168.1.254 # DNS服务器IP

4 重启各服务
service network restart
service named restart
service dovecot restart
service sendmail restart
service saslauthd restart

5 现象
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. 疑惑
哪里出了问题???
  
  
页: [1]
查看完整版本: linux sendmail配置 哪里有问题?