DNS

DNS解析的作用

#为什么需要DNS系统
– www.baidu.com 与 119.75.217.56,哪个更好记?
– 互联网中的114查号台/导航员
#DNS服务器功能
– 正向解析:根据注册的域名查找其对应的IP地址
– 反向解析:根据IP地址查找对应的注册域名,不常用

DNS服务器的分类:
  根域名服务器   
  一级DNS服务器  
  二级DNS服务器  
  三级DNS服务器  
  缓存DNS
所有的域名都要以点作为结尾

www.baidu.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


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地址对应关系



一、构建基本的DNS服务器

构建DNS服务

虚拟机A:
1.装包:

[root@svr7 ~]# yum  -y  install  bind-chroot  bind

运行时的虚拟根环境:/var/name/chroot
bind-chroot:实现牢笼政策
bind:主程序
2.主配置文件的修改:
// # /* */ 都是表示注释的意思
#127.0.0.1永远代表主机
虚拟机A:

[root@svr7 ~]# cp  /etc/named.conf  /etc/named.bak
[root@svr7 ~]# vim  /etc/named.conf
进入删除,只剩以下内容进行修改:
options {
        directory       "/var/named";             #指定地址库文件存放路径
};
zone "tedu.cn" IN {                               #设置本机负责解析的域名
        type master;                              #设置本机为主机DNS服务器
        file "tedu.cn.zone";                      #设置地址库文件的路径
};

3.建立新的地址库文件:
必须保证named用户对该文件具备读取权限
-p:保持权限不变进行复制
所有的域名都必须以点结尾
如果没有以点作为结尾,默认补全地址库文件负责的域名
虚拟机A;

[root@svr7 ~]# cd  /var/named
[root@svr7 named]# cp -p named.localhost  tedu.cn.zone
[root@svr7 named]# ls  -l  tedu.cn.zone
-rw-r----- 1 root root 152 12月 19 10:33 tedu.cn.zone
[root@svr7 named]# ls  -l   named.localhost
-rw-r----- 1 root named 152 6月  21 2007 named.localhost
[root@svr7 named]# vim /var/named/tedu.cn.zone
tedu.cn.    NS   svr7                   #声明DNS服务器
svr         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                #正向解析记录
[root@svr7 named]# systemctl  restart  named

虚拟机B客户端验证:
1.指定虚拟机B的DNS服务器地址

[root@pc207 ~]# echo  nameserver  192.168.4.7  >  /etc/reslo.conf
[root@pc207 ~]# cat  /etc/reslo.conf
nameserver 192.168.4.7

2.测试域名解析
虚拟机A:

[root@svr7 named]# nslookup  www.tedu.cn
Server:		127.0.0.1
Address:	127.0.0.1#53

Name:	www.tedu.cn
Address: 1.1.1.1

多区域的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
qq.com.         NS      svr7
svr7            A       192.168.4.7
www             A       1.1.1.1
[root@svr7 named]# systemctl  restart   named

特殊解析
DNS轮询

• 基于DNS的站点负载均衡
– 一个域名 —> 多个不同IP地址
– 每个IP提供镜像服务内容
虚拟机A:

[root@svr7 named]# 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
泛域名解析

虚拟机A:

[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
Server:		192.168.4.7
Address:	192.168.4.7#53

Name:	tedu.cn
Address: 50.60.70.80

解析记录的别名

虚拟机A:

[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.只能为本机提供解析
3.nslookup不读/etc/hosts文件!
虚拟机A:

[root@svr7 ~]# vim /etc/hosts
 192.168.4.222   www.360.com
[root@svr7 ~]# ping www.360.com        #只要可以ping就说明可以解析!
DNS子域授权
父域:qq.com
子域:bj.qq.com

虚拟机A:DNS服务器负责解析qq.com
虚拟机B:DNS服务器负责解析bj.qq.com
子域授权:让虚拟机A可以解析bj.qq.com域名
只能让父域声明子域,不能让子域去声明父域
准备一台全新的虚拟机C,查看本机是否有yum源,如果没有则配置yum源
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 named]# 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
客户端C:
[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服务器交互,最终将解析结果带回来过程
虚拟机A:

[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
[root@pc207 /]# vim /etc/named.conf
options {
        directory       "/var/named";
        forwarders  {  192.168.4.7;  };       #当收到域名解析时直接转发给虚拟机A,让虚拟机A去解析域名
};
[root@pc207 /]# !sys                          #重起服务
systemctl restart named
[root@pc207 /]# 
客户端:
[root@C ~]# nslookup www.qq.com 192.168.4.207  
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值