设为首页 收藏本站
查看: 1494|回复: 0

[经验分享] LINUX SENDMAIL服务器的搭建 (一)

[复制链接]

尚未签到

发表于 2015-11-25 15:20:00 | 显示全部楼层 |阅读模式
  

  对于linux本人估计连新手都不算,就当初听过简单的东西,自己平常也不用,最近想要学点东西,就是关于sendmail服务器搭建,由于对这里不熟悉,也只能是通过查资料,
  

  所以此篇文章只针对和我一样的小小菜鸟作为入门,也希望看到此文的大牛进行提携、同是菜鸟的朋友共同探讨。。。
  

  

  要搞邮件之前得大概知道一个入门的东西,可能这个东西对真正的搭建起不了太大的作用,但是也算是一个基础知识吧。SMTP协议即简单邮件传输协议,在整个电子邮件系统中,大概有两处用到SMTP。
  一:发送邮件的MUA与MTA建立连接并发送邮件。
  二:MTA之间也是用SMTP进行电子邮件的转发。
  MUA:MAIL USER AGENT ,电子邮件系统的构成之一,即接受用户输入的各种指令,将用户的邮件发送至MTA或者通过POP3、IMAP协议将邮件从MTA取到本机,常见额MUA有FOXMAIL,OUTLOOK等。邮件客户端程序。
  
  MTA:MAIL TRANSFER AGENT,即用于收发邮件的程序,一般称为邮件代理。

  MUA与MTA的关系:邮件服务器—MTA—MUA—MTA—邮件服务器
  SMTP的通信过程如下:
  (1)客户端通过3次握手与服务器(通常是TCP25端口)建立一个TCP连接,然后等待服务器发送220READY FOR MAIL。
  (2)客户端在收到220保温后,发送HELO命令。
  (3)服务器以250please to meet you 响应,表示一切正常。
  (4)客户端以MAIL命令开始电子邮件的交互,在MAIL命令中,有一个“From:”字段,用于在出错时通知发件人。
  (5)服务器收到MAIL命令后,发送250OK作为响应,表示一切正常。
  (6)MAIL命令成功后,客户端就可以讲收信人的地址告诉服务器,这是用一连串的RCPT命令实现的。
  (7)服务器接收到每个RCPT命令后,发送250OK作为响应,表示正确接收,或者发送550 No such user here 作为响应,表示没有这个用户。
  (8)客户端的RCPT命令得到正确响应猴,就可以用DATA命令发送数据。
  (9)服务器接收到DATA命令后,发送354 start mail input:end with "." on a line by itself。
  (10)客户端此时可以输入信件的内容,并以单行的句号作为结束。
  (11)服务器发送250OK表示信息发送成功。
  (12)客户端请求断开连接。
  (13)服务器断开连接。
  

  上面简单的介绍了一下这些东西,下面开始sendmail服务器的搭建。
  (一)DNS的配置
  1)首先确定 sendmail、bind、nameserver、dovecot包是否安装好。
  2)把虚拟机当做mail server,本机当做client,确定mail server和clinet是否处于同一网段,如果不处于同一网段进行修改。
  下图是我的client和server的ip配置。
  client
   DSC0000.gif DSC0001.gif

  server
   DSC0002.gif

  

  server的ip配置有几种方式,我是通过setup进行配置,这里就不想写说了,或者修改/etc/sysconfig/network-scripts/ifcfg-eth0。配置完成以后重启服务service netword restart
  3)进入到/var/named/chroot/etc/下配置named.conf,如果没有named.conf文件,则copy一份命名为此进行修改。
   cp -p named.caching-nameserver.conf named.conf 如下图:
   DSC0003.gif

  
  directory       "/var/named";
zone文件的存放目录,指的是chroot环境下面的/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";
每一次访问耗费多少内存的存放文件
allow-query     { any; };
       允许查询的客户端,any 表示任何人;
allow-query-cache { any; };
       允许那些客户端来查询缓存,any表示允许任何人

  ps:接着两个zone,指定dns以及反向查询域,我们同时可以在directory下加一行:forwarders {202.96.134.133;}forwarders参数指明了其后的ip所  在的服务器作为备选的dns服务器。也就是说,把本机的dns不能解析的主机发送到这个备选的dns服务器上,让它来进行解析。
  

  4)下面配置两个zone文件,位置为:/var/named/chroot/var/named/
  cp -p localhost.zone  kobe.com
  cp -p localhost.zone 180.64.10.in-addr.arpa
  具体配置如下图:
  kobe.com

   DSC0004.gif

  180.64.10.in-addr.arpa
  
   DSC0005.gif

  Serial配置文件的修改版本
  refresh 刷新频率
  retry 重试时间
  expire 过期时间
  SOA 指的是授权起始,后面接着写你的dns服务器的主机名,这里是“kobe.com.”。(注意,主机名称后面的小圆点。凡是出现在记录文件了的主机名,记得       都要加上这各小圆点。)NS 是名称服务器资源记录,指明域中的名称服务器,这里就是dns服务器,且一个NS可以对应多个例:如下图
  
       MX是邮件交换者资源记录,指明这个域的邮件服务器。你可以     写多个MX记录,指明多个邮件服务器,优先级别由MX后的数字决定,数字越小,邮件服务    器优先权越高。A是主机记录,把主机和ip地址对应起来。CNAME是别      名记录,它赋予一个主机不同的名称。@表示当前授权域名。A指的是     Address
  

  
       5)下面指定当前主机的dns服务器,vi /etc/resolv.conf具体配置如图,最多可以指定3个nameserver。

      DSC0006.gif
  

      6)上述配置完成以后检验配置的是否正确:
  

  

    
  如果报错检查配置文件,没有报错,配置成功重启named服务:service named restart。如果启动没有问题,则通过,我初次配置的时候出现了一个问题:
  1.找不到zone文件,原因是可能对文件夹的错误理解,zone文件放错位置,切记,zone文件放的是/var/named/chroot/var/named中。
  

       7)上述步骤没有问题,用nslookup命令进行测试:如下图
     
   此处可能遇到2个问题,至少我是遇到了2个问题,下面说下解决办法:
    1.server failed 。查看tail /var/log/messages,查看错误信息,我当时是因为权限不够无法打开zone文件。
    2.no answer。此原因就是因为配置不正确了。找不到dns
  

  

  目前来说DNS配置完毕,后继的sendmail server的配置看下一篇文章。
  

  

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

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-143522-1-1.html 上篇帖子: Linux安装Sendmail 下篇帖子: Could not find action or result: /SendMail/servlet/UploadServlet
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表