DNS域名解析
1、DNS详解
1.1DNS简介
DNS:Domain Name System 域名系统,应用层协议,是互联网的一项服务。
它作为将域名和IP地址相互映射的一个分布式数据库,能够使人更方便地访问互联网。
根据地址解析的方向不同,DNS 区域相应地分为:
1、正向区域(包含域名到 IP 地址的解析记录)
2、反向区域(包含 IP 地址到域名的解析记录)
1.2域名结构
以www.example.com为例
.com是一级域名
example是二级域名
www是主机名
#主机名用于标识特定的设备或计算机,而子域名用于对主域名下的特定部分进行分类或组织
1.3域名解析类型
A记录:将域名解析为IPv4地址。
AAAA记录:将域名解析为IPv6地址。
CNAME记录:将域名解析为另一个域名,可用于创建别名。
MX记录:指定接收某域名邮件的邮件服务器地址。
NS记录:指定管理域名解析的权威域名服务器。
PTR记录:用于反向解析,将IP地址解析为域名
1.4实现DNS的两种方式
1.4.1方法一:本地hosts文件
[root@localhost /]#vim /etc/hosts //进入本地hosts文件
[root@localhost /]#vim /etc/nsswitch.conf //进入.conf配置文件修改dns的优先级
本地hosts的缺点:
分散式管理 每个机器都有host文件,不方便管理
需要手动更新文件
1.4DNS架构
- 一级域名:Top Level Domain: tld
- 三类:组织域、国家域(.cn, .ca, .hk, .tw)、反向域
- com, edu, mil, gov, net, org, int,arpa
- 二级域名:magedu.com
- 三级域名:study.magedu.com
(1)根域
使用“.”表示,位于域命名空间层次结构的最高层;
在根域服务器中只保存了其下层的一级域的DNS服务器名称和IP地址对应关系;
(2)顶级域/一级域
顶级域位于根域下层,可以分为两类:
组织域(.com,.net,.org,.gov,.edu,.mil等)
国家域(.iq,.tw,.hk,.jp,.cn等);
(3)二级域
二级域位于顶级域下层,是指为了在Internet上使用而注册到个人或企事业单位的域名;
(4)子域
子域是根据具体情况从二级域中按部门或地理位置创建;
95)主机名
位于DNS域命名空间的最低层,主要指计算机的主机名;
1.5查询方式
- 递归查询:发送解析请求后,等待结果返回即可,不需要逐级查询;
- 迭代查询:此查询的源不变,但查询的目标不断变化,为查询结果一般需要发起多次查询
2、DNS域名解析原理
2.1dns解析过程:
查询本机缓存hosts->dns域名服务器(运营商)
->根域服务器->顶级域->二级域->子域
->本地缓存->用户->ip地址
1.用户在浏览器中输入目标域名,应用程序发送域名解析请求;
2.先查询本地dns缓存,如果有历史解析记录,直接获取IP地址,进行访问;
3.如果没有,查询hosts文件中是否有相关配置,如果有直接获取IP地址;
4.如果没有,向本地DNS服务器发起递归查询,等待反馈结果;
5.本地DNS服务器先检查服务器的本地缓存,如果有历史记录,直接反馈IP地址;如果没有,发起迭代查询;
7.首先,向根域服务器发起迭代查询,找到域名所属的一级域服务器;
8.再向一级域服务器发起迭代查询,找到域名所属的二级域服务器;
9.本地dns服务器会一直向下发起迭代查询,直到找到权威DNS服务器,向权威服务器发起递归查询,等待权威服务器反馈域名对应的IP地址
10.本地dns服务器将IP地址反馈给应用程序,递归查询结束;
2.2解析类型
- 正向解析:由域名查找IP地址
- 反向解析:由IP地址查找域名
2.3DNS软件bind
用来解析内网,配置文件定义域名和IP地址规则
服务名:named
文件位置:/etc/named.conf 主配置文件
/etc/named.rfc1912.zones 区域配置文件
/var/named/named.localhost 区域数据配置文件(模板文件,不可直接在原文件进行更改)
3、正向解析的实际运用
yum -y install bind*
关闭防火墙
查看安装的各种信息
vim /etc/named.conf 可以修改配置
编辑域名文件 /etc/named.rfc1912.zones
根据域名文件中定义的名称,来建立数据库文件
修改DNS
vim /etc/sysconfig/network-scripts/ifcfg-ens33 #编辑网卡配置
重启网卡
开启服务,进行域名解析
systemctl start named //重启程序
host www.fsj.com //检测一下
4、反向解析的实际运用
systemctl stop firewalld.service #关闭防火墙
setenforce 0
yum网络安装bind
查看安装的各种配置信息所在位置
vim /etc/named.conf 修改配置信息
vim /etc/named.rfc1912.zones #编辑域名文件
vim yun.com.zone #编辑数据库文件
vim /etc/sysconfig/network-scripts/ifcfg-ens33 //修改网卡信息
DNS1=192.168.192.100 #将本机作为dns服务器
systemctl restart network //重启网卡
开启服务,进行域名解析
systemctl start named #开启
host 192.168.190.100 #反向解析
5、主从复制
5.1主服务器配置192.168.190.100
开启防火墙
安装bind
查看安装文件的所在目录
vim /etc/named.conf 修改配置信息
vim /etc/named.rfc1912.zones #编辑域名文件
cp -a named.localhost fsj.com.zone
vim fsj.com.zone
systemctl restart named //重启程序
vim /etc/sysconfig/networlk-scripts/ifcfg-ens33 //编辑网卡信息,修改网卡配置
systemctl restart network //重启网卡
host www.fsj.network //开启服务,进行域名解析
5.2从服务器配置192.168.190.254
开启防火墙
安装bind
查看安装文件配置信息所在位置
vim /etc/named.conf 修改配置信息
vim /etc/named.rfc1912.zones #编辑域名文件
systemctl restart named //重启程序
ls /var/named/slaves #查看数据库文件是否生成
dig www.fsj.com@192.168.190.100 //验证主从复制是否生效