学习Linux打卡计划(第十六天)

不羁的心 提交于 2020-10-05 13:54:50

使用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服务程序支持的电子邮件协议修改为imappop3lmtp然后在这一行下面添加一行参数,允许用户使用明文进行密码验证:

  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$)。


dddb42b1f86f99d84d3b0b0fec17a17.jpg


易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!