域名分析和DNS的配置安装

DNS的配置安装和域名体系结构

前言

前面有简单介绍过DNS(域名解析服务系统)的含义和作用,既然DNS是一个应用如此广泛的服务,那么就来了解一下它的安装和如何配置,以及详细了解一下域名。

一、安装配置DNS服务

1.安装软件包

我们可以通过yum的方式在CentOS中下载安装DNS服务,但是DNS的服务在yum源仓库中并不叫DNS而是叫bind,所以我们需要下载bind:

现在可以看到bind软件包以及依赖包下载安装完成,下一步需要配置DNS了,首先需要看一下我们主要要配置哪个配置文件:

上图可以看到主要配置的三个文件,需要按照1——2——3这样的顺序去配置:

2.配置

①全局(主)配置文件/etc/logrotate.d/named

[root@localhost ~]# vim /etc/named.conf
……………………
主要修改部分
options {
        listen-on port 53 { 192.168.100.128; }; ####监听的端口号,本机地址
        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; };  ####允许通过的来源,一般设为“any”任意的来源

        /* 
………………
主要的注解部分
………………

include "/etc/named.rfc1912.zones";  ####声明文件
include "/etc/named.root.key";

上面/etc/named.conf文件中最后的声明文件部分的意义在于:配置文件是一个服务持续运行的标准,那么在很多服务中,是有很多配置文件的,所以说在DNS服务中,会优先读取主配置文件/etc/named.conf,但是其他的配置文件我们也希望能被读取识别,因为其他的配置文件中定义了这个服务的不同模块或规则,这个时候就通过声明文件**include “文件名”**来实现。这样便于管理,可以自由的开关不同的模块。

②修改区域配置文件/etc/named.rfc1912.zones,添加正向区域配置

[root@localhost ~]# vim /etc/named.rfc1912.zones
// named.rfc1913.zones:
//
// Provided by Red Hat caching-nameserver package
//
// ISC BIND named zone configuration for zones recommended by
// RFC 1912 section 4.1 : localhost TLDs and address zones
// and http://www.ietf.org/internet-drafts/draft-ietf-dnsop-default-local-zones-02.txt
// (c)2007 R W Franks
//
// See /usr/share/doc/bind*/sample/ for example named configuration files.
//

zone "localhost.localdomain" IN {
        type master;
        file "named.localhost";
        allow-update { none; };
};

zone "localhost" IN {
        type master;
        file "named.localhost";
        allow-update { none; };
};

############################添加的部分########################
zone “baidu.com” IN {           ###要解析的域名
       type master;             ###type类型为主解析服务器
       file "baidu.com.zone";  ###解析成什么,指向具体解析的文件
       allow-update { none; };  ###是否允许从服务器登录,如果有“none”改为从服务器的IP地址
};
############################################################
zone "1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.ip6.arpa" IN {    ####分割线,上半部分是配置正向解析的,下半部分是配置反向解析的,一般只需要配置正向解析部分
        type master;
        file "named.loopback";
        allow-update { none; };
};

zone "1.0.0.127.in-addr.arpa" IN {
        type master;
        file "named.loopback";
        allow-update { none; };
};

zone "0.in-addr.arpa" IN {
        type master;
        file "named.empty";
        allow-update { none; };
"/etc/named.rfc1912.zones" 42L, 931C                                                               1,16         顶端

③修改区域数据配置文件/var/named/named.localhost

上图可以看到在/var/named/目录下的named.localhost文件,相当于一个模板。描述了域名如何解析,也就是步骤②中**file “named.localhost”;**部分所指向的文件。

可以修改名称做一个复制进行编辑

[root@localhost named]# cp -p named.localhost baidu.com.zone
#保留源文件的权限和属主的属性复制
[root@localhost named]# vim baidu.com.zone 
$TTL 1D                          #有效解析记录的生存周期
@       IN SOA baidu.com. admin.baidu.com. ( #“@”符号表示当前的DNS区域名
               0       ; serial  #更新序列号,可以是10以内的整数
               1D      ; refresh #刷新时间,重新下载地址数据的间隔
               1H      ; retry   #重试延时,下载失败后的重试间隔
               1W      ; expire  #失效时间,超过该时间仍无法下载则放弃
               3H )    ; minimum #无效解析记录的生存周期
        NS      baidu.com.  #记录当前区域的DNS服务器名称
        A       192.168.100.128   #记录主机的IP地址
IN   MX 10   mail.baidu.com  #MX为邮件交换记录,数字越大优先级越低
www  IN A    192.168.100.128 #记录正向解析www.baidu.com对应的IP
mail IN A    192.168.100.128 #记录正向解析mail.baidu.com对应的IP
ftp  IN CNAME  www           #CNAME使用别名,ftp是www的别名
*    IN A    192.168.100.100 #泛域名解析,“*”代表任意主机名

其中:“@”这里是一个变量,当前DNS区域名。

SOA记录中的更新序列号用于同步主、从服务器的区域数据,当从服务器判断区域更新时,若发现主服务器中的序列号与本地区域数据中的序列号相同,则不会进行下载。

“baidu.com.”此为完全合格域名(FQDN),后面的“.”符号不能漏掉。

“admin.baidu.com.”表示管理员邮箱,这里的“@”符号已有其他含义,所以用“.”符号代替。

IN表示Internet。

④修改/etc/hosts和/etc/resolv.conf文件

最后启动named服务:

systemctl start named

就可以使用host、nslookup命令去查看刚刚配置的DNS服务了。

二、域名体系结构

在DNS上一篇文章中有提到过域名是从根域到主机名组成的,如:www(主机名).baidu(二级域).com(顶级域).(根域),这是我们平时访问房爷所需要输入的域名或网址,但是有时候我们在百度上进行查询了之后或者交互几次之后地址栏中的网址却变长了,如:

可以看到,在根域之后还有很长一段字符串,那这串字符串代表什么呢?

首先我们要知道在平时输入网址的时候最后的根域是不用输入“.”符号的,因为默认是自动输入的,但是在com之后是/…………

实际上访问的URL(网址)分为两个部分,在这个“/”符号之前的是域名,右边则是访问该网页的站点目录的起始位置,也就是这个网页放在服务器的路径。之所以是一串乱码其实是被加密过之后的样子。而图中在主机名前面的http指的是端口号80。

所以一个完整的URL是:端口号+域名+路径。
END

猜你喜欢

转载自blog.csdn.net/tu464932199/article/details/125726059