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
相关推荐
2401_826097625 小时前
JavaEE-Linux环境部署
java·linux·java-ee
(:满天星:)6 小时前
第31篇:块设备与字符设备管理深度解析(基于OpenEuler 24.03)
linux·运维·服务器·网络·centos
爱莉希雅&&&6 小时前
shell编程之awk命令详解
linux·服务器·git
笑稀了的野生俊6 小时前
在服务器中下载 HuggingFace 模型:终极指南
linux·服务器·python·bash·gpu算力
渡我白衣7 小时前
Linux操作系统之文件(四):文件系统(上)
linux
ZZH1120KQ7 小时前
Linux系统安全及应用
linux·运维·系统安全
程序漫游人8 小时前
centos8.5安装jdk21详细安装教程
java·linux
小小小糖果人8 小时前
Linux云计算基础篇(5)
linux·运维·服务器
野蛮人6号8 小时前
虚拟机网络编译器还原默认设置后VMnet8和VMnet1消失了
网络·vmware·虚拟机网络编译器·vmnet8消失
small_wh1te_coder8 小时前
硬件嵌入式学习路线大总结(一):C语言与linux。内功心法——从入门到精通,彻底打通你的任督二脉!
linux·c语言·汇编·嵌入式硬件·算法·c