目录
前言
整个internet中链接了数1以亿记得服务器,个人主机其中大部分网站邮件等服务器都使用域名形式如www.baidu.com,很显然这种地址相比较于IP地址更加直观,而且容易记住。
一、DNS系统的作用
1.域名解析
DNS系统在网络中的作用就是文虎地址数据库,其中记录了各种主机域名与IP地址的对应关系,以便客户程序提供正向或反向地址查询服务。
正向解析:根据域名查找对应的IP地址
反向解析:根据IP地址查找对应的域名
2.DNS分布式数据结构
域名结构如下图所示,最上到下依次为根域、顶级域、二级域和主机名。如:www.baidu.com,其实完整的地址是www.baidu.com.,其中最后一个“.”表示根域,“com” 表示顶级域,“baidu”表示二级域,“www”表示主机名。对于www.sina.com.cn.域名,“www”为主机名,“sina”为二级域名,“com.cn”为顶级域名,“.”为根域
全世界只有13台IPv4根域名服务器。1个为主根服务器在美国。其余12个均为辅根服务器,其中9台在美国,欧洲2个,位于英国和瑞典,亚洲1个位于日本。
顶级域可按类型和地区来分,如类型中“.edu”表示教育类,“.com”表示商业类;按区域中“.cn”表示中国
3.DNS查询方式
递归查询:客户机向dns服务器发送请求,DNS服务器会使用一个准确的查询结果回复给客户机,如果DNS服务器本地没有储存查询的DNS信息(缓存的信息保存在hosts文件中),那么它会查询其他的DNS服务器,并将查询结果提交给客户机。所以,客户机只接触了一次DNS服务器。
迭代查询:客户机向dns服务器发送请求,如果该服务器本地没有储存查询的DNS信息,那么它会告诉客户机另一台DNS服务器的地址,客户机在向这台DNS服务器查询DNS信息,依次循环直到返回结果。所以,客户机可能接触多个DNS服务器。
二、DNS的类型
DNS系统类型分为:缓存域名服务器、主域名服务器和从域名服务器。
1.缓存域名服务器
缓存域名服务器也称DNS高速缓存服务器,通过向其他域名服务器查询获得域名与IP地址的对应关系记录,将域名查询结果缓存到本地,提高重复查询时的速度。
2.主域名服务器
主域名服务器是特定DNS区域的权威服务器,具有唯一性;负责维护该区域内所有的域名与IP地址的映射记录;需要自行建立所负责区域的地址数据文件
3.从域名服务器
从域名服务器也叫辅助域名服务器,是对主域名服务器的热备份;其维护的域名与IP地址记录来源主域名服务器;需要从主域名服务器自动同步区域地址数据库
三、使用BIND构建域名服务器
BIND是应用最广泛的DNS服务程序。有许多相关软件依赖包,其中bind-utils是提供host工具,用在本地DNS服务自检。
1.安装软件
安装BIND
[root@localhost ~]#yum install -y bind
[root@localhost ~]# rpm -q bind
bind-9.11.4-26.P2.el7_9.5.x86_64
2.启动服务修改全局配置文件
[root@localhost ~]# systemctl status named
● named.service - Berkeley Internet Name Domain (DNS)
Loaded: loaded (/usr/lib/systemd/system/named.service; disabled;
vendor preset: disabled)
Active: inactive (dead)
启动服务成功
[root@localhost ~]# vim /etc/named.conf
options {
listen-on port 53 { 192.168.0.110; };
修改为现在服务器IP
#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; };
3.修改区域配置文件
zone "benet.com" IN {
type master;
file "benet.com.zone";
allow-update { none; };
4.创建域名解析文件
[root@192 ~]# cd /var/named/
[root@192 named]# cp -p named.localhost benet.com.zone^C
5.配置正向区域文件
$TTL 1D
@ IN SOA benet.com admin.com. (
0 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
NS benet.com
A 192.168.0.110
IN MX 10 mali.benet.com.
www IN A 192.168.0.110
mail IN A 192.168.0.111
ftp IN CNAME www
* IN A 192.168.0.150
~
6.修改DNS服务器0解析文件
修改DNS服务器解析文件
vim /etc/resolv.conf
# Generated by NetworkManager
search www.tendawifi.com
nameserver 192.168.0.110 修改为DNS服务器IP
7.重启服务查看解析数据
systemctl start named
[root@192 named]# vim /etc/resolv.conf
[root@192 named]# nslookup www.benet.com
Server: 192.168.0.110
Address: 192.168.0.110#53
Name: www.benet.com
Address: 192.168.0.110 解析成功