一、dns概述
1. DNS(Domain Name System)域名管理系统
域名:
由特定的格式组成,用于表示互联网中某一台计算机或计算机组的名称,能够使人更方便地访问互联网,而不用记住能被机器直接读取的IP地址。
计算机 => IP地址,互联网中的计算机都是通过IP地址进行互相访问的。(IP地址过于复杂)
域名:代替IP实现计算机的访问(高级 => 上层应用,底层还是IP地址)
每个域名 => DNS服务器 => 对应的IP地址
2. DNS的正向解析
域名的==正向解析==
将主机域名转换为对应的IP地址,以便网络程序能够通过主机域名访问到对应的服务器主机
域名——>IP A记录
3. DNS的反向解析
域名的==反向解析==
将主机的IP地址转换为对应的域名,以便网络(服务)程序能够通过IP地址查询到主机的域名
IP——>域名 PTR记录
4. DNS的结构
域名:www.itheima.com
DNS结构:www.itheima.com. => 从右向左解析
二、搭建DNS服务器环境
web 192.168.2.15
dns 192.168.2.17
cli 192.168.2.16
1. 在web主机上发布web服务、安装nginx
[root@web ~]# yum -y install nginx
2. 修改html文件,启动服务
[root@web ~]# echo "你好世界" > /usr/share/nginx/html/index.html
[root@web ~]# nginx
3. 确保cli主机能访问外网
[root@16cli ~]# ping www.baidu.com
PING www.a.shifen.com (180.101.50.188) 56(84) bytes of data.
64 bytes from 180.101.50.188 (180.101.50.188): icmp_seq=1 ttl=128 time=25.7 ms
64 bytes from 180.101.50.188 (180.101.50.188): icmp_seq=2 ttl=128 time=33.9 ms
4. cli主机主要用于访问测试(访问web服务)
[root@16cli ~]# curl 192.168.2.15
hello world
5. 在cli主机上,安装扩展elinks,用于测试dns
[root@16cli ~]# yum -y install elinks.x86_64
6. 在cli主机上,修改文件、添加新的dns服务器
[root@16cli ~]# echo "nameserver 192.168.2.17" > /etc/resolv.conf
[root@16cli ~]# cat /etc/resolv.conf
nameserver 192.168,2,17
[root@16cli ~]#
三、搭建DNS服务器:
1. 安装bind、启动named服务
[root@17dns ~]# yum -y install bind.x86_64
[root@17dns ~]# systemctl start named
2. DNS的两大配置文件(/etc/named.conf 和 /etc/named.rfc1912.zones)
[root@17dns ~]# rpm -ql bind
3. 为防止出错进行文件备份
[root@17dns ~]# cp /etc/named.conf /etc/named.conf.bak
[root@17dns ~]# cp /etc/named.rfc1912.zones /etc/named.rfc1912.zones.bak
4. 修改`named.conf`文件
[root@17dns ~]# vim /etc/named.conf
5. 配置`/etc/named.rfc1912.zones` 域名解析文件
[root@17dns ~]# vim /etc/named.rfc1912.zones
在文件中添加以下内容:
zone "yuyang.shuaibi" IN {
type master;
file "yuyang.shuaibi.zone";
allow-update { none; };
};
6. 复制文件
[root@17dns ~]# cp -p /var/named/named.localhost /var/named/yuyang.shuaibi.zone
[root@17dns ~]# ls -l /var/named/
7. 编辑`yuyang.shuaibi.zone`文件
[root@17dns named]# vim /var/named/yuyang.shuaibi.zone
8. 重启服务:
[root@17dns named]# systemctl restart named
9. 检查:
[root@17dns ~]# named-checkconf /etc/named.conf
[root@17dns ~]# named-checkconf /etc/named.rfc1912.zones
[root@17dns ~]# cd /var/named/
[root@17dns named]# named-checkzone yuyang.shuaibi.zone yuyang.shuaibi.zone
zone yuyang.shuaibi.zone/IN: loaded serial 0
OK
[root@17dns named]# systemctl restart named
10. 在cli主机(客户端)测试:
[root@16cli ~]# echo "nameserver 192.168.2.17" > /etc/resolv.conf
[root@16cli ~]# ping www.yuyang.shuaibi
PING www.yuyang.shuaibi (192.168.2.15) 56(84) bytes of data.
64 bytes from 192.168.2.15 (192.168.2.15): icmp_seq=1 ttl=64 time=0.619 ms
64 bytes from 192.168.2.15 (192.168.2.15): icmp_seq=2 ttl=64 time=0.275 ms
--- www.yuyang.shuaibi ping statistics ---
2 packets transmitted, 2 received, 0% packet loss, time 1002ms
rtt min/avg/max/mdev = 0.275/0.447/0.619/0.172 ms