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
相关推荐
郝亚军几秒前
ubuntu-18.04.6-desktop-amd64安装步骤
linux·运维·ubuntu
Konwledging20 分钟前
kernel-devel_kernel-headers_libmodules
linux
Web极客码22 分钟前
CentOS 7.x如何快速升级到CentOS 7.9
linux·运维·centos
一位赵42 分钟前
小练2 选择题
linux·运维·windows
代码游侠1 小时前
学习笔记——Linux字符设备驱动开发
linux·arm开发·驱动开发·单片机·嵌入式硬件·学习·算法
LucDelton2 小时前
Java 读取无限量文件读取的思路
java·运维·网络
Lw老王要学习2 小时前
CentOS 7.9达梦数据库安装全流程解析
linux·运维·数据库·centos·达梦
CRUD酱2 小时前
CentOS的yum仓库失效问题解决(换镜像源)
linux·运维·服务器·centos
Wasim4042 小时前
【渗透测试】SQL注入
网络·数据库·sql
zly35002 小时前
VMware vCenter Converter Standalone 转换Linux系统,出现两个磁盘的处理
linux·运维·服务器