Linux下DNS服务器配置的分析和探讨

2014-07-24 16:38田明山
无线互联科技 2014年5期
关键词:配置文件域名IP地址

田明山

摘 要:有关Linux操作系统下的DNS服务器配置的文章很多,但缺乏系统的、全面的、详实的讲解,本文以配合实例的介绍方法从最基本的DNS配置讲起,并深入分析最新的DNS配置技术,同时介绍不同版本Linux的DNS配置的差别。

关键词:Linux操作系统;DNS配置

1 DNS简介

DNS是域名系统的缩写,可实现IP地址与域名的转换,能够使人更方便的访问互联网。Linux环境下实现DNS服务器配置通常是使用Bind来实现的。Bind(Berkeley Internet Name Domain Service)是Linux环境中实现DNS服务的开放源码软件。目前因特网上大多数的DNS服务都是用Bind来构建的。

DNS服务器可以配置成以下3类:⑴主DNS服务器:一个区域内只能有一个主服务器。⑵辅DNS服务器:从主服务器定期下载整个区域数据库,并保存一个该区域的副本,也叫备份服务器,可以有多个。⑶缓存专用服务器:对任何区域没有授权,处理本地请求,跟踪应答并把应答保存到缓存里,只能从缓存里直接响应DNS查询请求,其他的请求被转发到一个授权服务器那里。

2 DNS快速上手配置

本文的配置环境预设为CENTOS6.4,主配置文件是named.conf,其路径为/etc/(早期版本的LINUX中,named.conf的路径为/etc/named/),区域配置文件name.rfc1912.zones包含于named.conf中,其路径也在/etc/,在其最后添加

Zone ”mytest.com” IN { type master;file ”mytest.com. zone”; allow-transfer{ none; }; };

再进入/var/named/目录下,创建:mytest.com.zone,其内容为”www IN A 192.168.0.8”,开启named进程,即可将www.mytest.com解析至192.168.0.8。

【实例】要添加一个域名为“center.mytest.com”,IP地址为192.168.16.177;域名“mail.mytest.com”,IP地址为192.168.16.179则可在hosts文件中添加如下记录。

【步骤1】设置主区域,编辑/etc/name.rfc1912.zones,添加如下代码。

zone “mytest.com" IN{ //主区域名称为mytest.com

type master; //设置区域的类型为master

file “mytest.com.zone”; //设置主区域文件的名称为mytest.com.zone

【步骤2】DNS服务器的区域数据文件一般存放在/var/named/目录下,创建/var/named/mytest.com.zone文件,完成以下配置。

center IN A 192.168.16.177 //设置主机地址A资源记录

mail IN MX 10 192.168.16.179 //设置邮件交换器MX资源记录

反向解析略。

3 DNS高级配置(bind9以上版本acl、view的使用)

许多公司希望DNS对于内网访问和外网(Internet)访问看起来不一样,这种类型的配置称为“分离DNS(Split DNS)”,在bind9以上版本中,可以利用acl和view的配合实现。

ACL(访问控制列表):命名的地址匹配列表。使用访问控制列表可以让配置文件看起来简单而又清晰,众多的地址列表可以转换为有意义的列表名,定义一次可以多处使用,同时也不会使配置文件因为使用大量的IP地址而变得不易读。

ACL语句可以在DNS的主配置文件/etc/named.conf中实现。acl语句的语法为:acl nameofacl { address _list;};

BIND程序中默认定义了4个常用的名称地址匹配列表,他们可以被使用者直接使用,分别是any:所有主机;localhost:本地主机;localnets:本地网络上的所有主机;none:不适用任何主机。

注:acl是DNS主配置文件named.conf中的最顶级语句,不能将其写入其他的语句中,通常在配置文件的最开始就进行acl的定制。

在BIND 9及以上版本中可以使用view语句进行分离DNS的配置。view语句的语法如下:

view nameofview { match-hosts { address_list };

[ view_option; ...]

zone_statement; ...};

其中:match- hosts子句非常重要,它用于标识谁能看到本view,address_list可以利用ACL语句来定义。

需要注意的是,在使用了view语句后,所有的zone语句必须被包含在view语句中,否则将会报错;同时,配置内网的view应该置于外网的view之前。

[参考文献]

[1]葛慧娟.《基于LINUX操作系统的DNS服务器配置》.西安电子科技大学.

[2]余金栋.《基于VMware的DNS服务器仿真实验平台的设计及实现》.数字技术与应用.

猜你喜欢
配置文件域名IP地址
提示用户配置文件错误 这样解决
铁路远动系统几种组网方式IP地址的申请和设置
互不干涉混用Chromium Edge
Combosquatting域名抢注的测量研究
忘记ESXi主机root密码怎么办
IP地址切换器(IPCFG)
如何购买WordPress网站域名及绑定域名
基于SNMP的IP地址管理系统开发与应用
公安网络中IP地址智能管理的研究与思考
打印机设置