DNS介绍
1、介绍:
DNS是“域名系统”的英文缩写。它作为将域名和IP地址相互映射的一个分布式数据库,能够使人更方便地访问互联网。
DNS服务使用TCP和UDP的53端口,TCP的53端口用于连接DNS服务器,UDP的53端口用于解析DNS。
每一级域名长度的限制是63个字符,域名总长度则不能超过253个字符。
2、DNS作用:
正向解析:根据域名查找对应的IP地址
反向解析:根据IP地址查找对应的域名
3、域名结构:
以http://www.sina.com.cn./为例
http://主机名.子域.二级域.顶级域 根域/
4、DNS域名解析工作原理
客户端会先将DNS解析请求发送给本地缓存域名服务器,如果本地缓存域名服务器有相关记录则直接返回给客户端,否则会将DNS解析请求发送给根域名服务器进行解析,根域名服务器会根据域名的顶级域再将DNS解析请求委派给相对应的顶级域名服务器进行解析,顶级域名服务器也会根据域名的二级域或子域再将DNS解析请求委派给相对应的二级域名或子域名服务器进行解析,最后子域名服务器会根据域名的主机名解析出相对应的IP地址,再返回给本地缓存域名服务器和客户端。
5、DNS域名解析查询方式:
递归查询:(简单来说就是将DNS解析请求一探到底,再逐层返回)
本地域名服务器先将DNS解析请求发送给根域名服务器,根域名服务器再将解析请求转发给相对应的顶级域名服务器,顶级域名服务器再将解析请求转发给相对应的二级域名或子域名服务器,最后子域名服务器会根据域名的主机名解析出相对应的IP地址后,再逐层返回给本地域名服务器。
迭代查询:(简单来说就是每次DNS解析请求都会用相对应的响应回复)
本地域名服务器先将DNS解析请求发送给根域名服务器,根域名服务器会返回响应消息给本地域名服务器并告知去找相对应的顶级域名服务器;
本地域名服务器再将DNS解析请求发送给相对应的顶级域名服务器,顶级域名服务器会返回响应消息给本地域名服务器并告知去找相对应的二级域名或子域名服务器
最后本地域名服务器将DNS解析请求发送给相对应的子域名服务器,子域名服务器会根据域名的主机名解析出相对应的IP地址后,直接返回给本地域名服务器
示例一:配置正向解析
本机服务器地址为192.168.10.102
第一步:初始化操作
[root@localhost ~]# systemctl stop firewalld //关闭防火墙
[root@localhost ~]# systemctl disable firewalld
Removed symlink /etc/systemd/system/multi-user.target.wants/firewalld.service.
Removed symlink /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service.
[root@localhost ~]# setenforce 0
[root@localhost ~]# vim /etc/selinux/config //设置SELINUX=disabled
[root@localhost ~]# df
文件系统 1K-块 已用 可用 已用% 挂载点
devtmpfs 1913552 0 1913552 0% /dev
tmpfs 1930628 0 1930628 0% /dev/shm
tmpfs 1930628 12800 1917828 1% /run
tmpfs 1930628 0 1930628 0% /sys/fs/cgroup
/dev/mapper/centos-root 27245572 4585776 22659796 17% /
/dev/sda1 1038336 191084 847252 19% /boot
tmpfs 386128 24 386104 1% /run/user/1000
/dev/sr0 4635056 4635056 0 100% /run/media/huang/CentOS 7 x86_64
[root@localhost ~]# mount /dev/sr0 /mnt/
mount: /dev/sr0 写保护,将以只读方式挂载
[root@localhost ~]# yum install -y bind
第二步:修改配置文件
修改 /etc/named.conf文件 /etc/named.rfc1912.zones文件 xy101.com.zone文件
[root@localhost ~]# vim /etc/named.conf
[root@localhost ~]# vim /etc/named.rfc1912.zones
[root@localhost ~]# cd /var/named
[root@localhost named]# ll
总用量 16
drwxrwx---. 2 named named 6 2月 24 2022 data
drwxrwx---. 2 named named 6 2月 24 2022 dynamic
-rw-r-----. 1 root named 2253 4月 5 2018 named.ca
-rw-r-----. 1 root named 152 12月 15 2009 named.empty
-rw-r-----. 1 root named 152 6月 21 2007 named.localhost
-rw-r-----. 1 root named 168 12月 15 2009 named.loopback
drwxrwx---. 2 named named 6 2月 24 2022 slaves
[root@localhost named]# cp -p named.localhost xy101.com.zone
[root@localhost named]# vim xy101.com.zone
[root@localhost named]# systemctl start named
修改 /etc/named.conf文件
/etc/named.rfc1912.zones文件
修改xy101.com.zone
第三步:验证结果
用另外一台LINUX作客户机
[root@localhost ~]# systemctl stop firewalld //关闭该客户机的防火墙
[root@localhost ~]# vim /etc/resolv.conf //在该文件中修改nameserver为服务器地址
验证结果如下:
示例二:配置反向解析
第一步:初始化,与上面一样
第二步:修改配置文件 /etc/named.rfc1912.zones
复制文件
[root@localhost named]# cp -p xy101.com.zone xy101.zone.local
[root@localhost named]# ll
总用量 24
drwxrwx---. 2 named named 23 4月 25 20:14 data
drwxrwx---. 2 named named 60 4月 25 20:15 dynamic
-rw-r-----. 1 root named 2253 4月 5 2018 named.ca
-rw-r-----. 1 root named 152 12月 15 2009 named.empty
-rw-r-----. 1 root named 152 6月 21 2007 named.localhost
-rw-r-----. 1 root named 168 12月 15 2009 named.loopback
drwxrwx---. 2 named named 6 2月 24 2022 slaves
-rw-r-----. 1 root named 306 4月 25 20:44 xy101.com.zone
-rw-r-----. 1 root named 306 4月 25 20:44 xy101.zone.local
修改配置文件vim xy101.zone.local
设置IP地址与域名的反向解析记录
修改/etc/named.rfc1912.zones文件
[root@localhost named]# systemctl start named //重新启动named
客户端验证结果
先对客户端进行初始化操作
[root@localhost ~]# systemctl stop firewalld //关闭该客户机的防火墙
[root@localhost ~]# vim /etc/resolv.conf //在该文件中修改nameserver为服务器地址
验证结果如下:
[root@localhost ~]# nslookup 192.168.10.112
112.10.168.192.in-addr.arpa name = www.xy101.com.
[root@localhost ~]# nslookup 192.168.10.113
113.10.168.192.in-addr.arpa name = mail.xy101.com.
[root@localhost ~]# nslookup 192.168.10.114
114.10.168.192.in-addr.arpa name = new.xy101.com.