判官007 发表于 2015-11-25 13:55:05

配置 sendmail 服务器

一、实验的目的
    了解邮件的收发原理和配置的过程,掌握基本配置和操作


二、实验环境
(一)VMware 下虚拟机 192.168.233.3/24,安装了 sendmail 和 Bind 9。
(二)Windows 下安装了 Foxmail。




三、实验过程(学生补充完整的细节并作简要的解释)
(一)建立名称服务器
mail.gr.org 192.168.233.3
mail.gr.org 同时是DNS服务器和收件主机。支持正向解析和反向解析。




# vi /etc/named.conf
      1、
       root@localhost root]# vi /etc/named.conf
       添加下面的信息
       zone "gr.org" IN {
               type master;
               file "gr.org.db";
               allow-update { none;};
       };


       zone "233.168.192.in-addr.arpa" IN{
             type master;
             file "233.168.192.db";
       };


       2、
      # cat > /var/named/gr.org.db
            $TTL 86400
            @   IN   SOA      ns.gr.org. root.gr.org. (
               20150218 6H 30M 1W 15M)
            @   IN   NS       ns.gr.org.
            @   IN   MX   10mail.gr.org.
            bbs   IN   CNAME    www.gr.org.
            ns    IN   A      192.168.233.2
            www   IN   A      192.168.233.2
            mailIN   A      192.168.233.3
            
         3、
          # cat > /var/named/233.168.192.db


          $TTL 86400
          @   IN   SOA      ns.gr.org. root.gr.org.(
          20150218 6H 30M 1W 15M)
            IN NS ns.gr.org.
          2 IN PTR ns.gr.org.
          2 IN PTR www.gr.org.
          3 IN PTR mail.gr.org.


          4、重启服务
          # rndc reload


          5、开始验证 正向解析和反向解析。
          # cat > /etc/resolv.conf
          nameserver 192.168.233.3


          # nslookup -sil 192.168.233.3
          Server:         192.168.233.3
          Address:      192.168.233.3#53


          3.233.168.192.in-addr.arpa      name = mail.gr.org.


          # nslookup -silmail.gr.org.
          Server:         192.168.233.3
          Address:      192.168.233.3#53


          Name:   mail.gr.org
          Address: 192.168.233.3


# rpm -q sendmail
sendmail-8.12.8-4


sendmail已经安装


(二)配置 sendmail.mc
1、监听网段:
DAEMON_OPTIONS(`Port=smtp,Addr=0.0.0.0,Name=MTA')dnl


       # vi /etc/mail/sendmail.mc
       按: 输入 /127.0.0.1 搜索   ,修改后如下:
       DAEMON_OPTIONS(`Port=smtp,Addr=0.0.0.0, Name=MTA')dnl


2、本地域名:
LOCAL_DOMAIN(`gr.org')dnl


       # vi /etc/mail/sendmail.mc
       按: 输入 /LOCAL_DOMAIN 搜索   ,修改后如下:
       LOCAL_DOMAIN(`gr.org')dnl


3、开启认证:
DAEMON_OPTIONS(`Port=submission,Name=MSA,M=Ea')dnl
TRUST_AUTH_MECH(`EXTERNAL DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')dnl
define(`confAUTH_MECHANISMS',`EXTERNAL GSSAPI DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')dnl


       # vi /etc/mail/sendmail.mc
      DAEMON_OPTIONS(`Port=submission,Name=MSA,M=Ea')dnl
      TRUST_AUTH_MECH(`EXTERNAL DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')dnl
      define(`confAUTH_MECHANISMS',`EXTERNAL GSSAPI DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')dnl


      把上面的前面的dnl去掉(注意要把它们顶到行首,否则可能出错)


4、转换
# m4 /etc/mail/sendmail.mc > /etc/mail/sendmail.cf


       # m4 /etc/mail/sendmail.mc > /etc/mail/sendmail.cf


5、重启 sendmail 服务。


       # service sendmail restart
       关闭 sendmail:                                          [确定]
       关闭 sm-client:                                           [确定]
       启动 sendmail:                                          [确定]
       启动 sm-client:                                           [确定]




(三)设置访问控制
在 /etc/mail/access 尾部添加:
192.168.233.0/24 RELAY
gr.org RELAY
mail.gr.org RELAY
生成访问数据库i
#makemap -r hash /etc/mail/access.db < /etc/mail/access


       # cat >> /etc/mail/access
       192.168.233.0/24 RELAY
       gr.org RELAY
       mail.gr.org RELAY


      # makemap -r hash /etc/mail/access.db < /etc/mail/access


(四)设置收件域
编辑文件 /etc/mail/local-host-names,内容为:
gr.org
mail.gr.org


      root@localhost named]# vi /etc/mail/local-host-names
      gr.org
      mail.gr.org


(五)建立用户
添加用户 stu,wuji,huji
      
      # useradd huji-s /sbin/nologin
      # passwd huji
      Changing password for user huji.
      New password:
      BAD PASSWORD: it is based on a dictionary word
      Retype new password:
      passwd: all authentication tokens updated successfully.


      # useradd wuji -s /sbin/nologin
      # passwd wuji
      Changing password for user stu1.
      New password:
      BAD PASSWORD: it is based on a dictionary word
      Retype new password:
      passwd: all authentication tokens updated successfully.


      # useradd stu -s /sbin/nologin
      # passwd stu
      Changing password for user stu1.
      New password:
      BAD PASSWORD: it is based on a dictionary word
      Retype new password:
      passwd: all authentication tokens updated successfully.


      # servicesendmailrestart
      关闭 sendmail:                                          [确定]
      关闭 sm-client:                                           [确定]
      启动 sendmail:                                          [确定]
      启动 sm-client:                                           [确定]


(六)Windows Foxmail 客户端
Foxmail 中添加帐号 wuji@gr.org 和 huji@gr.org,邮件类型 POP3。
wuji 发信, huji 收信。


       1)、 在Linux端把相关的端口开启


      # chkconfig --list ipop3
      ipop3         关闭
      # chkconfig ipop3 on
      # service xinetd restart
      停止 xinetd:                                              [确定]
      启动 xinetd:                                              [确定]


      2)、 设置VMnet8的DNS服务器为 192.168.233.3


      3) 、 在Windows Foxmail 客户端,新建帐号,在里面邮件账号和密码分别输入wuji@gr.org和wuji123
          按“创建”,过一段时候会弹出 “新建帐号”,看里面的 接收服务器类型 、 POP服务器 、SMTP服务器
          以及 相应的邮件账号和密码 是否正确。确认后按“创建”,就成功添加帐号 wuji@gr.org
          同理可以再添加帐号 huji@gr.org


      4)、在wuji那里,按“写邮件”,在 收件人 填上 “huji@gr.org”,主题 填上 “Hello”,
         内容填上“Hellohuji”。最后按“发送”即可发送邮件。


      5)右键huji,点击“收取”,就可以接收邮件。在收件箱那里可以查看。


       效果如下:


       wuji@gr.org
       发给 huji
                           详细信息2015-05-13 13:12


       hello,huji
       wuji@gr.org




四、实验的体会


    中间过程,忘了把里面一些的命令顶到前面,导致配置出现无效的行,害我重新装过系统。后面学会先备份好系统以后好通过克隆来快速恢复,和修改之前要备份一下文件,以后好恢复。一系列操作之后还是在 Foxmail 客户端新建帐号卡住,回头看了很多次都没错。直到第二天才发现我漏了一下笔记没看,打开相关的端口,就成功创建了。太粗心。
页: [1]
查看完整版本: 配置 sendmail 服务器