Linux网络服务第七章DNS域名解析服务
端口:53
一.DNS服务器
正向解析:根据域名查IP地址,即将指定的域名解析为相对应的IP地址。域名的正向解析是DNS服务器最基本的功能,也是最常用的功能。
反向解析:根据IP地址查域名,即将指定的IP地址解析为相对应的域名。域名的反向解析不是很常用,只在一些特殊场合才会用到,如可用于反垃圾邮件的验证。
缓存域名服务器:只提供域名解析结果的缓存功能,目的在于提高查询速度和效率,但是没有自己控制的区域地址数据。构建缓存域名服务器时,必须设置根域或指定其他DNS服务器作为解析来源。
主域名服务器:维护某一个特定DNS区域的地址数据库,对其中的解析记录具有自主控制权,是指定区域中唯一存在的权威服务器、官方服务器。构建主域名服务器时,需要自行建立所负责区域的地址数据文件。
从域名服务器:与主域名服务器提供完全相同的DNS解析服务,通常用于DNS服务器的热备份。对客户机来说,无论使用主域名服务器还是从域名服务器,查询的结果都是一样的。关键区别在于,从域名服务器提供的解析结果并不是由自己决定的,而是来自于主域名服务器。构建从域名服务器时,需要指定主域名服务器的位置,以便服务器能自动同步区域的地址数据库。
转发器:这台DNS发现非本机负责的查询请求时,不再向根域发起请求,而是直接转发给指定的一台或者多台服务器。自身并不缓存查询结果。
二.DNS服务器的查询模式及域名解析
域名解析过程:
当一个用户的地址输入www.crushlinux.com时,DNS解析有大致是个过程:
1.客户机想要获取ip地址,先找浏览器缓存,然后浏览器先检查自身缓存中中有没有被解析过这个域名,如果有解析结束。
2.如果没有,再找hosts,hosts检查自己有没有解析过这个域名,如果有,解析结束
3.如果没有,再找内网缓存服务器,来解析这个域名,
4.如果没有,缓存服务器就会找根域名服务器请求解析,根域名无法解析,就返回给缓存服务器.com的顶级域
5.缓存服务器再找.com的顶级服务器请求解析,.com域服务器也无法解析,返回给缓存服务器.crushlinux二级域
6.缓存服务器再找.crushlinux.com二级域服务器请求解析,.crushlinux.com域服务器 可以解析,然后就给缓存服务器的ip地址。
7.如果没有不可以解析,二级域会去找主机主服务器,www.crushlinux.com然后解析返回。
三.搭建缓存服务器
在CentOS7.x系统中,系统光盘自带了BIND服务的多个安装文件,各软件包的主要作用如下。
bind:提供了域名服务的主要程序及相关文件。
bind-utils:提供了对DNS服务器的测试工具程序,如nslookup等。
bind-1ibs:提供了bind、bind-utils需要使用的库函数。
bind-chroot:可选软件包,为BIND服务提供一个伪装的根目录(将/var/named/chroot/文件夹作为BIND的根目录),以提高安全性。也称为jail(监牢)机制
默认已安装bind-utils和bind-libs,所以只需要安装bind即可。
(1)关闭相关安全机制:
iptables -F
systemctl stop firewalld
setenforce 0
(2)修改主配文件
[root@localhost ~]# vim /etc/named.conf
options {
listen-on port 53 { 192.168.200.111; };
directory "/var/named";
dump-file "/var/named/data/cache_dump.db";//设置域名缓存数据库文件位置
statistics-file "/var/named/data/named_stats.txt";//设置状态统计文件位置
memstatistics-file "/var/named/data/named_mem_stats.txt";
allow-query { 192.168.200.0/24; };
recursion yes;
};
zone "." IN {//正向“.”根区域
type hint;//类型为根区域
file "named.ca";//区域数据文件为named.ca
};
有时候为了提高解析效率,也可以不向根区域查询,而是将来自客户端的查询请求转发给国内电信运营商的DNS服务器(如北京的202.106.0.20、 202.106.148.1),缓存服务器收到返回的查询结果后再传递给客户端。只要去掉“zone "." IN{ ……};”的设置,并在全局配置中正确设置forwarders参数即可实现该功能。
[root@localhost etc]# vim named.conf
options {
……//省略部分内容
forwarders{202.106.0.20; 202.106.148.1;};
};
(3)启动服务
systemctl start named
四.搭建主从服务器
(1)关闭相关安全机制:
iptables -F
systemctl stop firewalld
setenforce 0
主服务器:
(1)安装bind
[root@localhost ~]# yum -y install bind
(2)修改相关文件
[root@localhost ~]# vim/etc/resolv.conf
# Generated by NetworkManager
nameserver 192.168.200.111
nameserver 192.168.200.112
[root@localhost ~]# vim /etc/hosts
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.200.111 ns1.crushlinux.com
192.168.200.112 ns2.crushlinux.com
(3.)修改主配文件
[root@localhost ~]# vim/etc/named.conf
options {
directory "/var/named";
};
zone "crushlinux.com" IN { //正向"crushlinux.com"区域
type master; //类型为主区域
file "crushlinux.zheng"; //区域数据文件为crushlinux. com. zone
allow-transfer { 192.168.200.112; }; //允许从服务器地址下载正向域数据
};
zone "200.168.192.in-addr.arpa" IN { //反向"192.168.200.0/24"区域
type master;
file "crushlinux.fan";
allow-transfer { 192.168.200.112; }; //允许从服务器地址下载反向域数据
};
(4.)创建正向解析
[root@localhost ~]# vim /var/named/crushlinux.zheng
$TTL 86400 //有效解析记录的生存周期
@ IN SOA crushlinux.com. admin.crushlinux.com. ( //SOA标记、域名、管理邮箱
20190817 //更新序列号,可以是10位以内的整数 3H //刷新时间,重新下载地址数据的间隔
15M // 重试延时,下载失败后的重试间隔
1W //失效时间,超过该时间仍无法下载则放弃
1D //无效解析记录的生存周期
)
IN NS ns1.crushlinux.com.
IN NS ns2.crushlinux.com.
IN MX 10 mail.crushlinux.com.
ns1 IN A 192.168.200.111
ns2 IN A 192.168.200.112
mail IN A 192.168.200.113
www IN A 192.168.200.114
study IN A 192.168.200.115
* IN A 192.168.200.111
ftp IN CNAME www
(5)创建反向解析
[root@localhost ~]# vim /var/named/crushlinux.fan
$TTL 86400
@ IN SOA crushlinux.com. admin.crushlinux.com. (
20190817
3H
15M
1W
1D
)
IN NS ns1.crushlinux.com.
IN NS ns2.crushlinux.com.
IN MX 10 mail.crushlinux.com.
111 IN PTR ns1.crushlinux.com.
112 IN PTR ns2.crushlinux.com.
113 IN PTR mail.crushlinux.com.
114 IN PTR www.crushlinux.com.
115 IN PTR study.crushlinux.com.
111 IN PTR ns1.crushlinux.com.
(6)修改正反向解析的组
[root@localhost ~]# chown :named /var/named/crushlinux.*
[root@localhost ~]# named-checkconf -z /etc/named.conf
[root@localhost ~]# named-checkzone crushlinux.com /var/named/crushlinux.zheng
[root@localhost ~]# named-checkzone crushlinux.com /var/named/crushlinux.fan
[root@localhost ~]# systemctl restart named
===============================================================================
从服务器:
(1)安装bind
[root@localhost ~]# yum -y install bind
(2)修改相关关文件
[root@localhost ~]# vim /etc/resolv.conf
# Generated by NetworkManager
nameserver 192.168.200.111
nameserver 192.168.200.112
[root@localhost ~]# vim/etc/hosts
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.200.111 ns1.crushlinux.com
192.168.200.112 ns2.crushlinux.com
(3.)修改主配文件
[root@localhost ~]# vim/etc/named.conf
options {
directory "/var/named";
};
zone "crushlinux.com" IN { //正向"crushlinux.com"区域
type slave; //类型为从区域
file "slaves/crushlinux.zheng"; //下载的区域文件保存到slave/crushlinux. com. zone
masters { 192.168.200.111; }; //指定主服务器的IP地址
};
zone "200.168.192.in-addr.arpa" IN { //反向"173.16.16.0/24"区域
type slave;
file "slaves/crushlinux.fan";
masters { 192.168.200.111; };
};
(4)开启服务
[root@localhost ~]# systemctl restart named
Linux网络服务第七章DNS域名解析服务的更多相关文章
- 《linux就该这么学》第十四节课:第13章,部署DNS域名解析服务(bind服务)
(借鉴请改动) 第十二章收尾 12.2.nfs网络文件系统 RHEL7默认安装了nfs,配置文件在 /etc/export 写入格式:共享目录 允许的客户端(参数) ro ...
- DNS域名解析四种配置实验 ---Linux DNS域名解析服务
DNS域名解析服务一.BIND域名服务基础1) DNS的定义2)域名结构3)DNS系统的作用① 正向解析:根据域名查找对应的IP地址② 反向解析:根据IP地址查找对应的域名③ DNS系统的分布式数据结 ...
- DNS域名解析服务(bind)
DNS(Domain Name System,域名系统): 用于管理和解析域名与IP地址对应关系的技术. 简单来说,就是能够接受用户输入的域名或IP地址,然后自动查找与之匹配(或者说具有映射关系)的I ...
- DNS域名解析服务以及Bind服务程序
一般来讲域名比IP地址更加的有含义.也更容易记住,所以通常用户更习惯输入域名来访问网络中的资源,但是计算机主机在互联网中只能通过IP识别对方主机,那么就需要DNS域名解析服务了. DNS域名解析服务( ...
- 使用unbound提供DNS域名解析服务
使用unbound提供DNS域名解析服务 # 作者:Eric # 微信:loveoracle11g # 先配yum仓库 [root@server1 ~]# cd /etc/yum.repos.d/ [ ...
- DNS域名解析服务(重点)
一 .DNS 系统的作用 1.DNS 服务器概述 DNS 系统在网络中的作用就是维护着一个地址数据库,其中记录了各种主机域名:与 IP地址的对应关系,以便为客户程序提供正向或反向的地址查询服务,即正 ...
- 配置DNS域名解析服务
概: DNS技术作为互联网基础设施中的重要一环,为用户提供不间断.稳定且快速的域名查询服务,保证互联网正常运转.在互联网中,用户基本上都是基于DNS服务,使用域名访问网络上的计算机,DNS服务是我 ...
- Linux内核探讨-- 第七章
本文是个人分析<Linux内核设计与实现>而写的总结,欢迎转载,请注明出处: http://blog.csdn.net/dlutbrucezhang/article/details/136 ...
- Linux内核分析——第七章 链接
第七章——链接 1.链接是将各种代码和数据部分收集起来并组合成为一个单一文件的过程,这个文件可被加载到存储器并执行. 2.链接可以执行于编译时,加载时,运行时. 7.1编译器驱动程序 1.大多数编译系 ...
随机推荐
- python编程学习路线及笔记
话不多说,直接上图! 关于人工智能算法学习思路,欢迎浏览我的另一篇随笔:如果你想开始学习算法,不妨先了解人工智能有哪些方向? 之后博主将持续分享各大算法的学习思路和学习笔记:hello world: ...
- 《Java基础复习》-控制执行流程
最近任务太多了,肝哭我了,boom 参考书目:Thinking in Java <Java基础复习>-控制执行流程 Java使用了C的所有流程控制语句 涉及关键字:if-else.whil ...
- python3的subprocess的各个方法的区别(-)
subprocess(python3.7) subprocess 主要是为了替换一下的模块函数,允许你执行一些命令,并获取返回的状态码和 输入,输出和错误信息. os.systemos.spawn* ...
- go 锁和sync包
一.什么是锁? sync.Mutex 是一个互斥锁,它的作用是守护在临界区入口来确保同一时间只能有一个线程进入临界区 在 sync 包中还有一个 RWMutex 锁:他能通过 RLock() 来允许同 ...
- SpringMVC框架详细教程(二)
创建动态Web项目 1.创建动态Web项目: 打开Eclipse,在Package Explorer右击,创建项目,选择动态Web项目(Dynamic Web Project). 填写项目名称,并选择 ...
- pgsql的使用
Deepin上面pgsql的启动 service postgresql start 停止 service postgresql stop 查看pgsql的版本 psql --version
- Codeup 25594 Problem H 例题5-8 Fibonacci数列
题目描述 输入一个正整数n,求Fibonacci数列的第n个数.Fibonacci数列的特点:第1,2个数为1,1.从第3个数开始,概述是前面两个数之和.即: 1,1,2,3,5,8,13,21 - ...
- 1.Git 安装
Git的安装 阿里云镜像去下载 阿里云的镜像地址 卸载Git 1.首先在系统环境变量->path->里面去清理掉git相关的环境变量 2.然后控制面板卸载 安装Git 一直下一步即可 使用 ...
- python初学(一)
1.输入一个百分制成绩,要求输出成绩等级A.B.C.D.E,其中90~100分为A,80~89分为B,70~79分为C,60~69分为D,60分以下为E. 要求:1)用if语句实现:2)输入百分制成绩 ...
- java面试题(一年工作经验)的心得
看面试题 正常人第一步肯定都会看面试题,我也不例外,在看的过程中,我发现有些文章写的不错,对我帮助不小值得推荐,如下: Java面试题全集(上) 很多基础的东西,建议先看. 各大公司Java后端开发面 ...