DNS域名解析服务
Posted dragonbo
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了DNS域名解析服务相关的知识,希望对你有一定的参考价值。
DNS域名解析
介绍:
DNS(Domain Name Server,域名服务器)是进行域名(domain name)和与之相对应的IP地址 (IP address)转换的服务器。DNS中保存了一张域名(domain name)和与之相对应的IP地址 (IP address)的表,以解析消息的域名。 域名是Internet上某一台计算机或计算机组的名称,用于在数据传输时标识计算机的电子方位(有时也指地理位置)。域名是由一串用点分隔的名字组成的,通常包含组织名,而且始终包括两到三个字母的后缀,以指明组织的类型或该域所在的国家或地区
域名级别:https://baike.baidu.com/item/%E5%9F%9F%E5%90%8D%E7%BA%A7%E5%88%AB/15536218#2
DNS的作用及类型
DNS系统在网络中的作用就是维护一个地址数据库,其中记录了各种主机域名与IP地址的对应关系,以便为客户出现提供正向或反向的地址查询服务,及正向解析与反向解析
正向解析:根据域名查IP地址,即将指定的域名解析为相对应的IP地址。
反向解析:根据IP地址查域名,即将指定的IP地址解析为相对应的域名。
DNS服务器分类:
(1)缓存域名服务器:只提供域名解析结果的缓存功能,目的在于提高查询速度和效率,但是没有自己控制的区域地址数据
(2)主域名服务器:维护某一个特定DNS区域的地址数据库,对其中的解析记录具有自主控制权,是指定区域中唯一存在的权威服务器、官方服务器
(3)从域名服务器:与主域名服务器提供完全相同的DNS解析服务,通常用与DNS服务器的热备份。
Linux里提供DNS服务的软件BIND
安装BIND
配置yum源
1 [Server] 2 name=okok 3 baseurl=file:///mnt/cdrom //本地安装指定光盘的本地位置 4 enable=1 5 gpgcheck=0
安装并使用rpm工具查看是否安装成功
[root@localhost ~]# yum -y install bind rpm查看 [root@localhost ~]# rpm -qa bind* bind-libs-lite-9.11.4-9.P2.el7.x86_64 bind-utils-9.11.4-9.P2.el7.x86_64 bind-libs-9.11.4-9.P2.el7.x86_64 bind-9.11.4-9.P2.el7.x86_64 bind-export-libs-9.11.4-9.P2.el7.x86_64 bind-license-9.11.4-9.P2.el7.noarch
bind安装完毕之后会自动添加一个名为named的服务,通过配置它来实现DNS解析
主配置文件/etc/named.conf
区域配置文件默认在/var/named下自行创建
编辑主配置文件vim /etc/named.conf
1.全局配置部分:
listen-on port 53 { 192.168.234.50; }; //本地监听地址和端口 #listen-on-v6 port 53 { ::1; }; //IPv6监听注释掉就行 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 { localhost; }; //都允许谁通过我解析域名
区域配置部分:
zone "benet.com" IN { //正向“benet.com”区域 type master; //类型为主区域 file "benet.com.zone"; //区域数据文件为benet.com.zone allow-transfer { 192.168.234.100 }; //允许下载的从服务器地址(也可以写在全局配置里) }; zone "234.168.192.in-addr.arpa" IN { //反向192.168.234.0/24 区域(ip的网络位) type master; file "234.168.192.arpa"; //区域数据文件为234.168.192.arpa };
在修改完主配置文件后,可以使用下面的命令进行语法检查(没有语法错误,没有任何提示)
[root@localhost ~]# named-checkconf /etc/named.conf
2.区域数据配置文件
在/var/named下创建file后的同名文件
正向区域:
vim /var/named/benet.com.zone
$TTL 86400 //有效解析记录的生存周期 @ IN SOA benet.com. rooot.benet.com.( //SOA标记、域名、管理邮箱 9 ; //更新序列号,可以是10以内的整数 3H ; //刷新时间,重新下载地址数据的间隔 15M ; //重试时间,下载失败后的重试间隔 1W ; //失效时间,超过改时间仍无法下载则放弃 1D) ; //无效解析记录的生存周期 @ IN NS ns1.benet.com. //(Name Server,域名服务器);记录当前区域的DNS服务器的主机地址 IN MX 10 mail.benet.com. //MX(Mail Exchange,邮件交换);记录当前区域的邮件服务器的主机地址,数字10表示(当有多个MX记录时)选择邮件服务器的优先级,数字越大,优先级越低 ns1 IN A 11.111.111.11 //A(Address,地址)记录正向解析条目 www IN A 192.168.234.50 mail IN A 192.168.234.20 werfgkljfjg IN A 123.123.123.123 ftp IN CNAME werfgkljfjg //CNAME(Canonical Name,别名);记录一个正向解析条目的其他名称
使用下面的命令对区域数据文件进行语法检查,没有错误将给出OK的提示(正向区域里的IP如果和本机的IP没有在同一个网络位,那么就不能正确提供反向解析)
[root@localhost ~]# named-checkzone benet.com /var/named/benet.com.zone zone benet.com/IN: loaded serial 9 OK
反向区域:
vim /var/named/234.168.192.arpa
$TTL 86400 @ IN SOA benet.com. rooot.benet.com.( 9 ; 3H ; 15M ; 1W ; 1D) ; IN NS ns1.benet.com. 11 IN PTR ns1.benet.com. 50 IN PTR www.benet.com. 20 IN PTR mail.benet.com. 123 IN PTR werfgkljfjg.benet.com.
在反向区域数据文件中,不会用到A记录,而是使用PTR指针(Point)记录。
使用PTR记录时,第一列只需要指明对应IP的“主机地址”部分即可,如50或20等。系统在查找地址记录时会自动将当前反向区域的网络地址作为前缀。
例如:50 IN PTR www.benet.com. 表示IP地址为192.168.234.50的主机的域名是www.benet.com
验证:使用nslookup验证(使用Windows或Linux都行,不管用谁dns都得指向dns主机的IP(Linux /etc/resolv.conf 里添加 nameserver dnsIP))
[root@localhost slaves]# nslookup www.benet.com Server: 192.168.234.50 Address: 192.168.234.50#53 Name: www.benet.com Address: 192.168.234.50 [root@localhost slaves]# nslookup ftp.benet.com Server: 192.168.234.50 Address: 192.168.234.50#53 ftp.benet.com canonical name = werfgkljfjg.benet.com. Name: werfgkljfjg.benet.com Address: 123.123.123.123
构建从域名服务器
依托于上面的主域名服务器
新起一台机器安装上BIND软件
vim /etc/named.conf
全局配置段不用修改
zone "benet.com" IN { type slave; //类型为从区域 masters { 192.168.234.50; }; //指向主DNS服务器IP file "slaves/benet.com.zone"; //下载的区域文件保存到slaves/目录 }; zone "234.168.192.in-addr.arpa" IN { type slave; masters { 192.168.234.50; }; file "slaves/234.168.192.arpa"; };
验证:把首选DNS指向从域名服务器,看效果
以上是关于DNS域名解析服务的主要内容,如果未能解决你的问题,请参考以下文章
DNS分离解析和智能解析 1构建DNS域名服务器的分离解析 DNS分离解析域名服务器概述 DNS分离解析域名服务器实际也是主域名DNS服务器,这里所说的分离解