Linux 域名解析服务 DNS

什么是DNS

域名系统(Domain Name System缩写DNS,Domain Name被译为域名)是因特网的一项核心服务,它作为可以将域名和IP地址相互映射的一个分布式数据库,能够使人更方便的访问互联网,而不用去记住能够被机器直接读取的IP数串。DNS一种分布式网络目录服务,主要用于域名与 IP 地址的相互转换,以及控制因特网的电子邮件的发送。是Internet上解决网上机器命名的一种系统。就像拜访朋友要先知道别人家怎么走一样,Internet上当一台主机要访问另外一台主机时,必须首先获知其地址,TCP/IP中的IPV4地址是由四段以“.”分开的数字组成,记起来总是不如名字那么方便,所以,就采用了域名系统来管理名字和IP的对应关系。

在域名注册商那里注册了域名之后如何才能看到自己的网站内容,用一个专业术语就叫“域名解析”。

何为域名解析

域名解析是把域名指向网站空间IP,让人们通过注册的域名可以方便地访问到网站的一种服务。IP地址是网络上标识站点的数字地址,为了方便记忆,采用域名来代替IP地址标识站点地址。域名解析就是域名到IP地址的转换过程。域名的解析工作由DNS服务器完成。

域名解析也叫域名指向、服务器设置、域名配置以及反向IP登记等等。说得简单点就是将好记的域名解析成IP,服务由DNS服务器完成,是把域名解析到一个IP地址,然后在此IP地址的主机上将一个子目录与域名绑定。

互联网中的地址是数字的IP地址,域名解析的作用主要就是为了便于记忆。

域名是为了方便记忆而专门建立的一套地址转换系统,要访问一台互联网上的服务器,最终还必须通过IP地址来实现,域名解析就是将域名重新转换为IP地址的过程。一个域名对应一个IP地址,一个IP地址可以对应多个域名;所以多个域名可以同时被解析到一个IP地址。域名解析需要由专门的域名解析服务器(DNS)来完成。

解析过程,比如,一个域名为:abc.com,是想看到这个现HTTP服务,如果要访问网站,就要进行解析,首先在域名注册商那里通过专门的DNS服务器解析到一个WEB服务器的一个固定IP上:211.214.1.XXX,然后,通过WEB服务器来接收这个域名,把abc.com这个域名映射到这台服务器上。那么,输入abc.com这个域名就可以实现访问网站内容了.即实现了域名解析的全过程;

人们习惯记忆域名,但机器间互相只认IP地址,域名与IP地址之间是对应的,它们之间的转换工作称为域名解析,域名解析需要由专门的域名解析服务器来完成,整个过程是自动进行的。

域名解析协议(DNS)用来把便于人们记忆的主机域名和电子邮件地址映射为计算机易于识别的IP地址。DNS是一种c/s的结构,客户机就是用户用于查找一个名字对应的地址,而服务器通常用于为别人提供查询服务。

在Linux 操作系统中 DNS 服务工具名称为:bind 

主配置文件为:/etc/named.conf     /etc/named.rfc1912.zones

区域解析库文件:/var/named/ZONE_NAME.zone (需要手动创建)

编辑主配置文件 /etc/named.conf

opitons     定义全局配置选项和缺省值

  • listen-on port 53        服务器用于DNS协议的UDP/TCP端口号,默认为53
  • listen-on-v6 port 53    在IPv6环境下的监听端口为53
  • directory       "/var/named";  服务器的工作目录.
  • dump-file       "/var/named/data/cache_dump.db";    缓存转储位置
  • statistics-file "/var/named/data/named_stats.txt";    记录统计信息的文件,默认为named.stats
  • memstatistics-file "/var/named/data/named_mem_stats.txt";    记录内存使用的统计信息
  • allow-query   { any; }    允许查询的主机,默认只允许本机查询,any 表示允许所有客户机查询. 
  • recursion yes;    是否代表客户机查询其他DNS服务器
  • bindkeys-file "/etc/named.iscdlv.key";    保存密钥的目录.    

include     把其他文件包含到配置文件中  

logging     定义日志写什么,写到哪 

zone         定义一个区域     

hint:表示是互联网中根域名服务器

接下来编辑 /etc/named.rfc1912.zones 

  •     zone 定义一个区域名称为 mytest.com
  •     type  指明为 masters 主服务器
  •     file "mytest.com.zone"    指明解析文件名称(这里使用的是相对路径,因为已经在 /etc/named.conf 全局配置中定义了工作目录为    directory       "/var/named"; )

在 /var/named/ 目录下创建  mytest.com.zone 文件,配置如下

各条目的详细说明

  • $TTL 1D    有效解析的生存周期,单位时间为M(分)、H(时)、W(周)、D(天)。
  • @       IN SOA  www.mytest.com.  root.mytest.com. (    区域授权起始记录,区域文件第一条记录,而且一个区域文件只能有一条
  •                                         0       ; serial    区域传送使用的版本号
  •                                         1D      ; refresh   从服务器去同步主服务器时间间隔
  •                                         1H      ; retry    刷新失败重试时间间隔
  •                                         1W      ; expire    从服务器过期时长
  •                                         3H )    ; minimum    否定答案过期时长
  •         NS      www.mytest.com.    域的授权名称服务器
  •         MX 10   root.mytest.com.    域的邮件交换器,要跟着一个优先级值,越小越高
  • www     IN A    192.168.10.2       IN表示Internet  A 代表IPV4主机地址
  • web     IN A    192.168.10.2
  • root    IN A    192.168.10.2
  • *       IN A    192.168.10.2
  • ftp     IN CNAME   www     定义别名记录
  • 1       IN PTR  web1.mytest.com.
  • 2       IN PTR  web2.mytest.com.

启动 DNS 服务,使用 named-checkconf 和 named-checkzone 验证配置文件

dig命令是常用的域名查询工具,可以用来测试域名系统工作是否正常

修改本地DNS设置,指向本机

测试正向解析

  • status: NOERROR 表示查询没有什么错误,Query time 表示查询完成时间
  • SERVER: SERVER: 192.168.10.2#53(192.168.10.2),表示本地 DNS 服务器地址和端口号
  • QUESTION SECTION 表示需要查询的内容,这里需要查询域名的 A 记录
  • ANSWER SECTION 表示查询结果,返回 A 记录的 IP 地址。86400 表示本次查询缓存时间,在 86400 秒本地 DNS 服务器可以直接从缓存返回结果
  • AUTHORITY SECTION 表示从那台 DNS 服务器获取到具体的 A 记录信息。
  • 记住本地 DNS 服务器只是查询,而 AUTHORITY SECTION 返回的服务器是权威 DNS 服务器,由它来维护 mytest.com 的域名信息。返回的 DNS 记录类型是 NS,对应的名称是 www.mytest.com.
  • ADDITIONAL SECTION 表示 NS 服务器对应的 IP 地址,这些 IP 地址对应的服务器安装了 BIND 软件。

测试反向解析(作用不大可以忽略)

测试别名

在其他机器上测试

主从DNS服务器的搭建:

在主服务器的配置文件 /etc/named.conf 中加入一行 allow-transfer { 从服务器IP地址; };,意思是允许转移

在从服务器上安装 BIND 

配置从服务器 /etc/named.conf

编辑从服务器 /etc/named.rfc.1912.zones

  •     type  指明为 slave 从服务器
  •     file "slaves/mytest.com.zone"    指明解析文件存放位置

启动从服务器的 DNS 服务,使用 rndc reload 命令同步解析文件

查看从服务器解析文件内容

开启另外一台虚拟机进行测试,将DNS设置为从服务器

测试正向解析

转发DNS服务器的配置

转发DNS服务器就是当你向一个DNS服务器请求DNS解析时,它把DNS请求转发到了另一个DNS服务器上

在转发服务器端安装 BIND

编辑转发服务器端的 /etc/named.conf  

  •     forwarders  指明转发到哪个服务器

测试转发

智能dns解析

随着原中国电信集团按南北地域分家,新的中国电信和网通集团随即成立,互联网的骨干网也被一分为二了,北有网通、南有电信。从此,细心的网民可以发现,有些经常访问的网站速度一下子慢了下来,有时候还有访问不到的情况出现。例如北方地区的网络用户访问中国网通的服务器会非常快,而访问中国电信的服务器时,感觉非常慢。这种现象不仅影响了网站的访问量,更严重的是它直接影响了一些经营性网站的经济效益。据分析,产生这个问题的根本原因是中国电信分家之后,电信与网通之间的互连存在问题。虽然信息产业部已经在规划南北互通计划,但在今后相当长的一段时期内,南北方网互连的问题还会长期存在。

智能DNS策略解析很好的解决了上面所述的问题。DNS策略解析最基本的功能是可以智能的判断访问您网站的用户,然后根据不同的访问者把您的域名分别解析成不同的IP地址。如访问者是网通用户,DNS策略解析服务器会把你的域名对应的网通IP地址解析给这个访问者。如访问者是电信用户,DNS策略解析服务器会把您域名对应的电信IP地址解析给这个访问者。

编辑 /etc/named.conf 配置文件

检测配置文件

分别创建 /var/named/mytest.com.dx 和 /var/named/mytest.com.wt 文件

检测配置文件并且启动DNS 服务

分别在不同机器上测试

 

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章