DN S域名解析服务
整个Interne t大家庭中连接了数以亿计的服务器、个人主机其中大部分的网站、邮件
等服务器都使用了域名形式的地址如www.google.com、 mail. 163.com等。很显然这种地址形式要比使用64.233. 189. 147、 202.108.33.74的IP地址形式更加直观而且更容易被用户记
住。
DN S系统在网络中的作用就是维护着一个地址数据库其中记录了各种主机域名与IP
地址的对应关系 以便为客户程序提供正向或反向的地址查询服务 即正向解析与反向解析。
■正向解析根据域名查IP地址 即将指定的域名解析为相对应的IP地址。域名的正向解析是DNS服务器最基本的功能也是最常用的功能。
■反向解析根据IP地址查域名 即将指定的IP地址解析为相对应的域名。域名的反向解析不是很常用只在一些特殊场合才会用到如可用于反垃圾邮件的验证。
实际上每一台DNS服务器都只负责管理一个有限范围一个或几个域 内的主机域名和IP地址的对应关系这些特定的DN S域或IP地址段称为“zo ne” 区域 。根据地址解析
的方向不同 DN S区域相应地分为正向区域包含域名到IP地址的解析记录和反向区域
包含IP地址到域名的解析记录 。
根据所管理的区域地址数据的来源不同 DNS系统可以分为不同的类型。在同一台DNS服务器中相对于不同的区域来说也拥有不同的身份。常见的几种类型如下。
■缓存域名服务器只提供域名解析结果的缓存功能 目的在于提高查询速度和效率但是没有自己控制的区域地址数据。构建缓存域名服务器时必须设置根域或指定其他DNS 服务器作为解析来源。
■主域名服务器维护某一个特定DNS区域的地址数据库对其中的解析记录具有自主控制权是指定区域中唯一存在的权威服务器、官方服务器。构建主域名服务器时需要
自行建立所负责区域的地址数据文件。
■从域名服务器与主域名服务器提供完全相同的DNS解析服务通常用于DNS服务器的热备份。对客户机来说无论使用主域名服务器还是从域名服务器查询的结果都是一
样的。关键区别在于从域名服务器提供的解析结果并不是由自己决定的 而是来自于主域名服务器。构建从域名服务器时需要指定主域名服务器的位置 以便服务器能自动同步区域的地址数据库。
以上所述主、从服务器的角色只是针对某一个特定的DNS区域来说的。例如 同一台
DNS服务器可以是“chinaunix.net”区域的主域名服务器 同时也可以是“cublog.cn”区域的从域名服务器。
一、安装和控制DNS服务器
BIND不是唯一能够提供域名服务的DNS服务程序但它却是应用最为广泛的 BIND
可以运行在大多数Linux/UNIX主机中。其官方站点位于https://www.isc.org/o
1、安装BIND软件
在RHEL6.5系统中系统光盘自带了BIND服务的安装文件主要包括以下几个软件包。
RHEL6开始不提供caching-nameserver这个包了默认的named.conf的功能就是cachingnameserver。
■bind-9.8.2-0. 17.rcl.e16_4.6.x86_64.rpm。
■bind-utils-9.8.2-0.17.rcl.e 16_4.6.x86_64.rpm。
■bind-libs-9.8.2-0.17.rc l.e 16_4.6.x86_64.rp m。
■bind-chroot-9.8.2-0.17.rcl.e 16_4.6.x86_64.rpm。
各软件包的主要作用如下。
■bind提供了域名服务的主要程序及相关文件。
■bind-utils提供了对DNS服务器的测试工具程序如nslookup等。
■bind- 1ibs 提供了bind、 bind-utils需要使用的库函数。
■ bind-chroot 为BIND服务提供一个伪装的根目录将/var/named/chroot/文件夹作为BIND的根目录 以提高安全性。
默认已安装bind-utils和bind-libs所以只需要安装bind和bind-c hroot即可。
[root@localhostServer]#rpm-qa|grep"^bind"//查询是否已安装与BIND相关的软件包bind-
9.8.2-0.17.rcl.e16_4.6.x86_64
bind-c hroo t-9.8.2-0.17.rcl.e 16_4.6.x86_64
bind-1 ibs-9.8.2-0.17.rcl.e16_4.6.x86_64
bind-utils-9.8.2-0.17.rc l.e 16_4.6.x86_64
2、 BIND服务控制
BIND软件包安装完毕以后会自动增加一个名为name d的系统服务通过脚本文件/etc/init.d/named或service工具都可以控制D N S域名服务的运行。例如执行以下操作可以查询named服务的运行状态。
[root@localhost~]#servicename dstatusrndc:ne ither/etc/rndc.co nfn or/etc/rndc.keywa s fo undname d已停
3、 BIND服务的配置文件
使用BIND软件构建域名服务时主要涉及两种类型的配置文件主配置文件和区域数据文件。其中主配置文件用于设置named服务的全局选项、注册区域及访问控制等备种运行参数 区数据文件用于存放某个DNS区域的地址解析记录正向或反向记录 。
①.主配置文件
主配置文件named.conf通常位于/etc/目录下在named.conf文件中主要包括全局配置、区域配置两个部分每一条配置记录的行尾以分号“;”表示结束 以“#”号或者“//”开始
的部分表示注释文字大段注释可以使用“/*„„*/”的格式 。
1).全局配置部分
全局配置参数包括在形如“options{};”的大括号中如可以设置监听的地址和端口、区数据文件存放的目录、允许哪些客户机查询等。
[ro ot@loca lhost~]#cd/var/named/chroot/etc/
[root@localhostetc]#vimnamed.conf
„„ //省略部分参数options{listen-onport53{173.16.16.1 ;}; //监听地址和端口directory "/var/na me d"; //区域数据文件的默认存放位置allow-query{192. 168. 1.0/24;173.16.16.0/24;};//允许使用本DNS服务的网段
};
„„ //省略部分参数
上述配置内容中除了d irec tory项通常会保留以外其他的配置项都可以省略。若不指定listen-on配置项时 name d默认在所有接口的UDP53端口监听服务不指定allow-query配置项时默认会响应所有客户机的查询请求。
2).区域配置部分
区域配置参数使用“zone„„{};”的配置格式一台DNS服务器可以为多个区域提供解析 因此在named.conf文件中也可以有很多个zone配置段。区域类型按照解析方向可分为正向区域、反向区域。
[root@localhostetc]#vimnamed.conf
„„ //省略部分参数zone"benet.com"IN{//正向"benet.com"区域typemaster;//类型为主区域file"benet.com.zone";//区域数据文件为benet.com.zoneallow-trans fer{173.16.16.2;}; //允许下载的从服务器地址
};zone"16.16.173.in-addr.arp a"IN{//反向"173. 16. 16.0/24"区域type maste r;file"173.16.16.arpa";
};
„„ //省略部分参数
在上述配置内容中有几个地方需要注意。
■每个zone区域都是可选的包括根域、回环域、反向域 具体根据实际需要而定zone配置部分的“IN”关键字也可以省略。
■反向区域的名称由倒序的网络地址和“in-a d dr.arp a”组合而成。例如对于
172.16.1.0/24网段其反向区域名称表示为“1.16.172.in-a d dr.arp a” 。
■file配置项用于指定实际的区域数据文件文件名称由管理员自行设置。
■区域配置中的部分参数如allow-trans fer也可以放在全局配置里。
修改完主配置文件以后可以执行named-checkconf命令对named.conf文件进行语法检查。如果文件中没有语法错误该命令将不给出任何提示反之则会给出相应的提示信息只要根据出错提示修正文件中的错误即可。带“-z”选项的named-checkconf命令还可以尝试加载主配置文件中对应的区域数据库文件并检查该文件是否存在问题。例如 当出现
“„filenotfound”的错误时表示找不到对应的文件。
[root@localhostetc]#named-checkconf-z/etc/named.confzonebenet.com/IN:loadingfrommasterfilebenet.com.zonefailed:filenotfoundzonebe ne t.c om/IN:notloadedduetoerrors.
_default/benet.c om/IN:filenotfound
„„ //省略部分参数
关于named.conf文件中各种配置项的详细说明可以执行"mannamed.conf 查看手册页也可参考配置样本文件/usr/share/doc/bind-9.8.2/sample/etc/named.conf。
②.区域数据配置文件
区域数据配置文件通常位于/var/named/目录下每个区域数据文件对应一个DNS解析区域文件名及内容由该域的管理员自行设置。
根域“.”的区域数据文件比较特殊。 Inte rnet中所有的DN S服务器都使用同一份根区域数据文件其中列出了所有根服务器的域名和IP地址。根区域数据文件可以从国际互联网络信息中心InterNI C的官方网站地址http://ww w.internic.net/下载。
在区域数据文件中主要包括TTL配置项、 SOAStartofAuthority 授权信息开始记录、地址解析记录。文件中的注释信息以分号“ ”开始。
1).TTL配置及SOA记录部分
第一行的TTL配置用于设置默认生存周期 即缓存解析结果的有效时问。 SOA记录部分用于设置区域名称、管理邮箱 以及为从域名服务指定更新参数。
[root@localhost~]#cd/var/named/chroot/var/named/
[root@localhostnamed]#vimbenet.com.zone
$TTL86400;有效解析记录的生存周期
@INSOAbenet.c om. admin.benet.com.(;SOA标记、域名、管理邮箱2011030501;更新序列
号可以是10位以内的整数3H;刷新时间重新下载地址数据的间隔15M;重试延时
下载失败后的重试间隔1W;失效时间超过该时间仍无法下载则放
弃
1D;无效解析记录的生存周期
)
上述配置内容中 时间单位默认为秒也可以使用以下单位:M(分)、 H(时)、W(周)、D(天)。文件中的“@”符号当于“benet.com.” “admin.benet.com.” 表示域管理员的电子邮箱地址由于“@”符号已有其他含义 因此将邮件地址中的“@”用代替 。 SOA记录中的更新序列号用来同步主、从服务器的区域数据 当从服务器判断区域更新时若发现主服务器中的序列号与本地区域数据中的序列号相同则不会进行下载。
2).地址解析记录部分
地址解析记录用来设置DN S区域内的域名、 IP地址映射关系包括正向解析记录和反向解崭记录。反向解析记录只能用在反向区域数据文件中。
[root@localhostnamed]#vimbenet.com.zone
„„ //省略部分参数
@INNSns1.benet.com.
INMX10mail.benet.comns 1 INA58.16.16.203wwwINA173.16.16.1ma ilINA 173.16.16.4ftpINCNAMEwww
上述配置内容中用到以下四种常见的地址解析记录。
■NS域名服务器NameServer 记录当前区域的DNS服务器的主机地址。
■MX邮件交换MailExchange 记录当前区域的邮件服务器的主机地址数字10表示当有多个MX记录时选择邮件服务器的优先级数字越大优先级越低。
■A地址Addre ss 记录正向解析条目。例如 “W W W IN A173.16.16.1”表示或名www.benet.com对应的IP地址是173.16.16.1 。
■CNAME别名CanonicalName 记录某一个正向解析条目的其他名称。例如“ftpINCNAMEwww”表示域名ftp.benet.com是www.benet.com的别名。
其中N S、MX记录行首的“@”符号可以省略默认继承S O A记录行首的@信息 但是必须保留一个空格或Tab制表位。
在反向区域数据文件中不会用到A地址记录而是使用PTR指针Point记录。例如对于反向区域16.16.173.in-a d dr.arp a添加的反向解析记录可以是以下形式。
[root@loca lhostname d]#vim16.16.173.in-addr.arpa
„„ //省略部分参数
1 INPTRwww.benet.com.
4 INPTRmai1.benet.com.
使用PTR记录时第一列中只需要指明对应IP地址的“主机地址”部分即可如“1” 、
“4”等系统在查找地址记录时会自动将当前反向域的网络地址作为前缀。例如上述文件中的“4INPTRmai1.benet.com.” 表示IP地址为173.16.16.4的主机的域名是mail.benet.com. 。
在区域数据配置文件中凡是不以点号".″结尾的主机地址系统在查找地址记录时都会自动将当前的域名作为后缀。例如若当前的DNS域为“benet.com” 则在文件中的主机地址“www”相当于“www.benet.com” 。因此 当使用完整的FQDN地址时务必记得地址末尾的点号“.”不能省略。
修改完区域数据文件以后可以执行named-checkconf命令对该文件进行语法检查。依次指定区域名称、数据文件名作为参数。如果文件中没有语法错误系统将给出“OK”的提示信息。例如若要检查DNS区域benet.com的区域数据文件benet.com.zone可以执行以下操作。
[root@localhost~]#cd/var/named/chroot/var/named/
[root@localhostnamed]#named-checkzonebenet.combenet.com.zonezonebenet.com/IN:loadedseria12011030501
0K
当一台服务器需要同时承载某个DNS区域内的许多个不同的域名时如IDC的虚拟主机服务器、提供个人主页空问的网站服务器等 可以在区域数据文件的最后一行添加泛域名解析记录 即使用“*”以匹配任意主机名。
* INA 173.16.16.173
二、使用BIND构建域名服务器
学习了DNS服务器的相关基础知识、 BIND软件包的安装 以及DNS服务器的配置文件组成、配置格式等。下面分别讲解构建缓存域名服务器、主域名服务器、从域名服务器的基本过程。
1、构建缓存域名服务器
缓存域名服务器通常架设在公司的局域网内主要目的是提高域名解析的速度减少对互联网访问的出口流量。例如在一个小型企业的内部网络如下图中可单独建立一台
或集成在网关主机中缓存域名服务器为备部门的员工计算机提供DNS解析服务。
参考上述网络结构本小节案例使用的基本环境和要求如下所述。
■缓存域名服务器的IP地址为192. 168. 1.5并能够正常访问互联网。
■缓存域名服务器代为处理客户端的DNS解析请求并缓存查询结果。
■局域网内的各PC将首选DNS服务器地址设为192. 168. 1.5。
下面讲解使用BIND构建此缓存域名服务器的基本步骤。
①.建立主配置文件named.conf
若使用范本文件创建named.conf应注意修改或删除默认的监听设置、查询控制 以便能够为局域网段的客户机提供服务。另外 logging、 view配置部分一般用不到可以先注释以避免其干扰。
[root@localhost~]#vim/var/named/chroot/etc/named.confoptions{listen-onport53{192.168. 1 .5;};directory"/var/na me d";dump-file"/var/named/data/cache_dump.db";//设置域名缓存数据库文件位置statistics-file"/va r/named/da ta/named_s tats.txt";//设置状态统计文件位置me mstatis tic s-file"/var/named/data/named_mem_stats.txt";allow-query{192. 168. 1.0/24;} ;recurs io nyes;
};zone"."IN{//正向“.”根区域typehint;//类型为根区域file"name d.ca";//区域数据文件为name d.ca
};
上述配置内容中 dump-file、 statistics-file、 memstatistics-file等配置项用于指定缓存数据库文件、状态统计文件的位置。添加了“zone"."IN{„„};”部分的根区域设置尽管缓存服务器并没有自主控制的区域数据但可以向根服务器进行迭代查询并将最终获得的解析结果反馈给客户。
有时候为了提高解析效率也可以不向根区域查询而是将来自客户端的查询请求转发给国内电信运营商的DNS服务器如北京的202.106.0.20、 202.106.148.1 缓存服务器收到返回的查询结果后再传递给客户端。只要去掉“zone"."IN{„„};”的设置并在全局配
置中正确设置forwarders参数即可实现该功能。
[root@localhostetc]#vimnamed.confoptions{
„„ //省略部分内容forwarders{202. 106.0.20;202. 106. 148. 1 ;} ;
};
②.确认根域的区域数据文件named.ca
根区域的区域数据文件默认位于文件/var/name d/name d.ca中该文件记录了Internet中13台根域服务器的域名和IP地址等相关信息。
③.启动mmed服务
执行“servicename dstart”命令启动named服务并通过netstat命令确认name d服务的端口监听状态。若服务启动失败或发现没有正常监听UDP 53端口可以根据错误提示信息(或者/var/log/messages文件中的日志记录)排除错误然后再重启服务即可。
[root@loca lhostetc]#servicenamedstart
启动named:[确定]
[root@localhostetc]#netstat-anpu|grepnamedudp00192.168.1.5:53 0.0.0.0:* 1 1687/namedudp000.0.0.0:53 0.0.0.0:* 1 1687/named
④.验证缓存域名服务器
在局域网内的客户机中将首选DNS服务器的地址设为192. 168. 1.5.生效后执行“nslookupwww.google.c om”命令对其进行解析验证其是否能够获得该域名对应的IP地址信息。
2、构建主域名服务器
主域名服务器通常架设在Internet环境中提供某一个域或某几个域内的主机名与IP地址的查询服务。为了分担域名查询的压力、提供区域数据的备份有时还会另外架设一台从域名服务器与主域名服务器同时提供服务如下图所示。
参考下图的网络结构将分别介绍主域名服务器、从域名服务器的构建过程。案例使用的基本网络环境和要求如下所述。
■主、从域名服务器均位于Internet中所负责的DNS区域为“bene t.c o m” 。
■主服务器的IP地址为173.16.16.5主机名为nsl.benet.como
■从服务器的IP地址为173.16.16.6主机名为ns2.benet.como
■参考各服务器的地址映射关系为173. 16. 16.0/24网段提供反向解析。
■设置benet.com域的泛域名解析对应的IP地址为173. 16. 16. 1 。
■在benet.com区域中除了NS记录以外提供的解录还包括以下内容。
●网站服务器www.benet.com IP地址为173. 16. 16. 1 。
●邮件服务器mai1.benet.com IP地址为173.16.16.2。
●在线培训服务器study.benet.com IP地址为173.16.16.3。
■客户机将首选、备用DNS服务器分别设为173. 16. 16.5和173.16.16.6使用其中的任何一个服务器.都能够正常查询benet.com区域中的主机地址。
下面首先讲解使用BIND构建主域名服务器的基本步骤。
①.确认本机的网络地址、主机映射、默认DNS服务器地址。
将主域名服务器的IP地址设为173. 16. 16.5、主机名设为ns1.benet.com通过修改网络配置文件的方式进行。另外为了提高域名解析效率建议将两个DNS服务器的地址映射直接写入到/etc/hosts文件中并在/etc/reso lv.co nf文件中指定两个D N S服务器的地址。
[root@localhost~]#tail-2/etc/hosts
173.16.16.5nsl.benet.comnsl
173.16.16.6ns2.benet.comns2
[root@localhost~]#tail-2/etc/resolv.confnameserver173.16.16.5nameserver173.16.16.6
②.建立主配置文件named.confo
新创建的named.conf主配置文件 由于只需要提供benet.com域的正向解析和
173.16.16.0/24网段的反向解析 因此相应地添加这两个区域即可。根区域、回环域等其他配置内容可以省略。
[ro ot@loca lhost~]#cd/var/named/chroot/etc/
[root@localhostetc]#vimnamed.confoptions{directory"/var/na me d";
};zone"benet.com"IN{//正向"benet.com"区域typemaster;//类型为主区域file"benet.c om.zone";//区域数据文件为benet.com.zoneallow-trans fer{173.16.16.6;}; //允许从服务器地址下载正向域数据
};
青云互联怎么样?青云互联是一家成立于2020年6月的主机服务商,致力于为用户提供高性价比稳定快速的主机托管服务,目前提供有美国免费主机、香港主机、香港服务器、美国云服务器,让您的网站高速、稳定运行。美国cn2弹性云主机限时8折起,可选1-20个IP,仅15元/月起,附8折优惠码使用!点击进入:青云互联官方网站地址青云互联优惠码:八折优惠码:ltY8sHMh (续费同价)青云互联活动方案:美国洛杉矶...
前几天有关注到Megalayer云服务器提供商有打算在月底的时候新增新加坡机房,这个是继美国、中国香港、菲律宾之外的第四个机房。也有工单询问到官方,新加坡机房有包括CN2国内优化线路和国际带宽,CN2优化线路应该是和菲律宾差不多的。如果我们追求速度和稳定性的中文业务,建议还是选择CN2优化带宽的香港服务器。这里有要到Megalayer新加坡服务器国际带宽的测试服务器,E3-1230配置20M国际带...
妮妮云的来历妮妮云是 789 陈总 张总 三方共同投资建立的网站 本着“良心 便宜 稳定”的初衷 为小白用户避免被坑妮妮云的市场定位妮妮云主要代理市场稳定速度的云服务器产品,避免新手购买云服务器的时候众多商家不知道如何选择,妮妮云就帮你选择好了产品,无需承担购买风险,不用担心出现被跑路 被诈骗的情况。妮妮云的售后保证妮妮云退款 通过于合作商的友好协商,云服务器提供2天内全额退款,超过2天不退款 物...