[RHEL5企业级Linux服务攻略]--第5季 Sendmail服务全攻略之常规配置

简介:
1.Sendmail服务软件包
sendmail-8.13.8-2.el5.i386.rpm:sendmail服务的主程序包,服务器端必须安装该软件包。 
sendmail-cf-8.13.8-2.el5.i386.rpm:sendmail宏文件包 
sendmail-devel-8.13.8-2.el5.i386.rpm:sendmail服务器开发工具软件包 
sendmail-doc-8.13.8-2.el5.i386.rpm:sendmail服务器的说明文档 
m4-1.4.5-3.el5.1.i386.rpm:宏处理过虑软件包 
dovecot-1.0-1.2.rc15.el5.i386.rpm:接收邮件软件包,安装时需要注意安装顺序
2.Sendmail相关配置文档
sendmail.cf:sendmail核心配置文件,位于/etc/mail/sendmail/sendmail.cf
sendmail.mc:sendmail提供sendmail文件模板,通过编辑此文件后再使用m4工具将结果导入sendmail.cf完成配置sendmail核心配置文件,降低配置复杂度,位于/etc/mail/sendmail.mc
local-host-name:定义收发邮件服务器的域名和主机别名,位于/etc/mail/local-host-name
access.db:用来设置sendmail服务器为哪些主机进行转发邮件,位于/etc/mail/access.db
aliases.db:用来定义邮箱别名,位于/etc/mail/aliases.db
virtusertable.db:用来设置虚拟账户,位于/etc/mail/virtusertable.db
3.邮件功能组件
MUA:邮件用户代理(Mail User Agent)
MTA:邮件传输代理(Mail Transfer Agent)
MDA:邮件递送代理(Mail Delivery Agent)
4.Sendmail常规服务器配置
搭建Sendmail服务器流程:
(1)配置sendmail.mc文件
(2)使用m4工具将sendmail.mc文件导入sendmail.cf文件
(3)配置local-host-names文件
(4)建立用户帐号
(5)重新启动服务使配置生效
Sendmail应用案例1:
局域网网段:192.168.8.0/24
企业域名:redking.com
DNS及Sendmail服务器地址:192.168.8.1
sendmail服务是和DNS服务结合相当紧密的一个服务,所以我们在配置sendmail之前,需要设置并调试好DNS服务器(DNS配置请参考上季 [RHEL5企业级Linux服务攻略]--第4季 DNS服务全攻略),DNS配置中设置MX资源记录指定邮件服务器地址。
(1)配置DNS主配置文件named.conf
image
(2)配置redking.com区域文件
使用MX记录设置邮件服务器,这条记录一定要有,否则Sendmail无法正常工作。
image
(3)配置redking.com反向区域文件
image
(4)修改DNS域名解析的配置文件
vim /etc/resolv.conf
image
(5)重启named服务使配置生效
image
(6)安装Sendmail软件包
RHEL5默认安装 sendmail-8.13.8-2.el5m4-1.4.5-3.el5.1软件包,我们只需要安装sendmail-cf-8.13.8-2.el5宏文件包就可以了。
image
(7)编辑sendmail.mc修改SMTP侦听网段范围
配置邮件服务器需要更改IP地址为公司内部网段或者0.0.0.0,这样可以扩大侦听范围(通常都设置成0.0.0.0),否则邮件服务器无法正常发送邮件。
vim /etc/mail/sendmail.mc
第116行将smtp侦听范围从127.0.0.1改为0.0.0.0
image
第155行修改成自己域: LOCAL_DOMAIN(`redking.com')dnl
image
使用m4命令生成sendmail.cf文件,其实sendmail.mc即是一个模板文件哈~
m4 /etc/mail/sendmail.mc > /etc/mail/sendmail.cf
image
(8)修改local-host-names文件添加域名及主机名
vim /etc/mail/local-host-names
image
 (9)安装Dovecot软件包(POP3和IMAP)
到这里sendmail服务器基本配置完成后,Mail Server就可以完成邮件发送工作,如果需要使用POP3和IMAP协议接收邮件还需要安装dovecot软件包。在rhel5里dovecot整合了IMAP。
安装dovecot软件包要解决其依赖性,安装 per-DBI-1.52-1.fc6.i386.rpmmysql-5.0.22-2.1.0.1.i386.rpm
  image
(10)启动Sendmail服务
service sendmail restart和service dovecot restart命令启动sendmail和dovecot服务,如果每次开机启动,可以使用chkconfig命令修改。
image
(11)测试端口
使用netstat命令测试是否开启SMTP的25端口、POP3的110端口及IMAP的143端口。
image
也可以使用netstat -ntla
image
(12)验证Sendmail的SMTP认证功能
telnet localhost 25 后输入 ehlo localhost验证Sendmail的SMTP认证功能
telnet localhost 110
image
telnet mail.redking.com 25
image
telnet mail.redking.com 110
image
(13)建立用户
image
(14)客户端测试
image
image
  image
image
Sendmail应用案例2:
公司采用两个网段和两个域来分别管理内部员工
team1.redking.com域采用192.168.10.0/24网段
team2.redking.com域采用192.168.20.0/24网段
DNS及Sendmail服务器地址:192.168.8.1
要求:
(1)员工可以自由收发内部邮件并且能够通过邮件服务器往外网发信。
(2)设置两个邮件群组team1和team2,确保发送给team1的邮件“team1.redking.com”域成员都可以收到,同理哈,发送给team2的邮件“team2.redking.com”域成员都可以收到。
(3)禁止待客室的主机192.168.10.88使用Sendmail服务器。
需求分析:
要求(1)中设置员工自由收发内部邮件可以参考 Sendmail应用案例1 去设置哈,如果需要邮件服务器把邮件发到外网需要设置access文件。
要求(2)需要别名设置来实现群发功能。
要求(3)需要在access文件中拒绝(REJECT)192.168.10.88
image
因实验原因:由senmail邮件服务器代替路由器功能哈~
image
配置实战:
(1)配置DNS服务
配置DNS主配置文件named.conf
image
配置redking.com.zone区域文件
image 
配置8.168.192.in-addr.arpa.zone反向区域文件
image
配置team1.redking.com.zone区域文件
image
配置10.168.192.in-addr.arpa.zone反向区域文件
image
配置team2.redking.com.zone区域文件
image
配置20.168.192.in-addr.arpa.zone反向区域文件
image
(2)修改DNS域名解析的配置文件
vim /etc/resolv.conf
image
(3)重启named服务使配置生效
image
(4)安装Sendmail软件包
RHEL5默认安装 sendmail-8.13.8-2.el5m4-1.4.5-3.el5.1软件包,我们只需要安装sendmail-cf-8.13.8-2.el5宏文件包就可以了。
image
(5)编辑sendmail.mc修改SMTP侦听网段范围
配置邮件服务器需要更改IP地址为公司内部网段或者0.0.0.0,这样可以扩大侦听范围(通常都设置成0.0.0.0),否则邮件服务器无法正常发送邮件。
vim /etc/mail/sendmail.mc
第116行将smtp侦听范围从127.0.0.1改为0.0.0.0
image
第155行修改成自己域: LOCAL_DOMAIN(`redking.com')dnl
image
使用m4命令生成sendmail.cf文件,其实sendmail.mc即是一个模板文件哈~
m4 /etc/mail/sendmail.mc > /etc/mail/sendmail.cf
image
(6)修改local-host-names文件添加域名及主机名
vim /etc/mail/local-host-names
image
(7)群发邮件设置
vim /etc/aliases
aliases文件语法格式:
真实用户帐号:别名1,别名2
image
使用newaliases命令生成aliases.db数据库文件
image
(8)配置访问控制的access文件
在RHEL5中,默认Sendmail服务器所在的主机的用户可以任意发送邮件,而不需要任何身份验证,即注意/etc/mail/access文件中有一行Connect: 127.0.0.1 RELAY
image
生成access数据库文件
makemap hash access.db > access 
image
(9)安装Dovecot软件包(POP3和IMAP)
到这里sendmail服务器基本配置完成后,Mail Server就可以完成邮件发送工作,如果需要使用POP3和IMAP协议接收邮件还需要安装dovecot软件包。在rhel5里dovecot整合了IMAP。
安装dovecot软件包要解决其依赖性,安装 per-DBI-1.52-1.fc6.i386.rpmmysql-5.0.22-2.1.0.1.i386.rpm
  image
(10)启动Sendmail服务
service sendmail restart和service dovecot restart命令启动sendmail和dovecot服务,如果每次开机启动,可以使用chkconfig命令修改。
image
(11)测试端口
使用netstat -ntla命令测试是否开启SMTP的25端口、POP3的110端口及IMAP的143端口。
image
(12)建立用户
image
(13)客户端测试
192.168.8.0/24网段测试
image
image
  image
群发测试
  image
image
image 
  192.168.10.0/24网段测试
image
在服务器端可以看到team1组成员邮箱已经收到192.168.8.0/24网段中michael用户发的邮件。下面我们在192.168.10.0/24网段接收测试下~~~ 
image
正常接收群发邮件
image
下面由team1.redking.com区域向team2.redking.com用户成员群发邮件~~~
image
成功发送~~
image
下面team2成员用户应该收到两个封邮件
  192.168.20.0/24网段测试
服务器端状态:
image
客户端状态:
image
image
待客室主机192.168.10.88测试
最后我们测试禁止待客室的主机192.168.10.88使用Sendmail服务器
image
image
192.168.10.88主机不能使用Sendmail邮件功能
image
将受限的IP地址192.168.10.88换成其他不受限制的IP地址就可以将这原本不能发送的邮件发送出去了~~~
image
##########################华丽分割线############################
本季讲解了[RHEL5企业级Linux服务攻略]--第5季 Sendmail服务全攻略之常规配置,下季更新[RHEL5企业级Linux服务攻略]--第5季 Sendmail服务全攻略之高级配置哈,敬请期待哈~~~0(^-^)0






本文转自redking51CTO博客,原文链接:http://blog.51cto.com/redking/134173 ,如需转载请自行联系原作者
相关实践学习
基于函数计算快速搭建Hexo博客系统
本场景介绍如何使用阿里云函数计算服务命令行工具快速搭建一个Hexo博客。
相关文章
|
7天前
|
安全 Ubuntu Java
Linux配置使用篇
Linux配置使用篇
|
19天前
|
存储 负载均衡 索引
linux7安装elasticsearch-7.4.0集群配置
linux7安装elasticsearch-7.4.0集群配置
108 0
|
7天前
|
网络协议 Linux
在Linux中,管理和配置网络接口
在Linux中管理网络接口涉及多个命令,如`ifconfig`(在新版本中被`ip`取代)、`ip`(用于网络设备配置)、`nmcli`(NetworkManager的CLI工具)、`nmtui`(文本界面配置)、`route/ip route`(处理路由表)、`netstat/ss`(显示网络状态)和`hostnamectl/systemctl`(主机名和服务管理)。这些命令帮助用户启动接口、设置IP地址、查看连接和路由信息。不同发行版可能有差异,建议参考相应文档。
17 4
|
17天前
|
网络协议 Linux 网络安全
Linux服务器DNS服务器配置实现bind的正向解释和反向解释
Linux服务器DNS服务器配置实现bind的正向解释和反向解释
17 0
|
7天前
|
Web App开发 Linux 网络安全
工作中常用到的Linux命令
工作中常用到的Linux命令
|
7天前
|
Web App开发 Java Linux
Linux之Shell基本命令篇
Linux之Shell基本命令篇
Linux之Shell基本命令篇
|
4天前
|
NoSQL Linux Shell
常用的 Linux 命令
常用的 Linux 命令
25 9
|
19小时前
|
网络协议 Ubuntu Linux
Linux 下 TFTP 服务搭建及 U-Boot 中使用 tftp 命令实现文件下载
Linux 下 TFTP 服务搭建及 U-Boot 中使用 tftp 命令实现文件下载
|
23小时前
|
Linux Go
Linux命令Top 100驱动人生! 面试必备
探索Linux命令不再迷茫!本文分10部分详解20个基础命令,带你由浅入深掌握文件、目录管理和文本处理。 [1]: <https://cloud.tencent.com/developer/article/2396114> [2]: <https://pan.quark.cn/s/865a0bbd5720> [3]: <https://yv4kfv1n3j.feishu.cn/docx/MRyxdaqz8ow5RjxyL1ucrvOYnnH>
8 0
|
3天前
|
缓存 运维 监控
Linux系统监控利器:探索常用命令及数据保存技巧
Linux系统监控利器:探索常用命令及数据保存技巧
23 4
Linux系统监控利器:探索常用命令及数据保存技巧