Linux网络——DNS域名解析服务
DNS域名解析
- 一、DNS域名系统
- 1.1 DNS作用
- 1.2 DNS系统的类型
- 1)主域名服务器:
- 2)从域名服务器:
- DNS系统的分布式数据结构:
- 1.3 DNS系统的查询方式
- 二、DNS的域名结构
- 2.1 域名结构
- 2.2 域名分布式结构
- 2.3 DNS服务器类型
- 2.5 DNS正向解析查询原理过程
- 三、DNS域名解析服务器步骤
- 3.1 资源记录
- SOA记录
- NS记录
- MX记录
- A记录
- PTR记录
- CNAME别名记录
- 3.2 正向解析步骤
- 1. 正向解析
- 2. 修改主配置文件——/etc/named.conf
- 3. 修改区域配置文件——/etc/named.rfc1912.zones
- 4. 修改区域配置文件,添加正向区域配置——/var/named
- 5. 结果:
- 3.3 反向解析法配置
- 1. 修改区域配置文件——/etc/named.rfc1912.zones
- 2. 修改区域配置文件,添加反向区域配置——/var/named
- 3.验证结果
- 3. 主从复制配置
- 3.1 修改主域名服务器的区域配置文件
- 【总结】
一、DNS域名系统
域名管理系统DNS(Domain Name System)是域名解析服务器的意思,应用层协议,是互联网的一项服务。它在互联网的作用是:把域名转换成网络可以识别的ip地址,在通过IP地址访问主机。 种由文字组成的名称,显而易见要更容易记忆。
1.1 DNS作用
- 正向解析: 根据域名查找对应的IP地址
- 反向解析: 根据IP地址查找对应的域名
- 53端口,tcp(域名传送)/udp(域名解析)
1.2 DNS系统的类型
1)主域名服务器:
负责维护一个区域的所有域名信息,是特定的所有信息的权威信息源,数据可以修改。构建主域名服务器时,需要自行建立所负责区域的地址数据文件。
具有唯一性
2)从域名服务器:
当主域名服务器出现故障、关闭或负载过重时,从域名服务器作为备份服务提供域名解析服务。从域名服务器提供的解析结果不是由自己决定的,而是来自于主域名服务器。构建从域名服务器时,需要指定主域名服务器的位置,以便服务器能自动同步区域的地址数据库。
3)存域名服务器:
只提供域名解析结果的缓存功能 目的在于提高查询速度和效率,但没有域名数据库。
它从某个远程服务器取得每次域名服务器查询的结果,并将它放在高速缓存中,以后查询相同的信息时用它予以响应。缓存域名服务器不是权威性服务器,因为提供的所有信息都是间接信息。构建缓存域名服务器时,必须设置根域或指定其他DNS服务器作为解析来源。
4)转发域名服务器:
负责所有非本地域名的本地查询。转发域名服务器接到查询请求后,在其缓存中查找,如找不到就将请求依次转发到指定的域名服务器,直到查找到结果为止,否则返回无法映射的结果。
DNS系统的分布式数据结构:
1.3 DNS系统的查询方式
- 递归查询: 一般客户机和本地DNS服务器之间属于递归查询,即当客户机向DNS服务器发出请求后, 若DNS服务器本身不能解析,则会向另外的DNS服务器发出查询请求,得到最终的肯定或否定的结果后转交给客户机。此查询的源和目标保持不变,为了查询结果只需要发起一次查询。(不需要自己动手)
- 迭代查询: 一般情况下(有例外)本地的DNS服务器向其它DNS服务器的查询属于迭代查询,如:若对方不能返回权威的结果,则它会向下一个DNS服务器(参考前一个DNS服务器返回的结果)再次发起进行查询,直到返回查询的结果为止。此查询的源不变,但查询的目标不断变化,为查询结果一般需 要发起多次查询。(需要自己动手)
二、DNS的域名结构
2.1 域名结构
http://www.sina.com.cn.主机名 子域 二级域 顶级域 根域
2.2 域名分布式结构
类型 | 原理 |
---|---|
根域 | 位于树状结构最顶层,用"."表示 |
顶级域 | 一般代表一种类型的组织机构或国家地区;如.net(网络供应商)、.com(工商企业)、.org(团体组织)、.edu(教育机构)、.gov(政府部门)、.cn(中国国家域名) |
二级域 | 用来标明顶级域内的一个特定的组织,国家顶级域下面的二级域名由国家部门统一管理 |
子域 | 二级域下所创建的各级域统称为子域,各个组织或用户可以自由申请注册自己的域名 |
主机 | 主机位于域名空间最下层,就是一台具体的计算机 |
- 一级DNS服务器:专门负责一级域名的解析(一般代表一种类型的组织机构或国家地区):
一级域名 | |
---|---|
.com | (工商企业) |
.net | 网络供应商 |
.edu | (教育机构) |
.cn | 中国国家域名 |
.org | 团体组织 |
.gov | 政府部门 |
- 二级DNS服务器:专门负责二级域名的解析
二级域名 | |
---|---|
.net | .cn |
.edu. | cn |
.com. | cn |
- 子域名DNS服务器:专门负责子域名的解析也称为三级域名
三级域名 |
---|
ina.com.cn |
.pku.edu.cn |
- 主机站点
主机名 |
---|
tts9 |
tts6 |
www |
2.3 DNS服务器类型
2.5 DNS正向解析查询原理过程
先查本机的缓存记录
查询hosts文件
查询dns域名服务器,交给dns域名服务器处理以上过程成为递归查询:我要一个答案你直接会给我结果
这个dns服务器可能是本地域名服务器,也有个缓存,如果有直接返回结果,如果没有则进行下一步
求助根域服务器,根域服务器返回可能会知道结果的顶级域服务器让他去找顶级域服务器
求助顶级域服务器,顶级域服务器返回可能会知道结果的二级域服务器然他去找二级域服务器
求助二级域服务器,二级域服务器查询发现是我的主机,把查询到的ip地址返回给本地域名服务器
本地域名服务器将结果记录到缓存,然后把域名和ip的对应关系返回给客户端
三、DNS域名解析服务器步骤
3.1 资源记录
SOA记录
name: 当前区域的名字,例如"kiro.com."
value: 有多部分组成
注意:
当前区域的主DNS服务器的正向解析,也可以使用当前区域的名字
当前区域管理员的邮箱地址;但地址中不能使用@符号,一般用.替换
例如:admin.kiro.com
主从服务区域传输相关定义以及否定的答案的统一的TTL
范例:
$TTL 1D
@ IN SOA master.kiro.com. admin.kiro.com (0 ; serial1D ; refresh1H ; retry1W ; expire3H ) ; minimum
NS记录
name: 当前区域的名字
value: 当前区域的某DNS服务器的名字,例如: ns.kgc.org.
注意:
相邻的两个资源记录的name相同时,后续的可省略
对NS记录而言,任何一个ns记录后面的服务器名字,都应该在后续有一个A记录
一个区域可以有多个NS记录
范例:
master IN NS kiro.com.master IN NS kiro.com.
MX记录
name: 当前区域的名字
value: 当前区域的某邮件服务器(smtp服务器)的主机名
注意:
一个区域内,MX记录可有多个;但每个记录的value之前应该有一个数字(0-99),表示此服务器的
优先级;数字越小优先级越高
对MX记录而言,任何一个MX记录后面的服务器名字,都应该在后续有一个A记录
范例:MX 10 mail1.kiro.comMX 20 mail2.kiro.com
mail A 192.168.61.50
A记录
name: 某主机的域名解析,例如:www.kiro.com
value:主机名对应主机的IP地址
避免用户写错名称时给错误答案,可通过泛域名解析进行解析至某特定地址
范例:
www.kiro.com. IN A 1.1.1.1
www.kiro.com. IN A 2.2.2.2
www.kiro.com. IN A 3.3.3.3
www.kiro.com. IN A 4.4.4.4
* IN A 5.5.5.5
#代表泛域名
@ IN A 6.6.6.6
#代表不需要名字
PTR记录
name: IP,有特定格式,把IP地址反过来写,192.168.59.100,要写作100.59.168.192;而有特定后缀:in-addr.arpa.,所以完整写法为:100.59.168.192.in-addr.arpa. value: FQDN
CNAME别名记录
name: 别名的FQDN value: 真正名字的FQDN
ftp.wlw.com. IN CNAME www.wlw.com
3.2 正向解析步骤
1. 正向解析
#systemctl stop firewalld.service //关闭防火墙
#setenforce 0 //关闭selinux
#yum install -y bind bind-utils //安装bind包
#rpm -qc bind //查看bind软件配置文件所在路径
/etc/logrotate.d/named
/etc/named.conf #修改主配置文件
/etc/named.iscdlv.key
/etc/named.rfc1912.zones #修改区域配置文件
/etc/named.root.key
/etc/rndc.conf
/etc/rndc.key
/etc/sysconfig/named
/var/named/named.ca
/var/named/named.empty
/var/named/named.localhost #配置区域数据文件
/var/named/named.loopback
[root@kiro named]# systemctl start named
2. 修改主配置文件——/etc/named.conf
修改主配置文件
#vim /etc/named.conf
12 options {13 listen-on port 53 { any; }; ##端口监听14 listen-on-v6 port 53 { ::1; };15 directory "/var/named";16 dump-file "/var/named/data/cache_dump.db";17 statistics-file "/var/named/data/named_stats.txt";18 memstatistics-file "/var/named/data/named_mem_stats.txt";19 recursing-file "/var/named/data/named.recursing";20 secroots-file "/var/named/data/named.secroots";21 allow-query { any; }; ##允许访问权限[root@kiro named]# rndc reload //刷新服务
3. 修改区域配置文件——/etc/named.rfc1912.zones
# vim named.rfc1912.zones 13 zone "kiro.com" IN {14 type master; ##服务器类型:主服务器15 file "kiro.com.zone"; ##给数据库文件定义名字16 allow-update { none; };17 };[root@localhost named]# rndc reload //刷新服务
4. 修改区域配置文件,添加正向区域配置——/var/named
[root@kiro etc]# cd /var/named/
[root@localhost named]# ls
data dynamic named.ca named.empty named.localhost named.loopback slaves ##都可以拿来做模板
[root@kiro named]# cp -a named.localhost kiro.com.zone ##-a才有root权限
[root@kiro named]# ls
data named.ca named.localhost kiro.com.zone
dynamic named.empty named.loopback slaves
[root@kiro named]# vim kiro.com.zone $TTL 1D ##1 day 的生命周期
@ IN SOA kiro.com. admin.kiro.com. ( ##管理员kiro的邮箱0 ; serial1D ; refresh1H ; retry1W ; expire3H ) ; minimumNS kiro.com.A 192.168.61.100 ##本机ipAAAA ::1MX 10 mail.kiro.com.
mail A 192.168.100.200
web A 192.168.100.201
ftp A 192.168.100.202[root@localhost named]# rndc reload //刷新服务
-----将服务器的dns指定到本机IP-----
[root@localhost ~]#vim /etc/sysconfig/network-scripts/ifcfg-ens33
DNS1=192.168.61.100[root@localhost ~]#systemctl restart network[root@localhost ~]# cat /etc/resolv.conf
5. 结果:
3.3 反向解析法配置
1. 修改区域配置文件——/etc/named.rfc1912.zones
# vim named.rfc1912.zones
52 zone "61.168.192.in-addr.arpa" IN {53 type master;54 file "kiro1.com.zone";55 allow-update { none; };56 };57 [root@kiro named]# rndc reload //刷新服务
2. 修改区域配置文件,添加反向区域配置——/var/named
[root@Kiro named]# cp -p kiro.com.zone kiro1.com.zone ##复制正向解析文件
[root@Kiro named]# vim kiro1.com.zone ##修改配置文件$TTL 1D
@ IN SOA kiro.com. admin.kiro.com. (0 ; serial1D ; refresh1H ; retry1W ; expire3H ) ; minimumNS kiro.com.
master IN A 192.168.61.100 ##本机ip
100 IN PTR www.kiro.com. ##192.168.61.100指向www.kiro.com[root@localhost named]# rndc reload //刷新服务
反向文件配置的验证 [root@localhost named]# host 192.168.68.100
100.68.168.192.in-addr.arpa domain name pointer www.oyyy1.com. [root@localhost named]# host 192.168.68.99
99.68.168.192.in-addr.arpa domain name pointer ftp.oyyy1.com.
3.验证结果
3. 主从复制配置
沿用上面的配置环境,需要的东西已经配制出来了:
3.1 修改主域名服务器的区域配置文件
1.将我们前2和3配置的服务器作为主服务器,只要把kiro.com.zone区域数据文件中的配置简化以下就好2.重新打开一台虚拟机作为从服务器配置:
1)安装bind服务,并且关闭防火墙和增强功能(selinux)
[root@pxw kiro]# yum install bind bind-utils -y
[root@pxw kiro]# systemctl stop firewalld.service
[root@pxw kiro]# setenforce 02)/etc/name.conf 修改主配置文件,注释掉以下两行
// listen-on port 53 { 127.0.0.1; };
// allow-query { localhost; };3)/etc/named.rfc1912.zones 添加从服务器配置文件
zone "kiro.com" IN {type slave; ##从区域类型file "slaves/kiro.com.zone"; ##文件在/var/named/slaves下masters { 192.168.61.100; }; ##申明主服务器的ip地址
};4)验证:在从服务器上
[root@pxw slaves]# dig www.kiro.com @192.168.61.110 ##从服务器的ip地址5)主服务器修改一下内容:
[root@Kiro named]# vim /var/named/kiro.com.zone
www IN A 192.168.61.100 ##更改为192.168.61.101[root@Kiro named]# host www.kiro.com
www.kiro.com has address 192.168.61.100 ##此时服务器解析出来还是之前的ip6)在主服务器中配置从服务器后立刻可以获取到修改后的地址
[root@Kiro named]# vim /var/named/kiro.com.zone1 ; serial
slave IN A 192.168.61.110
4) 验证一下:从服务器上
5)在主服务器中原本的192.168.61.100修改为192.168.61.101
6)主服务器中添加从服务器后,
【总结】
- IPv4的根名称服务器:全球共13个负责解析根域的DNS服务器,美国10个,英国1,瑞典1,日本1
- IPv6的根名称服务器:全球共25个,中国1主3从,美国1主2从
- cat /etc/resolv.conf ##查询所用域名解析地址
- TCP是用来做区域传送,UDP是DNS域名解析
将此背景设置为紫色:#FF00FF |
Linux网络——DNS域名解析服务相关推荐
- Linux网络 DNS域名解析服务
目录 1. DNS域名解析服务 (1)DNS系统的作用及类型 (2)缓存域名服务器 (3)DNS系统类型 (4)BIND的安装和配置文件 (1)BIND软件安装 (2)DNS的分布式互联网解析库 (5 ...
- 3.Linux网络DNS域名解析服务
1.DNS系统的作用及类型 DNS系统的作用 正向解析:根据域名查找对应的IP地址 反向解析:根据IP地址查找对应的域名 DNS系统的分布式数据结构 全球13台DNS根服务器分布: 美国VeriSig ...
- Linux系统安装DNS域名解析服务
在linux系统下安装DNS域名解析服务 步骤如下: 1>查看挂在镜像位置 2>查看光盘是否挂载 3>查看需要挂在的位置 4>进行挂载 [root@localhost mnt] ...
- linux中DNS域名解析服务
目录 一.DNS 1.DNS简介 2.DNS系统的分布式数据结构 2.1 域名结构解析(简版) 2.2 域名结构解析(详细) 3.DNS系统的作用 4.DNS完整过程 5.查询方式 6.打开一个网页中 ...
- linux搭建DNS域名解析服务
一.DNS简介 DNS协议运行在UDP协议之上,使用53号端口进行通信. /etc/hosts 本地域名解析文件 /etc/named.conf bind服务的主配 ...
- Linux网络服务之DNS域名解析服务
Linux网络服务之DNS域名解析服务 DNS简介 DNS名词介绍 DNS系统的作用 DNS分布式数据结构 DNS系统类型 DNS的查询方式(递归查询和迭代查询) 本地主机映射文件hosts 域名的解 ...
- 在linux下dns绑定域名,在Linux系统中,使用Bind搭建DNS域名解析服务
DNS域名解析服务(DomainNameSystem)是用于解析域名与IP地址对应关系的服务作用为维护着一个地址数据库,记录着各种主机域名与IP地址的对应关系,以便为客户提供正向或反向的地址查询服务, ...
- LinuxProbe 0x15 SAMBA文件共享服务、NFS网络文件系统、AutoFs自动挂载服务、DNS域名解析服务
配置网络文件系统(Network File System,NFS)服务来简化Linux系统之间的文件共享工作, 通过部署NFS服务在多台Linux系统之间挂载并使用资源. 在管理设备挂载信息时,使用a ...
- linux下DNS配置及域名解析服务,linux DNS域名解析服务
DNS域名解析服务 (一)Dns软件包安装 Bind:提供域名服务的主要程序及相关文件 Bind-utils:测试dns工具(nslookup.host) Yum仓库安装软件 Yum install ...
最新文章
- Ceres入门——Ceres的基本使用方法
- TCP、IP协议族之数字签名与HTTPS详解
- 企业管理难题:团队协作
- Spring boot 上传文件时 MultipartFile 报空指针
- 阻塞与非阻塞、同步与异步 I/O模型
- HDU 4085 Peach Blossom Spring
- cordova开发日记04 常用插件与使用(更新2016-05-19)
- iPhone 11全球供应紧张:何时补货未知
- C++的三种封装层级
- java web ssh jar_java web 汽车美容管理系统 ssh 毕设作品
- OpenCV-绘制多边形(fillConvexPoly和fillPoly的区别)
- matlab实现大律法,Otsu算法(大律法或最大类间方差法)
- chrome浏览器多开工具
- REST API 是什么?
- Java 笔试强训 牛客网选择编程题 02
- 用于高速网络的实时且可靠的基于异常的入侵检测
- 感谢csdn 2021年中秋月饼礼盒
- SQL零基础入门学习(十三)
- 苹果手机里面彻底删除的照片如何找回来?
- 解决“我们注意到您的计算机目前处于离线状态。您需要连接网络以使用EA”