DNS域名解析
一.DNS名词介绍
1.1DNS介绍
- 域名管理系统DNS是域名解析服务器的意思,应用层协议,是互联网的一项服务,它的互联网作用是;把域名转换成可以识别的ip地址,在通过ip地址访问主机。由文字组成,更容易记忆
- 每一台DNS服务器都只负责管理一个有限范围内的主机域名和ip地址的对应关系,这些特定的DNS域或ip地址段称为总额,根据地址解析的方向不同,DNS区域区域相应地分为正向区域和反向区域。
1.2DNS系统作用
- 正向解析:根据域名查找对应的IP地址
- 反向解析:根据ip地址查找对应的域名
- DNS系统的分布式数据结构:

- IPv4的根名称服务器;全球共13个负责解析根域的DNS服务器,美国有10个,英国1个,瑞典1个,日本1个
- IPv6的根名称服务器;全球共25个,中国1主3从,美国1主2从
1.3DNS查询类型及原理
- 一级DNS服务器:专门负责一级域名解析
| 一级域名 | |
|---|---|
| .com | 工商企业 |
| .net | 网络供应商 |
| .edu | 教育机构 |
| .cn | 中国国家域名 |
| .org | 团体组织 |
| .gov | 政府部门 |
- 二级DNS服务器;专门负责二级域名的解析
| 二级域名 |
|---|
| .net.cn |
| .edu.cn |
| .com.cn |
- 子域名DNS服务器;专门负责子域名的解析也称为三级域名
| 三级域名 |
|---|
| ina.com.cn |
| .pku.edu.cn |
- 主机站点
| 主机名 |
|---|
| tts9 |
| tts6 |
| www |
1.4查询方式
-递归查询;发送解析请求,等待结果返回即可,不需要逐级查询
- 迭代查询;此查询的目标不断变化,为查询结果一般需要发起多次查询
二.bind服务端程序
2.1什么是bind
BIND 是DNS服务器软件
BIND 服务器可以提供域名解析服务,能够接收客户端的DNS查询请求,并返回相应的ip地址
2.2.配置文件详解
yum -y install bind* 安装bind服务
rpm -qc bind 查看所有配置文件

2.2.1主配置文件概述及主要内容格式
主配置文件
#主配置文件比较重要,最好不要修改,所以将域名写到域名文件中
#路径#
/etc/named.conf
#主要内容#
options {
listen-on port 53 { any; };
listen-on-v6 port 53 { ::1; };
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";
recursing-file "/var/named/data/named.recursing";
secroots-file "/var/named/data/named.secroots";
allow-query { any; };
2.2.2域名文件概述及内容主要格式
域名文件 ----指定域名的名称
#路径#
/etc/named.rfc1912.zones
#主要内容#
##正向解析##
zone "fang.com" IN {
type master;
file "fang.com.zone";
};
##主从复制##
###主服务器###
zone "byyd.com" IN {
type master;
file "byyd.com.zone";
allow-transfer { 192.168.11.11; };
};
###从服务器###
zone "byyd.com" IN {
type slave;
file "slaves/byyd.com.zone";
masters { 192.168.1.10; };
};
2.2.3数据库文件概述及内容主要格式
域名文件 ----指定域名的名称
#路径#
/etc/named.rfc1912.zones
#主要内容#
##正向解析##
zone "byyd.com" IN {
type master;
file "byyd.com.zone";
};
##反向解析##
zone "2.168.192.in-addr.apra" IN {
type slave;
file "dyyb.com.zone";
};
##主从复制##
###主服务器###
zone "byyd.com" IN {
type master;
file "byyd.com.zone";
allow-transfer { 192.168.2.101; };
};
###从服务器###
zone "byyd.com" IN {
type slave;
file "slaves/byyd.com.zone";
masters { 192.168.2.100; };
};
2.2.3域名文件概述及主要内容
数据库文件
#注意权限问题
/var/named/*.zone #自定义的,在域名配置文件中定义
#为什么将数据库文件放在这里?
#/var/named为named用户的家目录,以named用户身份运行
#root用户的权限过高
#比如复制文件 cp -p 才能成功
##主要内容,以正向解析为例##
##;后的内容为注释,注释可不写##
##要不就统一写缩写,要么就统一写完整##
$ORIGIN kgc.com. #域名的基础名称
$TTL 1D #默认生存时间,即生命周期
@ IN SOA master.kgc.com. admin.kgc.com.(
#@表示定义的域名 IN表示使用Internet协议 初始记录
0 ; serial #数据库的版本 版本相同表示主从服务器一致,主服务器的版本更改后,从服务器的版本也要修改
3600 ; refresh # 刷新时间,拉取时间。隔多久会同步配置
1800 ; retry # 失败重试等待时间
604800 ; expire #过期时间,一直无法拉取,这个时间后过期
86400 ; minimum [TTL]
)
; Name Servers #服务器名称,此注释可不写
#记录指定域名 域名名称
NS master
; DNS A Records #域名映射到IP地址,此注释可不写
#域名 正向映射 IP地址
master A 192.168.1.10
mail A 192.168.1.20
rndc reload #重载 专用于bind服务
三.正向解析
3.1什么是正向解析
正向解析是将域名解析为对应的ip地址过程
3.2实例
1.编辑主配置文件/etc/named.conf


2.编辑域名文件/etc/named.rfc1912.zones

3.根据域名文件中定义的名称,来建立数据库文件

4.修改dns和自己同一地址



5.开启服务,进行域名解析

四.主从复制
4.1什么是主从复制
主从复制是一种数据库复制技术,可以实现数据备份,读写分离和故障恢复等功能
4.1.1主服务器和从服务器
主服务器
-
主服务器是系统中的数据源,负责处理所有的写操作(如插入,更新,删除)
-
它将这些操作记录到二进制日志中,二进制日志是主服务器上的一个持久化日志文件,记录了所有的写操作
-
主服务器将二进制日志发送给从服务器,以便从服务器可以复制主服务器上的操作
从服务器 -
从服务器是系统中的数据副本,可以用作备份,读操作和故障恢复
-
从服务器连接到主服务器,并通过复制主服务器上的二进制日志来获取更新的数据
-
从服务器不处理写操作,它只接收主服务器发送的二进制日志,并将其应用到自己的数据库上
4.1.2主从复制优缺点
主从复制的优势
- 数据备份:从服务器可以作为主服务器的备份,提供数据的冗余能力
- 读写分离;将读操作分发到从服务器上,减轻主服务器的负载并提高系统性能
- 故障恢复;如果主服务器发生故障,可以快速将从服务器切换为主服务器,保持服务的连续性
主从复制的缺点
- 主从复制是异步的,从服务器上的数据复制可能会有一定的延迟
- 主从复制需要管理和监控,以确保复制的稳定性和一致性
4.2主从复制实例
1.主服务器的配置
systemctl stop firewalld.service 关闭防火墙
setenforce 0
vim /etc/named.conf 编辑主配置文件

vim /etc/namend.rfc1912.zones 编辑域名文件

cd /var/named 切换到数据库文件所在路径
cp -p named.localhost fang.com.zone 导入配置模版
vim fang.com.zone 编辑数据库文件

vim /etc/sysconfig/network-scripts/ifcfg-ens33
systemctl restart network 重启网卡服务

测试正向解析是否成功
systemctl start named 启动bind服务
host www.fang.com 域名解析
systemctl stop named 关闭服务

2.从服务器配置
systemctl stop firewalld.service 关闭防火墙
setenforce 0
vim /etc/named.conf 编辑主配置文件

vim /etc/named.rfc1912.zones 编辑域名文件

systemctl start named 开启bind服务
ls /var/named/slaves 查看数据库文件是否生成

本文详细介绍了DNS的基本概念、工作原理,重点讲解了bind服务端程序的配置,包括正向解析和主从复制的实现方法,以及DNS查询的两种方式。

9443

被折叠的 条评论
为什么被折叠?



