一、环境准备
1.还原快照,开启虚拟机A与虚拟机B,以root用户登录

二 、环境设置
1.防火墙设置:
虚拟机A
[root@A ~]# firewall-cmd --set-default-zone=trusted
[root@A ~]# firewall-cmd --get-default-zone

虚拟机B
[root@B ~]# firewall-cmd --set-default-zone=trusted
[root@B ~]# firewall-cmd --get-default-zone

2.设置SELinux运行模式为宽松
虚拟机A:
[root@A ~]# getenforce
Enforcing
[root@A ~]# setenforce 0 #设置当前系统SELinux为宽松
[root@A ~]# getenforce #查看当前系统SELinux运行模式
Permissive
[root@A ~]# vim /etc/selinux/config
SELINUX=permissive

虚拟机B:操作同上

二、构建DNS服务器
虚拟机A:
1.安装软件包
[root@A~]# yum -y install bind-chroot bind
2.修改主配置文件
[root@A ~]# cp /etc/named.conf /etc/named.bak
[root@A ~]# vim /etc/named.conf
options {
directory “/var/named”; #指定地址库文件存放的路径
};
zone “tedu.cn” IN { #指定本机负责解析的域名
type master; #指定本机为权威主DNS服务器
file “tedu.cn.zone”; #指定地址库文件名称
};

3.建立地址库文件
[root@A ~]# cd /var/named/
[root@A named]# cp -p named.localhost tedu.cn.zone #-p保持权限不变进行复制
[root@A named]# ls -l tedu.cn.zone
[root@A /]# vim /var/nam ed/tedu.cn.zone
$TTL 1D
@ IN SOA @ rname.invalid. (
0 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
tedu.cn. NS a #声明DNS服务器叫a
a A 192.168.4.7 #声明a的IP地址是192.168.4.7
www A 1.1.1.1
ftp A 2.2.2.2
[root@A named]# systemctl restart named
[root@A named]# systemctl status named

虚拟机B:
1.指定DNS服务器位置
[root@B ~]# echo nameserver 192.168.4.7 > /etc/resolv.conf
2.测试域名解析
[root@B ~]# rpm -ql bind-utils
[root@B ~]# nslookup www.tedu.cn
Server: 192.168.4.7
Address: 192.168.4.7#53

Name: www.tedu.cn
Address: 1.1.1.1

虚拟机A:测试
[root@A /]# rpm -ql bind-utils
[root@A /]# echo nameserver 192.168.4.7 > /etc/resolv.conf
[root@A /]# nslookup www.tedu.cn

##################################################
三、DNS子域授权

父域:tedu.cn
子域:bj.tedu.cn

虚拟机B:构建DNS服务器负责解析bj.tedu.cn

1.安装软件包
[root@B ~]# yum -y install bind bind-chroot
2.修改配置文件
[root@B ~]# cp /etc/named.conf /etc/named.bak
[root@B ~]# vim /etc/named.conf
options {
directory “/var/named”;
};

zone “bj.tedu.cn” IN {
type master;
file “bj.tedu.cn.zone”;
};

3.建立地址库文件
[root@B ~]# cd /var/named/
[root@B named]# cp -p named.localhost bj.tedu.cn.zone
[root@B named]# vim bj.tedu.cn.zone
$TTL 1D
@ IN SOA @ rname.invalid. (
0 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
bj.tedu.cn. NS b
b A 192.168.4.207
www A 3.3.3.3

[root@B /]# systemctl restart named

虚拟机A:配置子域授权,让虚拟机A知道虚拟机B的存在,并且知晓虚拟机B负责的域名
1.修改地址库文件
[root@A /]# vim /var/named/tedu.cn.zone #NS记录必须在所有A记录的上边
tedu.cn. NS a
bj.tedu.cn. NS b
a A 192.168.4.7
b A 192.168.4.207
www A 1.1.1.1
ftp A 2.2.2.2
[root@A /]# systemctl restart named

虚拟机B测试:
[root@B /]# nslookup www.bj.tedu.cn 192.168.4.7
Server: 192.168.4.7
Address: 192.168.4.7#53

Non-authoritative answer: #非权威的解析
Name: www.bj.tedu.cn
Address: 3.3.3.3

递归解析:客户端将解析请求给首选DNS服务器,首选DNS服务器与其他DNS服务器交互,最终将解析结果带回来的过程

虚拟机A:关闭递归解析
[root@A /]# vim /etc/named.conf
options {
directory “/var/named”;
recursion no; #禁止递归解析
};
zone “tedu.cn” IN {
type master;
file “tedu.cn.zone”;
};
[root@A /]# systemctl restart named

迭代解析:客户端将解析请求给首选DNS服务器,首选DNS服务器告知下一个DNS服务器地址

总结:
客户端将解析请求给首选DNS服务器,首选DNS服务器开始递归解析,然后在与根域名服务器依次进行迭代查询,最终将解析结果带回来

##################################################################
四、DNS的主从架构

作用:提高可靠性,从服务器备份主服务器数据(主要备份的数据为地址库文件)

虚拟机A配置新的域名解析
虚拟机A:
1.安装软件包
[root@A~]# yum -y install bind-chroot bind
2.修改主配置文件
[root@A ~]# vim /etc/named.conf
options {
directory “/var/named”; #指定地址库文件存放的路径
};
zone “tedu.cn” IN { #指定本机负责解析的域名
type master; #指定本机为权威主DNS服务器
file “tedu.cn.zone”; #指定地址库文件名称
};
zone “360.com” IN { #指定本机负责解析的域名
type master; #指定本机为权威主DNS服务器
file “360.com.zone”; #指定地址库文件名称
};
3.建立地址库文件
[root@A ~]# cd /var/named/
[root@A named]# cp -p named.localhost 360.com.zone #-p保持权限不变进行复制
[root@A named]# ls -l 360.com.zone
[root@A /]# vim /var/named/360.com.zone
$TTL 1D
@ IN SOA @ rname.invalid. (
0 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
360.com. NS a #声明DNS服务器叫a
a A 192.168.4.7 #声明a的IP地址是192.168.4.7
www A 4.4.4.4
[root@A named]# systemctl restart named
[root@A named]# systemctl status named

虚拟机B:
1.指定DNS服务器位置
[root@B ~]# echo nameserver 192.168.4.7 > /etc/resolv.conf
2.测试域名解析
[root@B ~]# rpm -ql bind-utils
[root@B ~]# nslookup www.360.com
Server: 192.168.4.7
Address: 192.168.4.7#53

Name: www.360.com
Address: 4.4.4

虚拟机A配置主从
1.授权从服务器的IP地址 参考:man named.conf
[root@A named]# vim /etc/named.conf
options {
directory “/var/named”;
allow-transfer { 192.168.4.207; }; #指定从服务器192.168.4.207可以传输数据
};
zone “tedu.cn” IN {
type master;
file “tedu.cn.zone”;
};
zone “360.com” IN {
type master;
file “360.com.zone”;
};

2.从DNS服务器的声明
[root@A /]# vim /var/named/360.com.zone
$TTL 1D
@ IN SOA @ rname.invalid. (
0 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
360.com. NS a
360.com. NS b
a A 192.168.4.7
b A 192.168.4.207
www A 4.4.4.4
[root@A /]# systemctl restart named

虚拟机B配置从服务器
1.安装软件包
[root@B /]# yum -y install bind bind-chroot
2.修改主配置文件
[root@B /]# cp /etc/named.conf /etc/named.bak
[root@B /]# vim /etc/named.conf
options {
directory “/var/named”;
};
zone “360.com” IN {
type slave; #类型为从服务器
file “/var/named/slaves/360.com.slave”; #保证named用户拥有写入权限
masters { 192.168.4.7; }; #指定主DNS服务器IP地址
};
[root@B /]# ls /var/named/slaves/
[root@B /]# systemctl restart named
[root@B /]# ls /var/named/slaves/

主从DNS服务器同步数据

虚拟机A:
[root@A /]# vim /var/named/360.com.zone
$TTL 1D
@ IN SOA @ rname.invalid. (
0 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
360.com. NS a
360.com. NS b
a A 192.168.4.7
b A 192.168.4.207
www A 5.5.5.5
[root@A /]# systemctl restart named

虚拟机B:测试
[root@B /]# nslookup www.360.com 192.168.4.7
Server: 192.168.4.7
Address: 192.168.4.7#53

Name: www.360.com
Address: 5.5.5.5

[root@B /]# nslookup www.360.com 192.168.4.207
Server: 192.168.4.207
Address: 192.168.4.207#53

Name: www.360.com
Address: 4.4.4.4

[root@B /]#

虚拟机A修改数据的版本号

                              2020031601   ; serial      #数据的版本号,由10个数字组成,越大版本,数据越新1D      ; refresh         #主从DNS服务器之间同步数据默认为1天1H      ; retry             #重试的时间间隔   1个小时1W      ; expire          #失效的时间   1周3H )    ; minimum     #失败的记录,记忆时间 3个小时

[root@A /]# vim /var/named/360.com.zone
$TTL 1D
@ IN SOA @ rname.invalid. (
2020031603 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
360.com. NS a
360.com. NS b
a A 192.168.4.7
b A 192.168.4.207
www A 7.7.7.7

[root@A /]# systemctl restart named

虚拟机B:测试
[root@B /]# nslookup www.360.com 192.168.4.7
Server: 192.168.4.7
Address: 192.168.4.7#53

Name: www.360.com
Address: 7.7.7.7

[root@B /]# nslookup www.360.com 192.168.4.207
Server: 192.168.4.207
Address: 192.168.4.207#53

Name: www.360.com
Address: 7.7.7.7

[root@B /]#

##################################################################
五、缓存DNS服务器
作用:缓存解析记录,加速域名解析

虚拟机A:真正的DNS服务器
虚拟机B:缓存DNS服务器
虚拟机C:作为客户端验证

虚拟机B:配置缓存DNS服务器
[root@B /]# vim /etc/named.conf
options {
directory “/var/named”;
forwarders { 192.168.4.7; }; #转发给192.168.4.7
};
[root@B /]# systemctl restart named

虚拟机B:测试
[root@B /]# nslookup www.tedu.cn 192.168.4.207
Server: 192.168.4.207
Address: 192.168.4.207#53

Non-authoritative answer:
Name: www.tedu.cn
Address: 1.1.1.1

##################################################################
六、DNS服务器的分离解析

•当收到客户机的DNS查询请求的时候
–能够区分客户机的来源地址
–为不同类别的客户机提供不同的解析结果(IP地址)
–让客户端访问最近的服务器

牛老师(北京南站)—达外酒店-----》高德地图-----》北京南大街107号

王老师(北京西站)—达外酒店-----》高德地图-----》北京西大街38号

BIND的view视图
•根据源地址集合将客户机分类
–不同客户机获得不同结果(待遇有差别)
–由上到下依次进行匹配,匹配及停止
–分类要合理,每一个客户端都要找到自己的分类
–所有的zone都必须在view中
view “haha” { #分类的名称
match-clients { 192.168.4.100 }; #匹配客户端来源地址
zone “12306.cn” IN {
…… 地址库1;
};
};
view “xixi” { #分类的名称
match-clients { 192.168.4.200; }; #匹配客户端来源地址
zone “12306.cn” IN {
…… 地址库2;
};
};
view “hehe” { #分类的名称
match-clients { any; }; #匹配客户端来源地址
zone “12306.cn” IN {
…… 地址库3;
};
};

•环境及需求
–权威DNS:a.tedu.cn 192.168.4.7
–负责区域:tedu.cn
–A记录分离解析 —— 以 www.tedu.cn 为例

虚拟机A:
1.修改主配置文件
[root@A /]# vim /etc/named.conf
options {
directory “/var/named”;
};
view “haha” {
match-clients { 192.168.4.207; 192.168.7.0/24; };
zone “tedu.cn” IN {
type master;
file “tedu.cn.zone”;
};
};
view “xixi” {
match-clients { any; };
zone “tedu.cn” IN {
type master;
file “tedu.cn.other”;
};
};

2.建立相应的地址文件
[root@A /]# cd /var/named/
[root@A named]# vim tedu.cn.zone
$TTL 1D
@ IN SOA @ rname.invalid. (
0 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
tedu.cn. NS a
a A 192.168.4.7
www A 192.168.4.100
[root@A named]# cp -p tedu.cn.zone tedu.cn.other
[root@A named]# vim tedu.cn.other
$TTL 1D
@ IN SOA @ rname.invalid. (
0 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
tedu.cn. NS a
a A 192.168.4.7
www A 1.2.3.4

3.重启服务
[root@A /]# systemctl restart named

虚拟机A:测试
[root@A /]# nslookup www.tedu.cn 192.168.4.7
Server: 192.168.4.7
Address: 192.168.4.7#53

Name: www.tedu.cn
Address: 1.2.3.4

虚拟机B:测试
[root@B /]# nslookup www.tedu.cn 192.168.4.7
Server: 192.168.4.7
Address: 192.168.4.7#53

Name: www.tedu.cn
Address: 192.168.4.100

•多域名的分离解析
–权威DNS: 192.168.4.7
–负责区域:tedu.cn 360.com
–A记录分离解析 —— 以 www.tedu.cn与www.360.com为例

客户端为192.168.4.207或192.168.7.0/24解析www.tedu.cn----->192.168.4.100
客户端为其他地址 解析www.tedu.cn----->1.2.3.4

客户端为192.168.4.207或192.168.7.0/24解析www.360.com----->192.168.4.200
客户端为其他地址 解析www.360.com----->10.20.30.40

注意事项:
1.每一个view中,zone个数要一致
2.每一个view中,zone负责的域名要一致

虚拟机A:
1.修改主配置文件
[root@A /]# vim /etc/named.conf
options {
directory “/var/named”;
};
view “haha” {
match-clients { 192.168.4.207; 192.168.7.0/24; };
zone “tedu.cn” IN {
type master;
file “tedu.cn.zone”;
};
zone “360.com” IN {
type master;
file “360.com.zone”;
};
};
view “xixi” {
match-clients { any; };
zone “tedu.cn” IN {
type master;
file “tedu.cn.other”;
};
zone “360.com” IN {
type master;
file “360.com.other”;
};
};

2.建立地址库文件
[root@A /]# cd /var/named/
[root@A named]# vim 360.com.zone
$TTL 1D
@ IN SOA @ rname.invalid. (
2020031603 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
360.com. NS a
a A 192.168.4.7
www A 192.168.4.200
[root@A named]# cp -p 360.com.zone 360.com.other
[root@A named]# vim 360.com.other
$TTL 1D
@ IN SOA @ rname.invalid. (
2020031603 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
360.com. NS a
a A 192.168.4.7
www A 10.20.30.40
[root@A named]# systemctl restart named

虚拟机A:测试
[root@A named]# nslookup www.360.com 192.168.4.7
Server: 192.168.4.7
Address: 192.168.4.7#53

Name: www.360.com
Address: 10.20.30.40

虚拟机B:测试
[root@B /]# nslookup www.360.com 192.168.4.7
Server: 192.168.4.7
Address: 192.168.4.7#53

Name: www.360.com
Address: 192.168.4.200

acl地址列表(了解内容)
•为大批量的客户机地址建立列表

[root@A named]# vim /etc/named.conf
acl “test” { 192.168.4.207; 192.168.7.0/24; 192.168.8.0/24; 192.168.9.0/24; 192.168.10.0/24; };

view “haha” {
match-clients { test; };

##################################################################
七、邮件服务器

•电子邮件服务器的基本功能
–为用户提供电子邮箱存储空间(用户名@邮件域名)
–处理用户发出的邮件 —— 传递给收件服务器
–处理用户收到的邮件 —— 投递到邮箱

虚拟机A:构建DNS服务器,添加邮件解析记录
1.修改主配置文件
[root@A /]# vim /etc/named.conf
options {
directory “/var/named”;
};
zone “sina.com” IN {
type master;
file “sina.com.zone”;
};
2.建立地址库文件
[root@A /]# cd /var/named/
[root@A named]# cp -p named.localhost sina.com.zone
[root@A named]# vim sina.com.zone
$TTL 1D
@ IN SOA @ rname.invalid. (
0 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
sina.com. NS a
sina.com. MX 10 mail #声明邮件交换记录,sina.com区域邮件服务器为mail.sina.com,优先级为10
a A 192.168.4.7
mail A 192.168.4.7
[root@A named]# systemctl restart named

虚拟机A:测试
[root@A /]# echo nameserver 192.168.4.7 > /etc/resolv.conf
[root@A /]# cat /etc/resolv.conf
nameserver 192.168.4.7
[root@A /]# host -t MX sina.com #测试邮件交换记录,sina.com区域邮件服务器是谁
sina.com mail is handled by 10 mail.sina.com.
[root@A /]# nslookup mail.sina.com
Server: 192.168.4.7
Address: 192.168.4.7#53
Name: mail.sina.com
Address: 192.168.4.7

虚拟机A:构建邮件服务器
1.安装软件包
[root@A /]# rpm -q postfix
postfix-2.10.1-6.el7.x86_64
2.修改主配置文件
[root@A /]# vim /etc/postfix/main.cf
末行模式开启行号功能 :set nu

99 myorigin = sina.com #默认补全域名后缀,例子: 发件人书写lisi 默认补全lisi@sina.com
116 inet_interfaces = all #监听本机的所有网卡
164 mydestination = sina.com #判断是否为本域邮件依据 ,如果收件人 zhangsan@sina.com
3.重启服务
[root@A /]# systemctl restart postfix

4.邮件的收发测试:
[root@localhost ~]# yum -y install mailx #安装mail命令
•mail 发信操作
–mail -s ‘邮件标题’ -r 发件人 收件人
[root@A /]# useradd yg
[root@A /]# useradd xln
[root@A /]# mail -s ‘hahaxixi’ -r yg xln
葵花宝典,已练成~
. #输入一个 . 结束提交
EOT
[root@A /]# echo ‘九阴真经,已练成~’ | mail -s ‘hehelele’ -r yg xln #非交互式发邮件
•mail 收信操作
–mail [-u 用户名]
[root@A /]# mail -u xln #以root身份查看用户xln的邮件
Heirloom Mail version 12.5 7/5/10. Type ? for help.
“/var/mail/xln”: 1 message 1 new

N 1 yg@sina.com Tue Mar 17 01:41 18/520 “hahaxixi”
& 1 #输入邮件的编号,回车
& exit

##################################################################

八、综合项目

要求:
1.在Web1机器上构建Web服务,实现基于域名的虚拟Web主机,提供www.163.com与www.qq.com两个网站
2.在Web2机器上构建Web服务,实现基于域名的虚拟Web主机,提供www.163.com与www.qq.com两个网站
3.客户端192.168.4.207访问www.163.com与www.qq.com两个网站,有Web1服务器提供
4.客户端192.168.4.208访问www.163.com与www.qq.com两个网站,有Web2服务器提供
5.在192.168.4.7上实现DNS分离解析

晚上实验练习(去除子域授权实验)

LINUX从零开始——SERVICES(系统服务管理进阶)——Day4 [缓存DNS、Split分离解析、电子邮件通信、Web服务器项目实战]相关推荐

  1. Linux 工程师技术 系统服务管理进阶

    01. 虚拟化的作用及优势体现在哪些方面 作用:将一套或多套物理资源整合为平台,以软件的方式虚拟出更多可用的计算机资源 优势:以一变多,节省成本;资源调度更加灵活,提高效率 02. 设置文档的访问权限 ...

  2. dns服务器v6解析 windows_04:缓存DNS、Split分离解析、电子邮件通信、Web服务器项目实战...

    一. 环境的准备 关闭两台虚拟机的SELinux [root@svr7 ~]# setenforce 0 #修改当前运行模式[root@svr7 ~]# getenforce #查看当前运行模式Per ...

  3. 云计算系统管理、 云计算应用管理、系统服务管理进阶

    云计算系统管理. 云计算应用管理.系统&服务管理进阶 云计算系统管理 DAY01 开学典礼.云网络基础 DAY02 Linux系统简介.安装Linux系统.Linux基本操作 DAY03 命令 ...

  4. Split分离解析 、 RAID磁盘阵列 、 进程管理 、 日志管理 、 systemctl控制 案例

    Top NSD SERVICES DAY04 案例1:配置并验证Split分离解析 案例2:查看进程信息 案例3:进程调度及终止 案例4:系统日志分析 案例5:使用systemctl工具 1 案例1: ...

  5. Split分离解析 RAID磁盘阵列 进程管理 日志管理

    1)理解DNS系统的作用 互联网的指路人,提供信息查询"网站域名 -->IP地址" 知道一个www.baidu.com的IP地址 不等于 能访问 www.baidu.com ...

  6. SERVICE03 - Split分离解析 RAID磁盘阵列 进程管理 日志管理

    Split分离解析  (常常配合CDN使用) Content  Delivery Network,内容分发网络 购票用户:===>CDN服务商的缓存服务器 铁道部成本降低 CDN服务商赚钱 用户 ...

  7. 多区域 DNS 服务,子域授权,缓存 DNS及Split 分离解析的原理和实现

    DNS 服务器的功能: 正向解析:根据注册的域名查找其对应的 IP 地址 反向解析:根据 IP 地址查找对应的注册域名(不常用) DNS(域名解析)服务器:解析域名--->将域名解析为 IP 地 ...

  8. 03: Split分离解析 RAID磁盘阵列 进程管理 日志管理 总结和答疑

    Top NSD SERVICES DAY03 案例1:配置并验证Split分离解析 案例2:查看进程信息 案例3:进程调度及终止 案例4:系统日志分析 1 案例1:配置并验证Split分离解析 1.1 ...

  9. Vue3+TypeScript从入门到进阶(六)——TypeScript知识点——附沿途学习案例及项目实战代码

    文章目录 一.简介 二.Vue2和Vue3区别 三.Vue知识点学习 四.TypeScript知识点 一.JavaScript和TypeScript 二.TypeScript的安装和使用 1.Type ...

最新文章

  1. gnome Nautilus cannot handle computer locations
  2. 动态加载js文件以支持跨域脚本
  3. Win8 Metro(C#)数字图像处理--2.50图像运动模糊
  4. Windows Server 2008搭建域环境---安装活动目录
  5. kml文件怎么用arcgis打开_ArcGIS学习记录—KMZ KML与SHP文件互相转换
  6. 模拟电子技术基础第五版习题 视频讲解 模拟电子技术基础第五版答案
  7. c语言的指针思维导图,指针基础知识(含思维导图)
  8. matlab pt站下载,SDPT3-4.0 求解最优化问题里的半定规 (SDP)经典并且十分有效的MATLAB程序包 244万源代码下载- www.pudn.com...
  9. 今日头条的企业服务产品线
  10. LS-DYNA系列_Mie-Gruneisen状态方程
  11. CSD-1371电力监控系统网络安全监测装置(Ⅱ 型)介绍
  12. 微信公众号文章如何设置关键词自动回复链接
  13. 【1024程序员节】创作创富-对话议题-直播笔记
  14. test api mis
  15. for.in for..of..
  16. [补充内容]关于使用matlab进行方程组求解的线性代数相关知识补充——n维向量
  17. 卡斯柯经验谈│流程驱动项目管理的应用
  18. 动态网页设计——html
  19. 子不语IPO下限定价:预计2022年全年净利润下滑,华丙如为实控人
  20. python潜力开源项目_2018 年最受欢迎的 Python 开源项目

热门文章

  1. 高交会闭幕,聊天机器人何在?
  2. 挫折和离别不过是生命中的点缀
  3. 飞机大战 JavaScript
  4. DenseNet网络代码详解
  5. 汇千网-被暴雨中断的信号,给通信系统提了什么醒?
  6. mysql企业版有使用期限吗,mysql标准版和企业版
  7. 【OJ每日一练】1010 - 找出二五仔的ID
  8. 接口,纯虚函数和虚函数的区别以及适用场合
  9. android表单错误提示,安卓微信中用$.ajax提交表单一直返回error
  10. 把CSMA/CD、Token Bus、Token Ring说清楚