使用postfix和dovecot部署邮件系统
电子邮件系统基于邮件协议来完成电子邮件的传输,常见的邮件协议有:
简单邮件传输协议(Simple Mail Transfer Protocol,SMTP):用于发送和中转发出 的电子邮件,占用服务器的 25/TCP 端口。
邮局协议版本 3(Post Office Protocol 3):用于将电子邮件存储到本地主机,占用服 务器的 110/TCP 端口。
Internet 消息访问协议版本 4(Internet Message Access Protocol 4):用于在本地主 机上访问邮件,占用服务器的 143/TCP 端口。
邮件系统包含MUA、MDA、MTA:
邮件用户代理(MUA):为用户收发邮件的服务器。
邮件投递代理(MDA):保存用户邮件的“信箱”服务器。
邮件传输代理(MTA:):转发处理不同电子邮件服务供应商之间的邮件。
Postfix 是一款由 IBM 资助研发的免费开源电子邮件服务程序,能够很好地兼容 Sendmail服务程序,可以方便 Sendmail 用户迁移到 Postfix 服务上。Postfix 服务程序的邮件收发能力强于 Sendmail 服务,而且能自动增加、减少进程的数量来保证电子邮件系统的高性能与稳定性。
配置 Postfix 服务程序:
1.安装 Postfix 服务程序:yum install postfix
2.配置 Postfix 服务程序:vim /etc/postfix/main.cf
3.创建电子邮件系统的登录账户:useradd haha
在Postfix 服务程序的主配置文件中,要修改 5 处:
1.在第 76 行定义一个名 为 myhostname 的变量,用来保存服务器的主机名称:myhostname = mail.linuxprobe.com
2.在第 83 行定义一个名为 mydomain 的变量,用来保存邮件域的名称: mydomain = linuxprobe.com
3.在第 99 行调用前面的 mydomain 变量,用来定义发出邮件的域: myorigin = $mydomain
4.在第 116 行定义网卡监听地址。可以指定要使用服务器的哪些 IP 地址对外提供电子邮件服务:inet_interfaces = all
5.在第 164 行定义可接收邮件的主机名或域名列表。这里可以直接调用前面定义好的 myhostname 和 mydomain 变量(如果不想调用变量,也可以直接调用变量中的值):
mydestination = $myhostname , $mydomain
Dovecot 是一款能够为 Linux 系统提供 IMAP 和 POP3 电子邮件服务的开源服务程序,安全性极高,配置简单,执行速度快,而且占用的服务器硬件资源也较少,是一款收件服务程序。
配置 Dovecot 服务程序:
1.安装 Dovecot 服务程序软件包:yum install dovecot
2.配置部署 Dovecot 服务程序:vim /etc/dovecot/dovecot.conf
在Dovecot服务程序的主配置文件中进行如下修改。首先是第24行,把Dovecot服务程序支持的电子邮件协议修改为imap、pop3和lmtp。然后在这一行下面添加一行参数,允许用户使用明文进行密码验证:
protocols = imap pop3 lmtp
disable_plaintext_auth = no
在主配置文件中的第 48 行,设置允许登录的网段地址,在限制只有来自于某个网段的用户才能使用电子邮件系统:login_trusted_networks = 192.168.10.0/24
3.配置邮件格式与存储路径: vim /etc/dovecot/conf.d/10-mail.conf
在 Dovecot 服务程序单独的子配置文件中,定义一个路径,用于指定要将收到的邮件存放到服务器本地的哪个位置。这个路径默认已经定义好了,将该配置文件中第 24 行前面的井号(#)删除即可:mail_location = mbox:~/mail:INBOX=/var/mail/%u
4.切换到配置 Postfix 服务程序时创建的haha账户,并在家目录中建立用于保存邮件的目录:
su - boss
mkdir -p mail/.imap/INBOX
exit
5.重启 Dovecot 服务并将其添加到开机启动项中:
systemctl restart dovecot
systemctl enable dovecot
使用squid部署代理缓存服务
Squid 是 Linux 系统中最为流行的一款高性能代理服务软件,通常用作 Web 网站的前置缓存服务,能够代替用户向网站服务器请求页面数据并进行缓存。简单来说,Squid服务程序会按照收到的用户请求向网站源服务器请求页面、图片等所需的数据,并将服务器返回的数据存储在运行 Squid 服务程序的服务器上。当有用户再请求相同的数据时,则可以直接将存储服务器本地的数据交付给用户,这样不仅减少了用户的等待时间,还缓解了网站服务器的负载压力。
Squid 服务程序具有配置简单、效率高、功能丰富等特点,它能支持 HTTP、FTP、SSL 等多种协议的数据缓存,可以基于访问控制列表(ACL)和访问权限列表(ARL)执行内容过滤与权限管理功能,还可以基于多种条件禁止用户访问存在威胁或不适宜的网站 资源,因此可以保护企业内网的安全,提升用户的网络体验,帮助节省网络带宽。
代理模式:正向代理和反向代理
正向代理:让用户通过Squid服务程序获取网站页面等资源,以及基于访问控制列表(ACL)功能对用户访问网站行为进行限制,在具体的服务方式上又分为标准代理模式与透明代理模式。
反向代理:让多台节点主机反向缓存网站数据,从而加快用户访问速度。(把一部分原本向网站源服务器发起的用户请求交给 Squid 服务器缓存节点来处理)
正向代理:标准模式和透明模式
标准模式:把网站数据缓存到服务器本地,提高数据资源被再次访问时的效率,但是用户在上网时必须在浏览器等软件中填写代理服务器的IP地址与端口号信息,否则默认不使用代理服务。
透明模式:作用与标准正向代理模式基本相同,区别是用户不需要手动指定代理服务器的 IP 地址与端口号,所以这种代理服务对于用户来讲是相对透明的。
配置Squid服务:
安装squid服务程序软件包:yum install squid
默认端口号:3128、3401、4827
主配置文件: /etc/squid/squid.conf
Squid 服务程序的访问控制列表(ACL):可以根据指定的策略条件来缓存数据或限制用户的访问。(RHEL7中的Squid暂不支持使用https协议的网站)
1.只允许 IP 地址为 192.168.10.20 的客户端使用服务器上的 Squid 服务程序提供的代理服务,禁止其余所有的主机代理请求(acl client src 192.168.10.20)。
2.禁止所有客户端访问网址中包含 linux 关键词的网站( acl deny_keyword url_regex -i linux)。
3.禁止所有客户端访问某个特定的网站( acl deny_url url_regex http://www.linuxcool.com)。
4.禁止员工在企业网内部下载带有某些后缀的文件,如:禁止所有用户访问.rar 或.avi 等后缀文件的请求(acl badfile urlpath_regex -i \.rar$ \.avi$)。
来源:oschina
链接:https://my.oschina.net/u/4405936/blog/4303395