linux-DNS域名正向解析服务程序BIND安装与配置
Posted 可乐卷儿
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了linux-DNS域名正向解析服务程序BIND安装与配置相关的知识,希望对你有一定的参考价值。
文章目录
一、DNS系统
1、概念
- DNS域名系统(Domain Name system缩写DNS, Domain Name被译为域名)是因特网的一项核心服务, 它作为可以将域名和IP地址相互映射的一个分布式数据库;是应用层协议,是域名也是服务
- DNS使用的协议及端口号是TCP和UDP的53端口号
- TCP是用来做区域传送,多用于主从同步
在一个区中主DNS服务器从自己术机的数据文件中读取该区的DNS数据信息,而辅助DNS服务器则从区的主DNS服务器中读取该区的DNS数据信息 - UDP是用来做DNS解析的
FQON全称Fully Qualified Domain Name
即全城名:同时带有主机名和域名的名称
FQDN=Hostnane + DomainName
如: ww. baidu. com.
注意:最前面的一定是主机,最后一个点表示根域,通常是省略不写的,但实际上www. abc . com=www. abc. com.
2、作用
- 正向解析:根据域名查找对应的IP地址
- 反向解析:根据IP地址查找对应的城名(域名的反向解析不是很常用,只在一些特殊场合才会用到,比如可用于反垃圾邮件的验证。)
今天我们主要以实验的方式详细讲解正向解析的过程
3、域名系统是树形的域名树
首先DNS系统的分布式数据结构是树形,分为根域、顶级域、二层域、三层域或子域、主机名五个部分;具体看图1
例:www.sina.com.cn
从上往下,一层管理一层
- 根域:位于域名空间最顶层,一般用一个".“表示根域
- 顶级城:一般代表种类型的组织机构或国家地区, 比如com. cn. net, uk等
- 二级域::用来标明顶级域内的一个特定的组织。国家顶级域下面的二级域名由国家网络部门统一管理,比如baidu. taobao等
- 子域:二级域下所创建的各级域统称为子域,各个组织或用户可以自由申请注册自己的域名sina.com.cn
- 主机位:位于域名空间最下层,就是一台具体的计算机,比如www,mail等
每一级的城名长度限制是63个字符,域名总长度则不能超过253个字符
拓展小知识:
- 顶级域:
.com:盈利的组织,一般是盈利的企业申请
.net:网络的组织
.org:不盈利的组织
.edu:教育性,比如大学的网址
.cn:中国的
.uk:美国的 - 主机名:
mail:邮件
news:新闻
ftp:上传下载的类
4、工作原理
这里还是给大家画一个图,方便大家的理解
dns服务器经过了两个过程:
递归查询:客户端-域名服务器-ip;可以直接告诉准确结果的
迭代查询:从域名服务器-根域-二级域-服务器-三级域;无法直接告知,需要一层层查
具体解析过程如下:
- 看本机的缓存记录
- 查询hosts文件
- 查询dns域名服务器,交给dns域名服务器处理
- 域名服务器查看缓存:查询缓存表有直接返回结果,没有则进行下一步
- 域名服务器发送请求给根域:根域通过查看域名服务器请求的地址,告知顶级服务器可能会知道结果,让其去找顶级服务器
- 顶级域服务器:顶级域服务器返回三级域服务器可能会知道结果,让其去找三级域服务器
- 三级域服务器:三级域服务器返回二级域服务器可能会知道结果,让其去找二级域服务器
- 二级域服务器:二级域服务器查询主机位内的缓存表,发现是我的主机,把查询到的IP地址返回给本地域名服务器
- 本地域名服务器将结果记录到缓存,然后把域名和ip的对应关系返回给客户端
//1-3的过程称为递归查询;4-9的过程称为迭代查询
5、DNS系统类型
根据所管理的区域地址数据的来源不同,DNS 系统可以分为不同的类型。在同一台DNS 服务器中,相对于不同的区域来说,也拥有不同的身份
- 缓存域名服务器
域名服务器完成一套完整的工作流程之后,客户端再次寻找IP地址,这时域名服务器直接在其缓存表迅速查找到对应的IP地址,大大提升查询时的速度
这个意思就是说在域名服务器完成一套完整的工作流程之后,客户端再次寻找IP地址,这时域名服务器直接在其缓存表迅速查找到对应的IP地址,大大提升查询时的速度 - 主域名服务器
当主城名服务器出现故障,关闭或负载过重时,从域名服务器作为备份服务提供城名解析服务。从域名服务器提供的解析结果不是由自己决定的,而是来自主域名服务器。负责跟主域名服务器同步,同步主域名服务器的映射内容,若主域名服务区down,也可以从从域名服务器中读取 - 从域名服务器
只提供域名解析结果缓存功能,就是一个缓存
万网:专门用来买域名的网站。现已被阿里收购
14.114.114.114 电信的域名服务器
8.8.8.8 google 的城名服务器
23.5.5.5 阿里的城名服务器
在我们系统cmd快捷键打开命令提示符时
非权威应答:通过层层迭代获取ip地址
权威应答:通过递归查询获取ip地址
6、清理缓存命令
windows系统查询dns媛存命令:ipconfig /displaydns
windows系统清理dns缓存命令:;ipconfig /flushdns
iInux清dns缓存需要安装nscd软件, 启动、执行nscd -i hosts
二、DNS的安装和配置文件
以下结合试验具体讲解各配置文件
实验要求:创建域名:kkkkk.com,通过www.kkkkk.com解析到本机IP地址,以及更改域名访问网站
官方站点:https://www.isc.org/
以下通过实操来dns服务器解析过程
1、安装DNS服务软件:BIND软件
yum -y install bind
yum info bind:查询bind的版本;查询书提示程序被占用,就把程序杀死:kill -99074
- 查看 /var/named/named.ca:记录13个根域
vim /var/named/named.ca
1.1、相关的软件包
bind ## 提供了域名服务的主要程序及相关文件
bind-utils ## 提供了对DNS服务器的测试工具,如nslookup等
bind-libs ## 提供了bind,bind-utils需要使用的库函数
bind-chroot ## 为BIND服务提供一个伪装的根目录(/var/named/chroot)以提高安全性
2、bind的配置文件
查找BIND配置文件
rpm -qc bind
/etc/named.conf:主配置文件,相当于全局配置文件
/etc/named.rfc1912.zones:区域配置文件
/var/named/named.localhost:区域数据文件的模板
2.1、主配置文件-named.conf
写入监听的端口和允许查询本机的地址
vim /etc/named.conf
注意点:any; 跟前后的大括号需要空格
2.2、区域配置文件-named.rfc1912.zones
主要作用:定义域名
进入区域配置文件:复制一份zone后面的内容,并更改域名
/etc/named.rfc1912.zones
file“klj.com.zone”,这里写的是配置文件存放的文件名
地址已经在全局里面配置好了 ## 这是个注意点
2.4、区域数据文件的模板-named.localhost
主要作用:定义主机名
/var/named/named.localhost:区域数据文件模板 :
注意点:需要把区域数据文件模板named.localhost复制到区域配置文件名里 klj.com.zone
cp -p named.localhost klj.com.zone #带属性复制区域数据文件: 这里复制过去的文件夹需要是区域配置文件file内命名的文件名:klj.com.zone 敲重点!!
vim /klj.com.zone
NS hhh.com. #记录当前区域的DNS服务器名称
www IN A xxxIP #记录正向解析对应的IP,叫做主机A记录
ftp IN CNAME www #别名,ftp是www的别名
* IN A xxxIP #泛域名解析, “*”代表任意主机
IN MX 10 mail.xxx.xxx #邮件交换,5表示优先级,注意与后面的域名的间隔大小,优先级0-99.数值越小越优先
mail IN A xxxIP
这里有几个注意点:
- 需求可以直接写主机名:www,因为全称在区域配置文件配置写过了,这里可以简写
- 认证记录NS 后面的@,可以写成“klj.com.”,在域名后面加上域根“.”,若是没有加域根,系统自动默认为klj.com.klj.com;所有为了防止写错,可以直接写@即可
- IN :若打头的SOA写了IN,下面添加的可写可不写,若打头的没写,后面每一个都要写
- A:代表主机记录,解析主机写A,解析出来的ip地址,任意网段ip,随便设置#这里我的本机IP是192.168.35.10
3、开启named服务
systemctl start named
查询端口开启
4、搭建网站
搭建网站,可以通过www.klj.com可以访问网站
- 首先安装httpd
- 启用httpd服务
- 查询端口是否开启
- 编辑网站内容
这时网站已经开启,在网站首页内写入内容,首页的目录:/var/www/html/,查询首页目录内没有内容
首页默认没有内容,需要编辑首页文件
index.html #网站首页文件
/var/www/html/ #网站首页目录
<h1> #一级标题
</h1> #html的语言
- 验证网页,访问www.kkkkk.com
5、配置文件检测命令
更改完配置文件之后,可以使用以下两条命令检查文件修改是否有误
named-checkconf:检测配置文件(主配置文件和区域配置文件)
-z:指定目录
named-checkzone:检测区域数据配置文件
以上是关于linux-DNS域名正向解析服务程序BIND安装与配置的主要内容,如果未能解决你的问题,请参考以下文章