第16课 Postfix&Dovecot和Squid

贴有道云笔记链接:http://note.youdao.com/noteshare?id=bfcaec45e2be96b71d5ab80ef66933d4

 

部署邮件系统

Postfix发送邮件(以前有一个sendmail)

Dovecot收到邮件

Outlook邮件客户端

MUA 收发客户端

MTA 转发邮件

MDA 保存邮件

之前是Foxmail

discuz

 

root@linuxprobe.com

root@192.168.10.10

 

 

 

先配置DNS服务器

yum install bind-chroot

vim /etc/named.conf

cd /var/namd

vim /etc/named.rfc1912.zones

zone "linuxcool.com" IN {

type master;

file "linuxcool.com.zone"

allow-update { none; };

};

cp -a named.localhost linuxcool.com.zone

vim linuxcool.com.zone

systemtcl restart named

vim /etc/hostname(也可以通过hostnamectl set-name mail.linuxcool.com)——修改主机名称

vim /etc/postfix/main.cf

:set nu

systemctl restart postfix

systemctl enable postfix

useradd xiaoran

passwd xiaoran

pam模块

yum install dovecot

vim /etc/dovecot/dovecot.conf 主配置文件

:set nu

禁用明文登录

vim /etc/dovecot/conf.d/10-mail.conf一般配置文件或者叫普通配置文件或者叫从属配置文件或者叫被主配置文件调用的子配置文件

:set nu

id xiaoran

su -xiaoran

mkdir mail/.imap/INBOX -p

exit

exit

重新打开一个terminal

systemctl restart dovecot

systemctl enable dovecot

vim /etc/aliases邮件的别名文件

ping一下mail.linuxcool.com

如果不通,到服务端里面清空一下防火墙

iptables -F

开始实验1:客户端发送邮件给root

 

N=new、1=编号、xiaoran=发送人 、Fri Jun 5 19:53=发送时间、117/3239邮件大小、ROO=root用户

敲一下“1”就可以看到邮件里面的完整内容了

开始实验2:客户端发送邮件给不存在的用户xxoo

newaliases

 

敲一下“2”就可以看到邮件里面的完整内容了

开始实验3:服务端发送邮件给客户端

outlook客户端点击收取邮件即可

 

Squid服务

加密代理

vpn pptpd openvz shadowrocket

ipsec

纯代理,不加密

squid

正向模式:

    • 普通:SNAT(源地址转换协议)+Squid
    • 透明:

反向模式

环境:服务器A有一块对外的网卡和一块对内的网卡, 服务器B只有一块对内的网卡

如果服务器B能上网, 一定是通过服务器A转发的

开始实验:

服务器A关机状态下,再添加一块网卡,选择桥接模式

nm-connection-editor:设置为DHCP

ping www.baidu.com 可以通

ping 192.168.10.20服务器B也可以ping通

iptables -F

打开服务器B:

ping www.baidu.com 解析不出来,且不通

打开火狐浏览器也不能上网

yum install squid安装好了以后默认就可以用“标准的正向解析模式了,不需要额外配置

(标准的正向解析模式、透明的正向解析模式、反向解析模式)

systemctl restart squid

systemctl enable squid

刷新火狐浏览器仍然不能上网,需要在浏览器 先设置一下

如果用户不会或者不想设置,我们需要让用户强制使用代理上网,怎么处理呢?

先还原设置

设置网络

点击重启、再点击开启,刷新火狐,不能上网,什么原因?

iptables -F

iptables -t nat -A POSTROUTING -p udp --dport 53 -o eno33554968 -j MASQUERADE(一般来说这个是IP地址,但是每次重启都会变化,所以我们用MASQUERDE伪装,用来自动寻找)

所有对于udp53端口(DNS)的请求我们都通过eno33554698这个网卡转发出去

vim /etc/sysctl.conf

sysctl -p

ping www.baidu.com 再ping就可以解析出来了

nslookup 再尝试一下解析功能

www.baidu.com

www.google.com

www.linuxprobe,com

但是解析出来就是ping不通

yum install squid透明正向解析

vim /etc/squid/squid.conf

:set nu

systemctl stop squid必须要停止,之后再开启

squid -k parse检查一下拼写有没有错误

squid -z生成十六个用来缓存的目录

systemctl restart squid

所有收到的数据都转发到3128端口号上

iptables -t nat -A PREROUTING -p tcp -m tcp --dport 80 -j REDIRECT --to-ports 3128

iptables -t nat -A PREROUTING -s 192.168.10.0/24 -o eno33554698 -j SNAT --to 192.168.0.128当有一个用户来自于192.168...网段的话。他所发送的所有请求都会通过eno33554698这个网卡转发到公网上去

ping 8.8.8.8可以通了

再刷新火狐,也可以通了

 

怎么证明确实是squid使其可以上网呢?

开始试验:屏蔽非允许客户端的网络访问

vim /etc/squid/squid.conf

:set nu

允许来源是192.168.10.20访问网站

允许客户端登录,如果没有被允许,则拒绝全部

systemctl restart squid

修改网卡为192.168.10.20,重启网卡

刷新火狐网页,发现网页打不开了,但是https网页都还可以打开,这是因为当时出版本时没有对https做限制,只要升级一下squid服务就可以了

开始试验:屏蔽关键词

vim /etc/squid/squid.conf

systemctl restart squid

刷新火狐网页,发现网页正常打开,但是百度搜索“linux”,再点击却不能打开网页

开始试验:屏蔽特定网站

vim /etc/squid/squid.conf

systemctl restart squid

其他网页可以正常打开,输入特定网站则不能打开

开始试验:屏蔽后缀

vim /etc/squid/squid.conf

\代表结尾 ^代表开头 ^$代表空行 \.mp3$ 表示以mp3结尾

systemctl restart squid

刷新火狐网页可以正常打开,但是输入后缀为rar则不论是否存在全部不能打开

迅雷不能屏蔽

Firewall怎么配置呢?

还原一下机器

前期准备:添加网卡

yum install squid

配置网卡、重启网卡、iptables -F

firewall-config

1、禁ping 设置

2、禁ping 设置

yum install squid

ping www.baidu.com 既ping不通,又访问不了

firewall-config

ping www.baidu.com 能ping通,也能解析

反向解析模式:反向代理

网站=动态+静态

html jpg png txt网站大部分都是静态文件

动态文件:数据库、脚本文件

ping www.linuxprobe.com

怎么做一个反代

yum install squid

nmtui配置成DHCP模式

虚拟机设置,网卡改成桥接模式

systemctl restart network

ping www.baidu.com

vim /etc/squid/squid.conf

没有防护的网站

直接登录或者ping都可以 122.142.74.150

大概在第58行左右

systemctl restart squid

登录自己的网段,却出来的是别人的网页,这就是反代

如何拒绝反代?

  1. 网站开启CDN,不让别人知道我的IP地址
  2. 开启一个空屏500的网页

复习:postfix+dovecot

预习:第17章节+openldap

 

 

 

 

 

没有账号? 忘记密码?

社交账号快速登录