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
相关推荐
吴建旭 智宅焕4 小时前
智能家居全国交付中执行端能力跃迁的架构设计:从标准装调到交付专家的系统化路径
网络·网络协议·智能家居
lzx_0026 小时前
Linux 进程(三) 从进程状态到僵尸进程、孤儿进程
linux·服务器
Eyfcom7 小时前
〖全球化架构 05〗跨国网络专线优化:QUIC 协议与 SD-WAN 在跨境传输中的实战
网络·架构·跨境物流快递系统·全球化架构
FlightYe7 小时前
音视频修炼之容器与协议(四):RTSP详解
android·linux·ffmpeg·音视频·dash
Dream Cosmos8 小时前
传输层协议之UDP
网络·网络协议·udp
刘马想放假8 小时前
CANviz 使用指南|Linux 安装、DBC 解码、实时曲线与 J1939 实战
linux·python·websocket
kloc9 小时前
聊天室项目入口网关子服务的实现
linux·c++
GeW9 小时前
深圳APEC峰会倒计时:数据库与Linux运维的"隐形考场"
linux
梦到啥说啥11 小时前
Linux网络编程:UDP网络协议
linux·网络协议·udp
鸿蒙开发爱好者12 小时前
下班后做的小工具和小游戏,我把它们整理成了 WyanHub
网络·人工智能·职场和发展·个人开发