linux系统管理:DNS服务

DNS域名解析服务

域名解析

域名对应ip
www.baidu.com这个域名--对应IP---183.232.231.174

解析方式:

本地解析:/etc/hosts    默认先使用本地解析
[root@linux-server ~]# vim /etc/hosts  #添加如下内容
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.246.160 www.soso666.cn
表示:cn域下面有一个soso666,soso666下面有一台叫www的机器。解析速度快。机器少可以不用DNS。

使用DNS服务器解析

DNS: domain name service 
客户端设置(指定)DNS:
# vim /etc/resolv.conf
# Generated by NetworkManager
search localdomain
nameserver 192.168.246.2
nameserver 114.114.114.114

域名空间

DNS里面顶层是:      .     表示根域 ( 一共有十三台根服务器)
顶级域名(也叫一级域名) 分类:职能:com域,gov域,.org域(非营利机构),edu域名(教育)   
国家:.cn , us , hk
二级域名:平时申请的。例如:baidu、jd
三级域名:自己设置。(如果下面还有东西就是三级域名,如果没有就是主机名。)最开头的是主机名称。
完整域名:www.soso666.cn.

查询方式

指的是直接给出客户端解析结果是:递归查询 ( 根服务器不会开递归。会开迭代查询)
指的是如果知道结果就告诉客户端,如果没有就会把查询转发下一台DNS服务器:迭代查询

重点--dns解析过程

1,客户端拿到域名先访问/etc/hosts配置文件,如果有本地解析会直接使用,如果没有会去看/etc/resolv.conf :如果有答案会直接给出结果。如果没有会帮助转发。如果缓存服务器都没有给出结果那么会找到根服务器
2. 找根服务器。根服务指定一级域名,一级域名同过二级域名查询

搭建DNS服务器

实验环境:

准备一台服务器作为DNS服务192.168.246.160
解析域名为:soso.qianfeng.com
测试机:192.168.246.161

1.安装软件

bind  主包----服务叫named
bind-utils   客户端测试工具(host 、dig 、nslookup)
bind-chroot   chroot环境  禁锢dns服务器的工作目录
​
[root@linux-server ~]# yum install -y bind-utils
[root@linux-server ~]# yum install -y bind-chroot
[root@linux-server ~]# systemctl start named  #启动服务
[root@linux-server ~]# netstat -lntp | grep named  #查看named的端口
tcp        0      0 127.0.0.1:53            0.0.0.0:*               LISTEN      8515/named          
tcp        0      0 127.0.0.1:953           0.0.0.0:*               LISTEN      8515/named          
tcp6       0      0 ::1:53                  :::*                    LISTEN      8515/named          
tcp6       0      0 ::1:953                 :::*                    LISTEN      8515/named 

2.工作目录:

/etc              存放主配置文件  :指定区域配置文件的位置
/var/named        区域配置文件: 主要用来做解析。 配置ip对应域名。域名对应ip

3.先编辑主配置文件:

[root@linux-server ~]# cd /etc
[root@linux-server etc]# mv /etc/named.conf /etc/named.conf.bak
[root@linux-server etc]# vim named.conf
options {
directory "/var/named";   #指定目录
};
zone "qianfeng.com" IN {  #区域
    type master;  #类型
    file "qianfeng.com.zone";
};
​
zone "soso888.com." IN {
        type master;
        file "soso888.com.zone";
};
[root@linux-server etc]# ll
-rw-r--r-- 1 root root  112 Nov 16 22:25 named.conf
[root@linux-server etc]# chown named.named named.conf
​
新建指定域名的配置文件,加权限:
[root@linux-server etc]# cd /var/named/
[root@linux-server named]# vim qianfeng.com.zone
$TTL 86400
@ IN SOA wing.qianfeng.com. root.qianfeng.com (
                                        100000000
                                        3H
                                        15M
                                        1W
                                        1D)
                                        IN NS wing.qianfeng.com.
wing                                    IN A 192.168.246.160
www.qianfeng.com.                       IN A 192.168.246.160
test.qianfeng.com.                      IN A 192.168.246.160
[root@linux-server named]# vim soso888.com.zone
$TTL 86400
@ IN SOA www.soso888.com. root.soso888.com (
                        100000000
                        3H 
                        15M
                        1W
                        1D)
                        IN NS www.soso888.com.               
www                     IN A  192.168.246.160    #第一行先定义本主机
www.soso888.com.        IN A 192.168.246.160
ftp.soso888.com.        IN CNAME www.soso888.com.
​
[root@linux-server named]# ll
-rw-r--r-- 1 root  root   443 Nov 16 22:54 qianfeng.com.zone
-rw-r--r-- 1 root  root   341 Nov 16 22:54 soso888.com.zone
[root@linux-server named]# chown named.named *.zone
参数解释:
@ 表示当前域名
SOA 起始授权记录
IN 表示记录
100000000 序列号主从DNS用到的,每次更新一次主配置文件序列号,从服务器检查自己的序列号,如果序列号不同,则会更新配置文件
3H  更新时间(多久进行一次从主从序列号检查,默认3个小时)
15M  如果更新失败,15分钟再次尝试
1W 如果一直失败,一周之后放弃
1D 缓存时间
;NS记录(指定管理某个域的服务器)
A: A记录(正向解析)把域名解析为ip
重启named
[root@linux-server named]# systemctl restart named

测试

登录测试机器修改dns地址
[root@dns-test ~]# vim /etc/resolv.conf
# Generated by NetworkManager
search localdomain
nameserver 192.168.246.160   #指定dns服务器地址