目录
前言
DNS域名解析服务可将一个IP地址关联到一组有意义的字符上去。用户访问一个网站的时候,既可以输入该网站的IP地址,也可以输入其域名,本章将从DNS服务的构建缓存和主从域名服务器方面进行介绍。
一、DNS(域名解析服务)
DNS服务既属于TCP协议也属于UDP协议,端口号为53号
作用:将域名解析成IP地址
原因:我们对数字不敏感,记不住这个IP地址,所以才有域名解析服务。
解析方式:
正向解析:域名解析出IP.
反向解析:IP解析出域名.
1.1 DNS解析类型
DNS服务器中存储着大量的ip和域名映射记录,它的记录文件也分为正向解析文件和反向解析文件。
正向解析文件中存储的记录称为A记录,A记录记录着域名和IP的映射关系。
反向解析文件中存储的记录称为PTR指针,PTR记录着IP和域名的映射关系。
1.2 域名分层
.根域(任何域名都是从根域开始查找的)
国家域: cn中国,hk香港,uk英国,au澳大利亚
顶级域(领域): com 商业用途,net 网络组织,edu 教育
二级域:个性化的名称,每个域的二级域都不一样
主机名(用途): www(网页),mail (邮件)
1.3 DNS的解析过程
是分层解析的,一般客户机将解析的请求发送给它的DNS 服务器,DNS服务器首先是从根 DNS服务器(.)开始发送域名解析请求,根将COM域的IP反馈给客户机的本地 DNS 服务器,本地 DNS服务器访问COM域服务器,COM域服务器反馈baidu域的P给本地DNS服务器,本地 DNS服务器访问baidu域服务器询问www域服务器的ip, baidu域服务器给dns服务器反馈www域的ip,这时本地DNS服务器得到www.baidu.com的精确ip_后,直接将这个映射记录反馈给客户机,客户机直接访问www.baidu.com服务器,服务器反馈相应的数据。
二、 服务器项目配置
2.1 配置DNS缓存服务器
一个主机有两个网卡,一个内网网卡,一个外网网卡,可以上网并开启了DNS服务器功能,可以帮助内网上网,有映射记录。客户机网关指向服务器,只要服务器收到请求,缓存有记录,就会丢给客户机,这个叫DNS缓存。
2.1.1 项目解析
其中一台DNS服务器可以上网去获取 DNS 映射记录,客户机将DNS服务器地址指向这台可以上网的 DNS服务器,从而获取到相应的映射记录。
备注:
1、因为存在两个网卡,一个外网网卡,一个内网网卡,所有要启用NAT路由功能
2、开启路由功能的这台服务器需要预装DNS服务
图示:
2.1.2 项目准备
两个服务器,一个作为DNS服务器,一个作为客户机
DNS服务器添加一个网卡:新加网卡,桥接模式
注:两个服务器VMent1地址与虚拟网络编辑器的VMent1 ip在同一网段
新加的网卡ip与以太网ip在同一网段
DNS服务器:
新加网卡ip:192.168.1.114/24
VMent1网卡ip:192.168.100.101/24
客户机:
VMent1网卡IP:192.168.100.106/24
注:两张VMent1网卡互ping地址,要互通
2.1.3. 项目操作
DNS服务器配置:
1、启用NAT
因为存在两个网卡,一个外网网卡,一个内网网卡,所有要启用NAT路由功能
[root@server2 ~]# vi /etc/sysctl.conf #永久开启NAT
net.ipv4.ip_forward=1 #末行添加
[root@server2 ~j# sysctl -p #加载配置
2、安装bind(域名解析服务的一个主程序)
[root@server2 ~j# yum -y install bind*
[root@server2 ~]# vi /etc/named.conf
listen-on port 53 { 192.168.100.101; }; #监听地址是自己(内网地址),因为目标地址是自己,DNS指向自己
allow-query { 192.168.100.0/24; }; #允许给哪些主机做DNS服务,(客户机范围)
[root@server2 ~]# systemctl start named #服务开启
3、进行域名解析
[root@server2 ~]# nslookup www.google.com
只要把客户机把网关指向内网网卡,就可以获取里面的缓存
客户机配置:
1.修改DNS服务器地址
[root@server1 ~]# vi /etc/resolv.conf
nameserver 192.168.100.101 #指向同一网段.DNS服务器地址
2.网卡设置,解析地址
[root@server1 ~]# vi /etc/sysconfig/network-scripts/ifcfg-ens33 #配置网卡
GATEWAY=192.168.100.101 #指向服务器内网ip
DNS=192.168.100.101 #指向服务器内网ip
[root@server1 ~]# nslookup www.google.com 域名解析
3.分别选择不同的网址进行测试
服务器:
客户机:
以上就是DNS缓存
2.2 配置主,从DNS服务器
2.2.1 项目解析
图示:
2.2.2 项目准备
项目配置开始之前需要先配置三台设备在同一网段
不可和以太网在同一网段
2.2.3 项目操作
1、三台设备改名,以便区分
[root@server1 ~]# hostname DNS1/DNS2/client #DNS1主;DNS2从;client客户机
[root@server1 ~]# bash
2.在工具栏中点击工具选择发送键输入到所有会话
命令同步
[root@DNS1 ~]# systemctl stop firewalld #关闭防火墙
[root@DNS1 ~]# systemctl disable firewalld #禁用防火墙
[root@DNS1 ~]# setenforce 0 #关闭核心防护
[root@DNS1 ~]# vi /etc/selinux/config
SELINUX=disabled #enforcing改成disabled 防火墙禁用
3、DNS1,DNS2安装bind(域名解析服务的一个主程序) #客户机先断开连接
[root@DNS1 ~]# yum -y install bind* #安装bind
4,DNS1,DNS2,client客户机上继续输入命令 #客户机连接上去
[root@DNS1 ~]# vi /etc/resolv.conf #删除原有数据,添加DNS服务器地址
nameserver 192.168.100.101 #主DNS
nameserver 192.168.100.102 #备份DNS
配置DNS1 #取消发送键输入到所有会话
1,编辑主配置文件 #全局设置
[root@DNS1 ~]# vi /etc/named.conf
修改:
listen-on port 53 { 192.168.100.101; }; #监听地址改成服务器地址
allow-query { any; }; #改成任何人都能访问,你还可以写IP地址网段
2、区域设置
[root@DNS1 ~]# vi /etc/named.rfc1912.zones #正反向解析文件路径
添加:正反向解析
zone "aa.com" IN { #域名
type master; #类型:主
file "aa.com.zone"; #完整文件名
allow-transfer { 192.168.100.102; }; #允许把文件传递给备服务器
also-notify { 192.168.100.102; };
};
zone "100.168.192.in-addr.arpa" IN {
type master;
file "aa.com.local";
allow-transfer { 192.168.100.102; };
};
3.查看配置文件
[root@DNS1 ~]# cd /var/named/
[root@DNS1 named]# ls -lh
4.拷贝模板,创建正反向文件
[root@DNS1 named]# cp -p named.localhost aa.com.zone
[root@DNS1 named]# cp -p named.loopback aa.com.local
5.配置正向解析文件
[root@DNS1 named]# vi aa.com.zone
添加:
域名:NS @
A 192.168.100.101 #自己ip
www IN A 192.168.100.101
ftp IN A 192.168.100.102 #A记录 域名与ip的映射关系
mail IN CNAME www #别名
6,配置反向解析文件
[root@DNS1 named]# vi aa.com.local
添加:
$TTL 1D
@ IN SOA aa.com. rname.invalid. (
0 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
NS aa.com.
A 192.168.6.10
10 IN PTR www.aa.com.
11 IN PTR ftp.aa.com. #PTR指针,域名与ip的映射关系
7.开启服务
[root@DNS1 named]# systemctl start named
8.验证解析服务
[root@DNS1 named]# nslookup www.aa.com #本地服务
[root@DNS1 named]# nslookup ftp.aa.com
[root@DNS1 named]# nslookup mail.aa.com
配置DNS2
1,编辑主配置文件 #全局设置
[root@DNS2 ~]# vi /etc/named.conf
修改:
listen-on port 53 { 192.168.100.102; }; #监听地址改成服务器地址
allow-query { any; }; #改成任何人都能访问,你还可以写IP地址网段
2.区域设置
[root@DNS2 ~]# vi /etc/named.rfc1912.zones #正反向解析文件路径
添加:正反向解析
zone "aa.com" IN {
type slave; #类型:从
masters { 192.168.100.101; }; #主服务器ip
allow-notify { 192.168.100.101; }; #允许通知主服务器
file "slaves/aa.com.zone"; #把正向解析文件下载到的文件位置通告
};
zone "100.168.192.in-addr.arpa" IN {
type slave;
masters { 192.168.100.101; };
allow-notify { 192.168.100.101; };
file "slaves/aa.com.local";
};
3.服务开启
[root@DNS2 ~]# systemctl start named #开启后,在slaves目录下会生成两个文件
4,查看生成文件
[root@DNS2 ~]# cd /var/named
[root@DNS2 named]# ls -lh
[root@DNS2 named]# cd slaves/
[root@DNS2 slaves]# ls -lh
5,验证解析服务
[root@DNS2 slaves]# nslookup www.aa.com
[root@DNS2 slaves]# nslookup ftp.aa.com
在客户端进行验证
[root@client ~]# nslookup www.aa.com
能看到主DNS服务器信息
DNS1上 中断服务
[root@DNS1 named]# systemctl stop named
客户端解析验证
[root@client ~]# nslookup www.aa.com
[root@client ~]# nslookup ftp.aa.com
[root@client ~]# nslookup mail.aa.com
![在这里插入图片描述](https://img-blog.csdnimg.cn/20201105144338502.png#pic_center
总结
通过以上了解学习,对域名解析服务器的基本原理即构建不同类别的服务器操作有了大体基础,为日后的深入的域名服务器搭建提供了前提条件