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 [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 有次测试中,要添加此记录才可用 host 、 nslookup 等测试通过,不添加则不能通过,后来过一会加上这条记录也不行了
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
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、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网 享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com