DNS域名解析

DNS

DNS是互联网中将域名转化为对应ip地址的分布式命名系统。

域名的组成

根域名 test 主机+根域

一级域名(顶级域名) test.com 主机+一级域+根域

二级域名

三级域名

域名的结构

以www.baidu.com.为例

. 代表根域大家都有所以根域就省略了

.com 一级域名

.baidu 二级域名

www 主机名

域名解析

根域名解析服务器只能解析主机名+根域 的域名 根域服务中存储了自己的子域服务器的信息

根域无法解析,会透露一个信息给你,让你去问一级域中的com域名解析服务器

根域名解析服务器只能解析主机名+根域 的域名 根域服务中存储了自己的子域服务器的信息

以www.baidu.com为例

1.先去看hosts文件中是否有www.baidu.com的地址,如果有直接访问

2.如果没有向本地DNS服务器发起递归查询,等待反馈结果

3.本地DNS服务器先检查服务器的本地缓存,如果有历史记录,直接反馈IP地址,如果没有发起迭代查询

4.根域无法解析,会透露一个信息给你,让你去问一级域中的com域名解析服务器

5.一级域无法解析www.baidu.com,会透露一个信息给你,让你去找二级域

6.以此类推,最后有一台权威服务器会告诉你具体的IP地址,然后反馈给用户

递归:一次询问就有结果

迭代:需要多次询问

bind

bind是DNS服务器软件

  • bind:服务器
  • bind-libs:相关库
  • bind-utils: 客户端
  • bind-chroot: 安全包,将dns相关文件放至 /var/named/chroot/

安装包名:bind

程序名字:named

配置文件:

/etc/named.conf:主配置文件

/etc/named.rfc1912.zones:区域配置文件 你想解析的域名要在这个文件中指明

数据库配置文件/var/named/* 指明了域名与ip地址的一一对应关系

bash 复制代码
[root@localhost ~]# yum  install  bind  bind-utlis  -y   #安装bind
[root@localhost ~]# rpm -qc bind    #查看bind所有配置文件
/etc/logrotate.d/named
/etc/named.conf
/etc/named.iscdlv.key
/etc/named.rfc1912.zones
/etc/named.root.key
/etc/rndc.conf
/etc/rndc.key
/etc/sysconfig/named
/var/named/named.ca
/var/named/named.empty
/var/named/named.localhost
/var/named/named.loopback
[root@localhost ~]# vim /etc/named.conf
options {
        listen-on port 53 { any; };    #将这里修改成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; };    #将这里修改成any 或者注释掉
[root@localhost ~]# vim /etc/named.rfc1912.zones 
zone "lzj.com" IN { 
        type master;
        file "lzj.com.zone";
};
[root@localhost named]# cp -a named.localhost lzj.com.zone
cp:是否覆盖"lzj.com.zone"? y

[root@localhost named]# vim lzj.com.zone 
$TTL 1D   #默认的生存时间 1天
@       IN SOA  master.lzj.com. admin.lzj.com (
                                        0       ; serial  #数据库的版本
                                        1D      ; refresh #刷新时间,隔多久会同步
                                        1H      ; retry   #失败重试时间
                                        1W      ; expire  #过期时间,一直无法拉取这个时间后过期
                                        3H )    ; minimum 
        NS      master
master  A       192.168.118.20
mail    A       192.168.118.110
www     A       192.168.118.119
[root@localhost named]# vim /etc/sysconfig/network-scripts/ifcfg-ens33   #编辑网卡配置
#DNS1=218.2.135.1
DNS1=192.168.118.20
[root@localhost named]# systemctl restart network      #重启网络服务
[root@localhost named]# systemctl start named
[root@localhost named]# host mail.lzj.com
mail.lzj.com has address 192.168.118.110
相关推荐
速盾cdn3 小时前
速盾:CDN是否支持屏蔽IP?
网络·网络协议·tcp/ip
yaoxin5211233 小时前
第二十七章 TCP 客户端 服务器通信 - 连接管理
服务器·网络·tcp/ip
内核程序员kevin3 小时前
TCP Listen 队列详解与优化指南
linux·网络·tcp/ip
PersistJiao4 小时前
Spark 分布式计算中网络传输和序列化的关系(一)
大数据·网络·spark
黑客Ash7 小时前
【D01】网络安全概论
网络·安全·web安全·php
->yjy7 小时前
计算机网络(第一章)
网络·计算机网络·php
朝九晚五ฺ7 小时前
【Linux探索学习】第十四弹——进程优先级:深入理解操作系统中的进程优先级
linux·运维·学习
自由的dream7 小时前
Linux的桌面
linux
xiaozhiwise8 小时前
Makefile 之 自动化变量
linux
摘星星ʕ•̫͡•ʔ8 小时前
计算机网络 第三章:数据链路层(关于争用期的超详细内容)
网络·计算机网络