DNS解析的作用
• 为什么需要DNS系统
– www.baidu.com 与 119.75.217.56,哪个更好记?
– 互联网中的114查号台/导航员
• DNS服务器的功能
– 正向解析:根据注册的域名查找其对应的IP地址
– 反向解析:根据IP地址查找对应的注册域名,不常用
DNS服务器的分类:
根域名服务器 一级DNS服务器 二级DNS服务器 三级DNS服务器 缓存DNS
所有的域名都要以点作为结尾
www.baidu.com. www.qq.com.
根域名: .
一级域名: .cn .us .tw .hk .jp .kr …
二级域名: .com.cn .net.cn .org.cn …
三级域名: .nb.com.cn .dc.com.cn .tc.com.cn …
完全合格的主机名(FQDN): 主机头部+合法的域名
Full Qualified Domain Name
www.nb.com.cn
#####################################################
DNS域名管理
• IANA,互联网数字分配机构
– Internet Assigned Numbers Authority,
– 整个域名系统的最高权威机构
– 主管DNS根、.int、.arpa等国际化域名资源
• CNNIC,中国互联网络信息中心
– China Internet Network Information Center
– 主管国家顶级域 .cn
• BIND服务器端程序
– 主要执行程序:/usr/sbin/named
– 系统服务:named
– 默认端口:TCP/UDP 53
– 运行时的虚拟根环境:/var/named/chroot/
• 主配置文件:/etc/named.conf 设置本DNS服务器负责解析的域名
• 地址库文件:/var/named/ 完全合格的主机名与IP地址对应关系
tedu.cn
一、构建基本的DNS服务器
虚拟机A:
1.安装软件包
[root@svr7 ~]# yum -y install bind-chroot bind
运行时的虚拟根环境:/var/named/chroot/
bind-chroot:实现牢笼政策
bind:主程序
2.主配置文件的修改
[root@svr7 ~]# cp /etc/named.conf /etc/named.bak
[root@svr7 ~]# vim /etc/named.conf
127.0.0.1 永远代表本机
options {
directory “/var/named”; #指定地址库文件存放路径
};
zone “tedu.cn” IN { #设置本机负责解析的域名
type master; #设置本机为主DNS服务器
file “tedu.cn.zone”; #设置地址库文件的路径
};
3.建立新的地址库文件
必须保证named用户,对该文件具备读取权限
-p:保持权限不变进行复制
所有的域名都必须以点作为结尾
如果没有以点作为结尾,默认补全地址库文件负责的域名
]# cd /var/named/
]# cp -p named.localhost tedu.cn.zone
]# ls -l tedu.cn.zone
]# ls -l named.localhost
]# vim /var/named/tedu.cn.zone
tedu.cn. NS svr7 #声明DNS服务器
svr7 A 192.168.4.7 #指定DNS服务器IP地址
www A 1.1.1.1 #正向解析记录
ftp A 2.2.2.2 #正向解析记录
abc A 3.3.3.3 #正向解析记录
]# systemctl restart named
虚拟机B客户端验证:
1.指定虚拟机B的DNS服务器地址
]# echo nameserver 192.168.4.7 > /etc/resolv.conf
]# cat /etc/resolv.conf
2.测试域名解析
]# nslookup www.tedu.cn
##################################################
多区域的DNS服务器
虚拟机A:
[root@svr7 /]# vim /etc/named.conf
options {
directory “/var/named”;
};
zone “tedu.cn” IN {
type master;
file “tedu.cn.zone”;
};
zone “qq.com” IN {
type master;
file “qq.com.zone”;
};
[root@svr7 /]# cd /var/named/
[root@svr7 named]# cp -p tedu.cn.zone qq.com.zone
[root@svr7 named]# vim qq.com.zone
qq.com. NS svr7
svr7 A 192.168.4.7
www A 1.2.3.4
[root@svr7 named]# !sys
systemctl restart named
#############################################################
特殊解析
DNS轮询
• 基于DNS的站点负载均衡
– 一个域名 —> 多个不同IP地址
– 每个IP提供镜像服务内容
[root@svr7 ~]# vim /var/named/tedu.cn.zone
tedu.cn. NS svr7
svr7 A 192.168.4.7
www A 192.168.4.100
www A 192.168.4.200
www A 192.168.4.10
ftp A 2.2.2.2
abc A 3.3.3.3
[root@svr7 ~]# systemctl restart named
泛域名解析
[root@svr7 ~]# vim /var/named/tedu.cn.zone
tedu.cn. NS svr7
svr7 A 192.168.4.7
www A 192.168.4.10
ftp A 2.2.2.2
abc A 3.3.3.3
-
A 10.20.30.40
tedu.cn. A 50.60.70.80
[root@svr7 ~]# systemctl restart named
虚拟机B
[root@pc207 ~]# nslookup wwww.tedu.cn
[root@pc207 ~]# nslookup tedu.cn
解析记录的别名
[root@svr7 ~]# vim /var/named/tedu.cn.zone
tedu.cn. NS svr7
svr7 A 192.168.4.7
www A 192.168.4.10
ftp A 2.2.2.2
abc A 3.3.3.3
-
A 10.20.30.40
tedu.cn. A 50.60.70.80
tts CNAME ftp
[root@svr7 ~]# systemctl restart named
虚拟机B
[root@pc207 ~]# nslookup tts.tedu.cn
##################################################
DNS资源解析记录都有哪些?
NS记录:DNS服务器声明记录
A记录:正向解析记录
CNAME记录:解析记录别名
###################################################
主机名映射文件 /etc/hosts
1.可以直接达到解析域名
2.只能为本机提供解析
[root@svr7 ~]# vim /etc/hosts
192.168.4.222 www.360.com
[root@svr7 ~]# ping www.360.com
#################################################
DNS子域授权
父域:qq.com
子域:bj.qq.com
虚拟机A:DNS服务器负责解析qq.com
虚拟机B:DNS服务器负责解析bj.qq.com
子域授权:让虚拟机A可以解析bj.qq.com域名
准备一台全新的虚拟机C
1.配置IP地址:192.168.4.10/24
2.配置主机名:C.tedu.cn
[student@room9pc01 ~]$ clone-vm7
Enter VM number: 6
虚拟机A:DNS服务器
虚拟机B:DNS服务器
虚拟机C:客户端
###################################################
虚拟机B:DNS服务器,负责解析bj.qq.com域名
[root@pc207 ~]# yum -y install bind bind-chroot
[root@pc207 ~]# vim /etc/named.conf
options {
directory “/var/named”;
};
zone “bj.qq.com” IN {
type master;
file “bj.qq.com.zone”;
};
[root@pc207 ~]# cd /var/named/
[root@pc207 named]# cp -p named.localhost bj.qq.com.zone
[root@pc207 named]# vim bj.qq.com.zone
bj.qq.com. NS pc207
pc207 A 192.168.4.207
www A 4.5.6.7
[root@pc207 /]# systemctl restart named
虚拟机A:声明虚拟机B,DNS服务器
[root@svr7 ~]# vim /var/named/qq.com.zone
qq.com. NS svr7
bj.qq.com. NS pc207
svr7 A 192.168.4.7
pc207 A 192.168.4.207
www A 1.2.3.4
[root@svr7 ~]# systemctl restart named
[root@C ~]# nslookup www.bj.qq.com 192.168.4.7
Server: 192.168.4.7
Address: 192.168.4.7#53
Non-authoritative answer: #非权威解答
Name: www.bj.qq.com
Address: 4.5.6.7
###################################################
递归解析:
将首选DNS服务器与其他DNS服务器交互,最终将解析结果带回来过程
[root@svr7 ~]# vim /etc/named.conf
options {
directory “/var/named”;
recursion no; #关闭递归解析
};
迭代解析:
首选DNS服务器与其他DNS服务器交互,最终指引下一个DNS服务器地址
###################################################
专用于DNS域名测试的工具
[root@C ~]# dig www.bj.qq.com 192.168.4.7
#####################################################
缓存DNS服务器,缓存解析结果,加快访问
虚拟机A:真DNS服务器
虚拟机B:缓存DNS服务器
虚拟机C:客户端
虚拟机B:
1.修改主配文件
[root@pc207 /]# vim /etc/named.conf
options {
directory “/var/named”;
forwarders { 192.168.4.7; }; #转发给虚拟机A
};
[root@pc207 /]# !sys
systemctl restart named
[root@pc207 /]#
[root@C ~]# nslookup www.qq.com 192.168.4.207
#################################################
虚拟机A:构建DNS服务器
1.实现www.360.com解析结果为192.168.4.207
2.实现www.163.com解析结果为192.168.4.207
虚拟机B:构建Web服务器
1.建立基于域名的虚拟web主机
2.提供两个网站www.360.com与www.163.com
虚拟机C:客户端
1.在浏览器中输入www.360.com与www.163.com,可以访问到虚拟机B提供的页面
###################################################