LINUX从零开始——SERVICES(系统服务管理进阶)——Day4 [缓存DNS、Split分离解析、电子邮件通信、Web服务器项目实战]
一、环境准备
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服务器项目实战]相关推荐
- Linux 工程师技术 系统服务管理进阶
01. 虚拟化的作用及优势体现在哪些方面 作用:将一套或多套物理资源整合为平台,以软件的方式虚拟出更多可用的计算机资源 优势:以一变多,节省成本;资源调度更加灵活,提高效率 02. 设置文档的访问权限 ...
- dns服务器v6解析 windows_04:缓存DNS、Split分离解析、电子邮件通信、Web服务器项目实战...
一. 环境的准备 关闭两台虚拟机的SELinux [root@svr7 ~]# setenforce 0 #修改当前运行模式[root@svr7 ~]# getenforce #查看当前运行模式Per ...
- 云计算系统管理、 云计算应用管理、系统服务管理进阶
云计算系统管理. 云计算应用管理.系统&服务管理进阶 云计算系统管理 DAY01 开学典礼.云网络基础 DAY02 Linux系统简介.安装Linux系统.Linux基本操作 DAY03 命令 ...
- Split分离解析 、 RAID磁盘阵列 、 进程管理 、 日志管理 、 systemctl控制 案例
Top NSD SERVICES DAY04 案例1:配置并验证Split分离解析 案例2:查看进程信息 案例3:进程调度及终止 案例4:系统日志分析 案例5:使用systemctl工具 1 案例1: ...
- Split分离解析 RAID磁盘阵列 进程管理 日志管理
1)理解DNS系统的作用 互联网的指路人,提供信息查询"网站域名 -->IP地址" 知道一个www.baidu.com的IP地址 不等于 能访问 www.baidu.com ...
- SERVICE03 - Split分离解析 RAID磁盘阵列 进程管理 日志管理
Split分离解析 (常常配合CDN使用) Content Delivery Network,内容分发网络 购票用户:===>CDN服务商的缓存服务器 铁道部成本降低 CDN服务商赚钱 用户 ...
- 多区域 DNS 服务,子域授权,缓存 DNS及Split 分离解析的原理和实现
DNS 服务器的功能: 正向解析:根据注册的域名查找其对应的 IP 地址 反向解析:根据 IP 地址查找对应的注册域名(不常用) DNS(域名解析)服务器:解析域名--->将域名解析为 IP 地 ...
- 03: Split分离解析 RAID磁盘阵列 进程管理 日志管理 总结和答疑
Top NSD SERVICES DAY03 案例1:配置并验证Split分离解析 案例2:查看进程信息 案例3:进程调度及终止 案例4:系统日志分析 1 案例1:配置并验证Split分离解析 1.1 ...
- Vue3+TypeScript从入门到进阶(六)——TypeScript知识点——附沿途学习案例及项目实战代码
文章目录 一.简介 二.Vue2和Vue3区别 三.Vue知识点学习 四.TypeScript知识点 一.JavaScript和TypeScript 二.TypeScript的安装和使用 1.Type ...
最新文章
- gnome Nautilus cannot handle computer locations
- 动态加载js文件以支持跨域脚本
- Win8 Metro(C#)数字图像处理--2.50图像运动模糊
- Windows Server 2008搭建域环境---安装活动目录
- kml文件怎么用arcgis打开_ArcGIS学习记录—KMZ KML与SHP文件互相转换
- 模拟电子技术基础第五版习题 视频讲解 模拟电子技术基础第五版答案
- c语言的指针思维导图,指针基础知识(含思维导图)
- matlab pt站下载,SDPT3-4.0 求解最优化问题里的半定规 (SDP)经典并且十分有效的MATLAB程序包 244万源代码下载- www.pudn.com...
- 今日头条的企业服务产品线
- LS-DYNA系列_Mie-Gruneisen状态方程
- CSD-1371电力监控系统网络安全监测装置(Ⅱ 型)介绍
- 微信公众号文章如何设置关键词自动回复链接
- 【1024程序员节】创作创富-对话议题-直播笔记
- test api mis
- for.in for..of..
- [补充内容]关于使用matlab进行方程组求解的线性代数相关知识补充——n维向量
- 卡斯柯经验谈│流程驱动项目管理的应用
- 动态网页设计——html
- 子不语IPO下限定价:预计2022年全年净利润下滑,华丙如为实控人
- python潜力开源项目_2018 年最受欢迎的 Python 开源项目